Вход Регистрация
Файл: InstantSocial/uploud/components/reklama/frontend.php
Строк: 599
<?php
function reklama(){

    
$inCore = cmsCore::getInstance();
    
$inPage = cmsPage::getInstance();
    
$inDB   = cmsDatabase::getInstance();
    
$inUser = cmsUser::getInstance();
    global 
$_CFG;

    
$inCore->loadModel('reklama');
    
$model = new cms_model_reklama();

    
define('IS_BILLING', $inCore->isComponentInstalled('billing'));
    if (
IS_BILLING) { $inCore->loadClass('billing'); }

    global 
$_LANG;

    
$id = $inCore->request('id', 'int', 0);
    
$do = $inCore->request('do', 'str', 'view');

    
$inPage->addHeadCSS('templates/'.$_CFG['template'].'/css/modconfig.css');
    
$inPage->addHeadCSS('templates/'.$_CFG['template'].'/css/nyromodal.css');
    
$inPage->addHeadJS('templates/'.$_CFG['template'].'/js/nyromodal.js');
    
$config = $model->getConfig();

    if (
$do == 'view'){

        
$head_title = 'Реклама';
        
$config = $model->getConfig();

        
$smarty = $inCore->initSmarty('components', 'com_reklama_view.tpl');
        
$smarty->assign('config', $config);
        
$smarty->assign('size_xy', $config['width']+6);
        
$smarty->assign('folder_number', $config['width']);
        
$smarty->assign('max_text', $model->maxText($config['width']));
        
$smarty->assign('witdh_class', $model->widthClass($config['width']));
        
$smarty->assign('head_title', $head_title);
        
$smarty->assign('is_user', $inUser->id);

        
$smarty->display('com_reklama_view.tpl');


        return;

    }

    if (
$do == 'add'){
        
$inPage->addHeadJS('components/reklama/js/text.js');
        if (
$inUser->id){
        
$config = $model->getConfig();
        
$head_title = 'Новое объявление';
        if (
$_POST){

            
$inCore->includeGraphics();
            
$msg = false;
            if (!empty(
$_REQUEST['text'])) {
                
$text = $_REQUEST['text'];
            } else { 
$msg = true; cmsCore::addSessionMessage('Не указан текст объявления.', 'error'); }
//            if (!empty($_REQUEST['gourl'])) {
                
$gourl = $_REQUEST['gourl'];
//                if(!preg_match("/^(?:http://)?[-0-9a-z._]*.w{2,4}[:0-9]*$/", $gourl)){
//                  $msg = true; cmsCore::addSessionMessage('Не правильно указан URL объявления.', 'error');
//                }

//            } else {
//                $msg = true; cmsCore::addSessionMessage('Не указан URL объявления.', 'error');
//            }
            
$text1      = $_REQUEST['text1'];
            
$max        = $_REQUEST['max'];
            
$day        = $_REQUEST['day'];
            
$sutki      = $_REQUEST['sutki'];
            
$published  = 1;
            
$bannertext = $text.'<br>'.$text1;


            if(
$msg){$inCore->redirect('/reklama/ads.html');}
            
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images/tizers/';

            if (!
is_dir($uploaddir)) { @mkdir($uploaddir); }

            
$realfile = $_FILES['img']['name'];
            
            
$path_parts     = pathinfo($realfile);
            
$ext            = strtolower($path_parts['extension']);

            if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'bmp' || $ext == 'png'){
                
$filename = $realfile;
                
$uploadfile = $uploaddir . $realfile;


                if (@
move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile)) {

                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small80/$filename", 80, 80, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small90/$filename", 90, 90, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small100/$filename", 100, 100, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small110/$filename", 110, 110, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small120/$filename", 120, 120, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/smallcfg/$filename", $config['img_w'], $config['img_h'], 1);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small80/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small90/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small100/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small110/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small120/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/smallcfg/$filename", 0777);

                        
$sql = "INSERT INTO cms_reklama (user_id,
                                                         img,
                                                         max,
                                                         day,
                                                         sutki,
                                                         hity,
                                                         clics,
                                                         pubdate,
                                                         text,
                                                         gourl,
                                                         published,
                                                         bal,
                                                         blocking)
                                VALUES ('
$inUser->id',
                                        '
$filename',
                                        '
$max',
                                        '
$day',
                                        '
$sutki',
                                         0,
                                         0,
                                         NOW(),
                                        '
$bannertext',
                                        '
$gourl',
                                        '
$published',
                                        0,
                                        1)"
;
                        
$inDB->query($sql);
                    
cmsCore::addSessionMessage('Ваше обьявление создано.', 'info');
                    
cmsUser::sendMessage(1, 1, 'Компонент "Реклама". Принято обьявление на модерацию.');
                } else { 
cmsCore::addSessionMessage('Ошибка загрузки, картинка обьявления не загружена!', 'error'); }
            } else {
                
cmsCore::addSessionMessage('Формат файла не поддерживается. Допустимые форматы (jpg, jpeg, gif, bmp, png).', 'error');

            }



            
$sql = "SELECT * FROM cms_reklama_balans WHERE user_id = {$inUser->id}";
            
$result = $model->inDB->query($sql);
            if (!
$model->inDB->num_rows($result)){
                if(
$config['poochrenie']){
                    
$model->inDB->query("INSERT INTO cms_reklama_balans (user_id, balans) VALUES ({$inUser->id}, '{$config['poochrenie']}')");
                    
$last_id = $model->lastId();
                    
$model->inDB->query("UPDATE cms_reklama SET bal=1 WHERE id=$last_id");
                    
cmsCore::addSessionMessage('Система начислила Вам '.$config['poochrenie'].' пробных показов', 'info');
                }else{
                    
$model->inDB->query("INSERT INTO cms_reklama_balans (user_id, balans) VALUES ({$inUser->id}, 0)");
                }
            }else{
            
$usbal = $inDB->fetch_assoc($result);
                if(
$usbal['balans'] > 0){
                    
$model->inDB->query("UPDATE cms_reklama SET bal = 1 WHERE user_id = {$inUser->id}");
                }
            }
            
$inCore->redirect('/reklama/ads.html');
        }

        
        
$smarty = $inCore->initSmarty('components', 'com_reklama_add.tpl');

        
$smarty->assign('head_title', $head_title);
        
$smarty->assign('size_xy', $config['width']+6);
        
$smarty->assign('witdh_class', $model->widthClass($config['width']));
        
$smarty->assign('folder_number', $config['width']);
        
$smarty->assign('max_text', $config['simbols']);
        
$smarty->assign('messages', cmsCore::getSessionMessages());
        
$smarty->assign('moybalans', $model->getBalans($inUser->id));

        
$smarty->display('com_reklama_add.tpl');

         } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }

        return;

    }
    if (
$do == 'edititem'){
        
$inPage->addHeadJS('components/reklama/js/text.js');
        if (
$inUser->id){
        
$config = $model->getConfig();
        
$item = $model->getItem($id, $inUser->id);
        
$head_title = 'Редактирование';

        
$texts = explode("<br>", $item['text']);


        if (
$_POST){

            
$inCore->includeGraphics();
            
$msg = false;
            if (!empty(
$_REQUEST['text'])) {
                
$text = $_REQUEST['text'];
            } else { 
$msg = true; cmsCore::addSessionMessage('Не указан текст объявления.', 'error'); }
            if (!empty(
$_REQUEST['gourl'])) {
                
$gourl = $_REQUEST['gourl'];
                if(!
preg_match("#http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*'%$]*.(html?|php|pl|cgi|ru)#i", $gourl)){
                  
$msg = true; cmsCore::addSessionMessage('Не правильно указан URL объявления.', 'error');
                }

            } else {
                
$msg = true; cmsCore::addSessionMessage('Не указан URL объявления.', 'error');
            }
            
$text1      = $_REQUEST['text1'];
            
$max        = $_REQUEST['max'];
            
$day        = $_REQUEST['day'];
            
$sutki      = $_REQUEST['sutki'];
            
$bannertext = $text.'<br>'.$text1;

            if(
$msg){$inCore->redirect('/reklama/ads.html');}


            
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/images/tizers/';
            if (!
is_dir($uploaddir)) { @mkdir($uploaddir); }

            
$realfile = $_FILES['img']['name'];
            
$path_parts     = pathinfo($realfile);
            
$ext            = strtolower($path_parts['extension']);


                
$filename = $realfile;
                
$uploadfile = $uploaddir . $realfile;
                
$img = '';
                if (
$_FILES['img']['size'] > 0){
                    if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'bmp' || $ext == 'png'){
                    @
move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small80/$filename", 80, 80, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small90/$filename", 90, 90, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small100/$filename", 100, 100, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small110/$filename", 110, 110, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/small120/$filename", 120, 120, 1);
                    @
img_resize($_SERVER['DOCUMENT_ROOT']."/images/tizers/$filename", $_SERVER['DOCUMENT_ROOT']."/images/tizers/smallcfg/$filename", $config['img_w'], $config['img_h'], 1);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small80/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small90/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small100/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small110/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/small120/$filename", 0777);
                    @
chmod($_SERVER['DOCUMENT_ROOT']."/images/tizers/smallcfg/$filename", 0777);
                    
$img = $filename;
                    } else {
                       
$msg = true; cmsCore::addSessionMessage('Формат файла не поддерживается. Допустимые форматы (jpg, jpeg, gif, bmp, png).', 'error');
                    }
                }else{
                    
$img = $item['img'];
                }


            if (!
$msg){

            
$sql = "UPDATE cms_reklama SET
                        img='
{$img}',
                        max='
{$max}',
                        day='
{$day}',
                        sutki='
{$sutki}',
                        text='
{$bannertext}',
                        gourl='
{$gourl}',
                        blocking=1 WHERE id=
$id LIMIT 1";

                    
$inDB->query($sql);
            
$itempro = $model->getItem($id, $inUser->id);
            if (
$itempro['hity'] >= $itempro['max']){
                 
$inDB->query("UPDATE cms_reklama SET maxlimit = 1 WHERE id = {$id}");
             }else{
                 
$inDB->query("UPDATE cms_reklama SET maxlimit = 0 WHERE id = {$id}");
             }

            
$datehit = date('Y-m-d');
             
$sql = "SELECT hity FROM cms_reklama_hits WHERE reklama_id = {$id} AND hitdate = '{$datehit}'";
             
$result = $inDB->query($sql);
             
$hit = $inDB->fetch_assoc($result);
             if(
$itempro['day'] == 0){
                 
$inDB->query("UPDATE cms_reklama SET daylimit = 0 WHERE id = {$id}");
             }else{
                 if (
$hit['hity'] >= $itempro['day']){
                     
$inDB->query("UPDATE cms_reklama SET daylimit = 1 WHERE id = {$id}");
                 }else{
                     
$inDB->query("UPDATE cms_reklama SET daylimit = 0 WHERE id = {$id}");
                 }
             }

            
cmsCore::addSessionMessage('Ваше обьявление отредактировано.', 'info');
            
cmsUser::sendMessage(1, 1, 'Компонент "Реклама". Принято обьявление на модерацию.');
            }
            
$inCore->redirect('/reklama/ads.html');
        }


        
$smarty = $inCore->initSmarty('components', 'com_reklama_edit.tpl');
        
$smarty->assign('head_title', $head_title);
        
$smarty->assign('item', $item);
        
$smarty->assign('size_xy', $config['width']+6);
        
$smarty->assign('folder_number', $config['width']);
        
$smarty->assign('max_text', $model->maxText($config['width']));
        
$smarty->assign('witdh_class', $model->widthClass($config['width']));
        
$smarty->assign('text1', $texts[0]);
        
$smarty->assign('text2', $texts[1]);
        
$smarty->assign('messages', cmsCore::getSessionMessages());
        
$smarty->assign('moybalans', $model->getBalans($inUser->id));

        
$smarty->display('com_reklama_edit.tpl');


         } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }
    }

    if (
$do == 'ads'){
         if (
$inUser->id){

        
$head_title = 'Мои обьявления';

             
$itemid = $_POST['itemid'];

             if (
$_POST['vikluchit']){
                 
$model->inDB->query("UPDATE cms_reklama SET published = 0 WHERE id = $itemid");
             }
             if (
$_POST['vkluchit']){
                 
$model->inDB->query("UPDATE cms_reklama SET published = 1 WHERE id = $itemid");
             }
             if (
$_POST['delete']){
                 
$model->inDB->query("DELETE FROM cms_reklama WHERE id = $itemid");
                 
$model->inDB->query("DELETE FROM cms_reklama_hits WHERE reklama_id = $itemid");
             }


             
$sql = "SELECT * FROM cms_reklama WHERE user_id = '$inUser->id'";
             
$result = $model->inDB->query($sql);
                     if (
$model->inDB->num_rows($result)){
                        while(
$item = $model->inDB->fetch_assoc($result)){

                            
$item['vsego_hity']  = $item['hity'];
                            
$item['vsego_click'] = $item['clics'];
                            
$item['vsego_ctr'] = round((($item['clics']/$item['hity']) * 100), 2).'%';
                            
$item['seg_hity'] = $model->segHits($item['id']);
                            
$item['seg_click'] = $model->segClick($item['id']);
                            
$item['seg_ctr'] = round((($item['seg_click']/$item['seg_hity']) * 100), 2).'%';

                            
$item['vchera_hity'] = $model->vcheraHits($item['id']);
                            
$item['vchera_click'] = $model->vcheraClick($item['id']);
                            
$item['vchera_ctr'] = round((($item['vchera_click']/$item['vchera_hity']) * 100), 2).'%';

                            
$items[] = $item;
                        }
                     }
             foreach(
$items as $item){}

        
$smarty = $inCore->initSmarty('components', 'com_reklama_ads.tpl');

        
$smarty->assign('head_title', $head_title);
        
$smarty->assign('items', $items);
        
$smarty->assign('size_xy', $config['width']+6);
        
$smarty->assign('folder_number', $config['width']);
        
$smarty->assign('witdh_class', $model->widthClass($config['width']));
        
$smarty->assign('messages', cmsCore::getSessionMessages());
        
$smarty->assign('moybalans', $model->getBalans($inUser->id));

        
$smarty->display('com_reklama_ads.tpl');


        } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }

        return;

    }


    if (
$do=='click'){

        
$banner_id = $inCore->request('id', 'int', 0);

        if (!
$banner_id) { $inCore->halt(); }

        
$banner     = $model->getBanner($banner_id);

        if (
$banner){
            
$model->clickBanner($banner_id);
            
$inCore->redirect($banner['gourl']);
        } else {
            
$inCore->halt('BANNER NOT FOUND');
        }

    }

    if (
$do=='statistic'){


        include_once 
'graph/open_flash_chart_object.php';
        
$baseURL = "http://".$_SERVER['HTTP_HOST'].'/graph/';
        
open_flash_chart_object( 800, 500, $baseURL.'chart-data.php?id='.$id, false, $baseURL );

        
$inCore->halt();

    }

    if (
$do=='balans'){
    if (
$inUser->id){

        
$head_title = 'Мой баланс';

        
$sql = "SELECT * FROM cms_reklama_balans WHERE user_id = {$inUser->id}";
        
$result = $model->inDB->query($sql);
                     if (!
$model->inDB->num_rows($result)){
                         
$model->inDB->query("INSERT INTO cms_reklama_balans (user_id, balans) VALUES ({$inUser->id}, 0)");
                     }else{
                         
$balans = $model->getBalans($inUser->id);
                     }
        if (
IS_BILLING) {
        
$price_bill = cmsBilling::getAction('reklama', 'add_pokazi');
                      foreach(
$price_bill['point_cost'] as $key=>$price){
                          if(
$inUser->group_id == $key){
                          
$price_billing = $price;
                          }
                      }
        }
        
$smarty = $inCore->initSmarty('components', 'com_reklama_balans.tpl');

        
$smarty->assign('head_title', $head_title);
        
$config = $model->getConfig();
        
$smarty->assign('config', $config);
        
$smarty->assign('price_billing', $price_billing);
        
$smarty->assign('balans', $balans);
        
$smarty->assign('moybalans', $model->getBalans($inUser->id));

        
$smarty->display('com_reklama_balans.tpl');


    } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

    }

    }
    if (
$do=='billing'){

        if (
$inUser->id){
        
$user_balans = cmsBilling::getBalance($inUser->id);

        
$pokazi = $inCore->request('pokazi', 'str');

        if(
$pokazi > 0){
              
$price_bill = cmsBilling::getAction('reklama', 'add_pokazi');
              foreach(
$price_bill['point_cost'] as $key=>$price){
                  if(
$inUser->group_id == $key){
                  
$price_billing = $price;
                  }
              }
              
$summ = $price_billing * $pokazi;

              if(
$user_balans < $summ){
                  echo 
'<h1 class="con_heading">Произошла ошибка при оплате!</h1>';
                  echo 
'Не достаточно средств на баллансе! <br>';
                  echo 
'<input type="submit" value="Пополнить баланс" onclick="location.href='/billing'">';
                  echo 
'<input type="submit" value="Продолжить &#187;" onclick="location.href='/reklama'">';
                  
$success = false;
              }else{

                  
$success = true;
              }
        }else{
            echo 
'<h1 class="con_heading">Произошла ошибка при оплате!</h1>';
            echo 
'Сума указана не верно! <br>';
            echo 
'<input type="submit" value="Продолжить &#187;" onclick="location.href='/reklama'">';
            
$success = false;
        }


              if (
$success){

                  if (
IS_BILLING) {
                      
cmsBilling::process('reklama', 'add_pokazi', $summ);
                  }
                  
$points = $pokazi * 1000;
                   
$bal = $model->inDB->get_field('cms_reklama_balans', 'user_id = '.$inUser->id, 'balans');
                   
$balans = $bal + $points;
                   
$model->inDB->query("UPDATE cms_reklama_balans SET balans={$balans} WHERE user_id = {$inUser->id}");
                   
$model->inDB->query("UPDATE cms_reklama SET bal = 1 WHERE user_id = {$inUser->id}");

              echo 
'<h1 class="con_heading">Оплата произведена успешно</h1>';
              echo 
'С вшего баланса списано '.$summ.' баллов. <br>';
              echo 
'Вам начислено '.$points.' показов. <br>';
              echo 
'<input type="submit" value="Продолжить &#187;" onclick="location.href='/reklama'">';
              }
        } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }


        }

    if(
$do == 'webmoney'){
        if (
$inUser->id){

            
$config = $model->getConfig();

            
$type_mw = $inCore->request('type_wm', 'str');
            
$pokazi = $inCore->request('pokazi', 'int');

            
$kurs = $config[$type_mw];
            
$summ = $pokazi*$config['price'];
            
$summ_pokazi =  $pokazi*1000;
            if(
$type_mw == 'wm_kurs_z'){
                
$pay_purse = $config['wmz'];
                
$summa = round($summ/$kurs, 2);
                
$type_summ = 'WMZ';
            }elseif(
$type_mw == 'wm_kurs_u'){
                
$pay_purse = $config['wmu'];
                
$summa = round($summ/$kurs, 2);
                
$type_summ = 'WMU';
            }elseif(
$type_mw == 'wm_kurs_r'){
                
$pay_purse = $config['wmr'];
                
$summa = round($summ*$kurs, 2);
                
$type_summ = 'WMR';
            }
            
$summa = str_replace(',','.',$summa);
            
$reklama_pay['user_id'] = $inUser->id;
            
$reklama_pay['secret_key'] = md5(session_id());
            
$reklama_pay['summ'] = $summa;
            
$reklama_pay['purse'] = $pay_purse;
            
$reklama_pay['type_wm'] = $type_mw;
            
$reklama_pay['pokazi'] = $summ_pokazi;

            
$model->deleteExpiredReklamaPay(session_id());

            
$reklama_pay['id'] = $model->addReklamaPay($reklama_pay);

            
$numberpay = $reklama_pay['id'];

            echo 
'<h1 class="con_heading">Покупка показов с помощью Webmoney</h1>';
            if (!
$summa){ echo'<div style="color:red;">Не выбрано количество показов! <input name="back" type="button" id="back" value="Назад" onclick="window.history.back();"/></div>'; return;}
            echo 
'Подтверждение оплаты рекламных показов на сумму <strong>'.$summa.' '.$type_summ.'</strong>';

            echo
'<form method="POST" action="'.$config['url_pay'].'">
                      <input type="hidden" name="LMI_PAYMENT_AMOUNT" value="'
.$summa.'">
                      <input type="hidden" name="LMI_PAYMENT_DESC" value="Пополнение баланса показов рекламы">
                      <input type="hidden" name="LMI_PAYMENT_NO" value="'
.$numberpay.'">
                      <input type="hidden" name="LMI_PAYEE_PURSE" value="'
.$pay_purse.'">
                      <input type="hidden" name="LMI_SIM_MODE" value="'
.$config['sim_mode'].'">
                      <input type="hidden" name="user_id" value="'
.$inUser->id.'">
                      <input type="hidden" name="secr" value="'
.$reklama_pay['secret_key'].'" />
                      <input type="submit" value="Пополнить">
                </form>'
;


        } else {

        echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }
    }

    if(
$do == 'webmoney_result'){

        
$reklama_pay = $model->getReklamaPay($_POST['LMI_PAYMENT_NO']);

        if(
$_POST['LMI_PREREQUEST']==1) {

        if(!
$reklama_pay['id'] or $reklama_pay['id']=="") {
            
$err=1;
            echo 
"ERR: НЕТ ТАКОГО ТОВАРА";
            exit;
        }

        if(
trim($reklama_pay['summ'])!=trim($_POST['LMI_PAYMENT_AMOUNT'])) {
            
$err=1;
            echo 
"ERR: НЕВЕРНАЯ СУММА ".$_POST['LMI_PAYMENT_AMOUNT'];
            exit;
        }

        if(
trim($_POST['LMI_PAYEE_PURSE'])!=$reklama_pay['purse']) {
            
$err=1;
            echo 
"ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE'];
            exit;
        }

        if(!
$err)
            echo 
"YES";
        }else{
          
$config = $model->getConfig();

          
$secret_key = $config['secret_key'];
          
// Склеиваем строку параметров
          
$common_string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].
             
$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].
             
$_POST['LMI_SYS_TRANS_DATE'].$secret_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
          
// Шифруем полученную строку в MD5 и переводим ее в верхний регистр
          
$hash = strtoupper(md5($common_string));
          
// Прерываем работу скрипта, если контрольные суммы не совпадают
          
if($hash!=$_POST['LMI_HASH']) return 'ERR: Контрольные суммы не совпали';

           
$bal     = $inDB->get_field('cms_reklama_balans', 'user_id = '.$reklama_pay['user_id'], 'balans');
           
$kurs = $config[$reklama_pay['type_wm']];
           
$summ = $_POST['LMI_PAYMENT_AMOUNT'];
           if(
$reklama_pay['type_wm'] == 'wm_kurs_z'){
               
$type = 'Webmoney Z';
               
$summa = round($summ*$kurs, 2);
           }elseif(
$reklama_pay['type_wm'] == 'wm_kurs_u'){
               
$type = 'Webmoney U';
               
$summa = round($summ*$kurs, 2);
           }elseif(
$reklama_pay['type_wm'] == 'wm_kurs_r'){
               
$type = 'Webmoney R';
               
$summa = round($summ, 2);
           }


           
$count = $summa/$config['price'];
           
$points = $reklama_pay['pokazi'];
           
$balans = $bal + $points;

           
$model->inDB->query("UPDATE cms_reklama_balans SET balans={$balans} WHERE user_id = {$reklama_pay['user_id']}");
           
$model->inDB->query("UPDATE cms_reklama SET bal = 1 WHERE user_id = {$reklama_pay['user_id']}");
           
$model->inDB->query("INSERT INTO cms_reklama_psys_stat (user_id, pay_sys, price, pubdate) VALUES ({$reklama_pay['user_id']}, '{$type}', {$_POST['LMI_PAYMENT_AMOUNT']}, NOW())");

        }



    }

        if (
$do=='robokassa'){
        if (
$inUser->id){

                        if(
$_POST){
                            
$config = $model->getConfig();
                            
$money = $inCore->request('money', 'str');



                            
$login = $config['mon_login'];
                            
$amount = floatval($money);
                            
$idd = $inUser->id;
                            
$pwd1 = $config['mon_pwd1'];
                            
$signature = md5($login . ":" . $amount . ":" . $idd . ":" . $pwd1);
                            
$inv_desc = $config['mon_desc'];


                            echo 
'<h1 class="con_heading">Покупка показов с помощью Robokassa</h1>';
                            if (
$money<$config['price']){ echo'<div style="color:red;">Не выбрано количество показов! <input name="back" type="button" id="back" value="Назад" onclick="window.history.back();"/></div>'; return;}
                            echo 
'Подтверждение оплаты рекламных показов на сумму <strong>'.$amount.' руб.</strong>';

                            echo 
'<form method="post" action="'.$config['mon_url'].'">';
                            echo 
'<input type="hidden" name="MrchLogin" value="'.$login.'" />';
                            echo 
'<input type="hidden" name="OutSum" value="'.$amount.'" />';
                            echo 
'<input type="hidden" name="InvId" value="'.$idd.'" />';
                            echo 
'<input type="hidden" name="Desc" value="'.$inv_desc.'" />';
                            echo 
'<input type="hidden" name="SignatureValue" value="'.$signature.'" />';

                            echo 
'<input type="submit" value="Подтвердить" />';

                            echo 
'</form>';


                        }
            } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

            }



    }

    if (
$do=='result_robokasa'){

        
$config = $model->getConfig();
        
$id = intval($_POST['InvId']); // получаем номер транзакции
        
$pwd2 = $config['mon_pwd2'];;

        if ( 
strtolower($_POST['SignatureValue']) != strtolower(md5($_POST['OutSum'] . ":" . $id . ":" . $pwd2)) ) {
         
// не совпадает подпись
         
echo "ERR: invalid signature";
         exit();
        }

        
// и если все нормально:
        // принимаем платеж, помечаем у себя в базе его, как выполненный
        // и выводим положительный ответ Робокассе
         
$bal     = $model->inDB->get_field('cms_reklama_balans', 'user_id = '.$id, 'balans');
         
$count = $_POST['OutSum']/$config['price'];
         
$points = 1000 * $count;
         
$balans = $bal + $points;
         
$model->inDB->query("UPDATE cms_reklama_balans SET balans={$balans} WHERE user_id = {$id}");
         
$model->inDB->query("UPDATE cms_reklama SET bal = 1 WHERE user_id = {$id}");
         
$model->inDB->query("INSERT INTO cms_reklama_psys_stat (user_id, pay_sys, price, pubdate) VALUES ({$id}, 'RoboKassa', {$_POST['OutSum']}, NOW())");

        echo 
"OK";
        exit();

    }

    if (
$do == 'pay_success') {
        if (
$inUser->id){

        
$balans = $model->getBalans($inUser->id);

        echo 
'<h1 class="con_heading">Оплата успешо произведена!</h1>';

        echo 
'<div>У вас на балансе <strong>'.$balans['balans'].'</strong> показов</div>';
        } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';

        }
    }

    if (
$do == 'pay_fail') {
        if (
$inUser->id){


        echo 
'<h1 class="con_heading">Произошла ошибка при оплате!</h1>';
        echo 
'<input type="submit" value="Продолжить &#187;" onclick="location.href='/reklama'">';

        } else {

            echo 
'Доступ запрещен! <a href="/login">Авторизуйтесь</a> пожалуйста или <a href="/registration">зарегистрируйтесь</a>.';
        }
    }

}
?>
Онлайн: 1
Реклама