Exemplo n.º 1
0
$binded_to = $freelancer_binds->getBindDateStop($uid, $prof_use, $is_spec);
if ($allow_frl_bind || $binded_to) {
    quickPaymentPopupFrlbind::getInstance()->init(array('prof_id' => $prof_id, 'prof_group_id' => $prof_group_id, 'prof_use' => $prof_use, 'is_spec' => $is_spec, 'ammount' => $freelancer_binds->getPrice($prof_use, $is_spec, (bool) $binded_to, $uid), 'date_stop' => $binded_to, 'autoshow' => $popup == 'bind_prolong', 'addprof' => $is_spec && $freelancer_binds->needAddProf($uid, $prof_use)));
}
$is_bind_first = $freelancer_binds->isBindFirst($uid, $prof_use, $is_spec);
if ($binded_to && !$is_bind_first) {
    quickPaymentPopupFrlbindup::getInstance()->init(array('prof_id' => $prof_use, 'is_spec' => $is_spec, 'ammount' => $freelancer_binds->getPriceUp($prof_use, $is_spec, $uid), 'autoshow' => $popup == 'bind_up'));
}
$is_binded_hide = $binded_to && !$freelancer_binds->isAllowBind($uid, $prof_use, $is_spec, false);
//------------------------------------------------------------------------------
unset($_SESSION['payed_frl_' . md5($_SERVER['REQUEST_URI'])]);
$first_pages = array();
if ($prof_group_id) {
    $first_pages = firstpage::GetAll($prof_group_id, array(), true);
} else {
    $first_pages = firstpage::GetAll($prof_id ?: -1, array());
}
$_SESSION['payed_frl_' . md5($_SERVER['REQUEST_URI'])] = $first_pages ?: array();
$_SESSION['payed_frl_prof_id'] = $prof_group_id ? 0 : ($prof_id ?: -1);
$_SESSION['payed_frl_prof_group_id'] = $prof_group_id;
if ($popup == 'firstpage_prolong') {
    $_SESSION['firstpage_popup'] = 'prolong';
} elseif ($popup == 'firstpage_up') {
    $_SESSION['firstpage_popup'] = 'up';
} else {
    $_SESSION['firstpage_popup'] = '';
}
$header = "../header.php";
$footer = "../footer.html";
$js_file[] = '/css/block/b-text/b-text.js';
$js_file[] = '/css/block/b-popup/b-popup.js';
Exemplo n.º 2
0
}
?>
<p>
Чтобы имитировать окончание Платного размещения используйте такую ссылку beta.free-lance.ru/test/test-payed.php?fflogin=login&attempt=1<br/>
<pre>
fflogin - Логин пользователя которому необходимо автопродление
attempt - Попытка автопродления (1 или 2)
</pre>
</p>
<hr>
<?php 
if ($_GET['fflogin']) {
    if (intval($_GET['attempt']) == 1) {
        firstpage::autoPayedReminder(1, 'days', $_GET['fflogin']);
    } else {
        firstpage::autoPayedReminder(1, 'hour', $_GET['fflogin']);
    }
    echo "<strong style='color:green'>Имитация окончания Платного размещения</strong>";
}
//if ($_GET['firstpage'] == 1) {
//    firstpage::autoPayedReminder($_GET['firstpage'], 'days', true);
//}
//
//if ($_GET['firstpage'] == 1 && isset($_GET['hour'])) {
//    firstpage::autoPayedReminder($_GET['firstpage'], 'hour', true);
//}
//
?>
<!--<p>Чтобы проверить резервы вручную используйте ссылку beta.free-lance.ru/test/test-payed.php?check_reserve=1</p>--><?php 
//
//if ($_GET['check_reserve']) {
Exemplo n.º 3
0
<?php

require_once '../classes/stdf.php';
require_once '../classes/account.php';
require_once '../classes/session.php';
require_once '../classes/firstpage.php';
require_once '../classes/payed.php';
$users = $DB->rows("\n    SELECT\n        DISTINCT from_id, login\n    FROM\n        orders\n    INNER JOIN\n        users ON orders.from_id = users.uid\n    WHERE\n        (from_date <= '2011-05-27 00:00:00') AND (from_date + to_date >= '2011-05-23 00:00:00')\n");
echo "Execute recovery PRO accounts for " . count($users) . " users.\n";
$payed = new payed();
$sess = new session();
foreach ($users as $user) {
    $transaction_id = account::start_transaction($user['from_id']);
    $payed->AdminAddPRO($user['from_id'], $transaction_id, '3 days');
    $session->UpdateProEndingDate($user['login']);
}
$users = $DB->rows("\nSELECT\n\tDISTINCT user_id, profession\nFROM\n\tusers_first_page\nWHERE\n\t(from_date <= '2011-05-27 00:00:00') AND (from_date + to_date >= '2011-05-23 00:00:00')\n");
echo "Execute recovery pay places for " . count($users) . " users.\n";
$fp = new firstpage();
foreach ($users as $user) {
    $transaction_id = account::start_transaction($user['user_id']);
    $fp->AdminAddFP($user['user_id'], $transaction_id, $user['profession'], '3 days');
}
Exemplo n.º 4
0
 /**
  * Вывод страницы /gift/ "Подарок".
  */
 public function giftAction()
 {
     include $_SERVER['DOCUMENT_ROOT'] . '/404.php';
     exit;
     /*
      * @deprecated Все что ниже пока не используется
      */
     front::og('tpl')->page = 'gift';
     self::isBlockMoney();
     /**
      * Подключаем AJAX для страницы.
      */
     require_once $_SERVER['DOCUMENT_ROOT'] . '/xajax/bill.common.php';
     front::og('tpl')->script = '/scripts/bill2.js';
     front::og('tpl')->xajax = $xajax;
     front::og('tpl')->mnth = 1;
     // Месяцев оплаты по умолчанию
     $val = $this->uri[0];
     switch ($val) {
         case 'pro':
             // Вывод подстраницы "Аккаунт «PRO»"
             /*
              * Обработка события "Подарить"
              */
             if ($_POST['act']) {
                 $mnth = intval(trim($_POST['mnth']));
                 // месяцев
                 $login = trim(strip_tags($_POST['login']));
                 // логин пользователя
                 $msg = change_q_x(__paramInit('string', null, 'msg', null, 300));
                 $usertype = trim(strip_tags($_POST['usertype']));
                 /**
                  * Подключаем класс для оплаты подарка.
                  */
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                 $prof = new payed();
                 $tr_id = $_REQUEST['transaction_id'];
                 if (!$tr_id) {
                     $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.');
                 }
                 front::og('tpl')->tr_id = $tr_id;
                 front::og('tpl')->login = $login;
                 front::og('tpl')->msg = $msg;
                 front::og('tpl')->mnth = $mnth;
                 /*
                  * Если нет ошибок выводим
                  */
                 if ($mnth > 0 && $login) {
                     // Класс для работы с пользователем
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
                     $user = new users();
                     $gid = $user->GetUid($error, $login);
                     $user->GetUser($login);
                     if (!$gid) {
                         $alert['login'] = '******';
                     }
                     if ($gid == get_uid()) {
                         $alert['login'] = '******';
                     }
                     if (defined('SPEC_USER') && get_uid() == SPEC_USER) {
                         $alert['login'] = '******';
                     }
                     if (!$alert) {
                         $role = $user->GetRole($login, $error);
                         /*
                          * Высчитываем тариф для обработки. Тариф зависит от количества месяцев (Действуют специальные скидки)
                          */
                         if (substr($role, 0, 1) != '0') {
                             $tarif = 16;
                         } else {
                             $tarif = 52;
                             if ($mnth == 3) {
                                 $tarif = 66;
                             }
                             if ($mnth == 6) {
                                 $tarif = 67;
                             }
                             if ($mnth == 12) {
                                 $tarif = 68;
                             }
                         }
                         $ok = $prof->GiftOrderedTarif($bill_id, $gift_id, $gid, get_uid(), $tr_id, $mnth, $msg, $tarif);
                         // Оплата подарка
                         if ($ok) {
                             // Посылаем уведомление о подарке и переносим на страницу успешной оплаты
                             $sm = new smail();
                             $sm->NewGift($_SESSION['login'], $login, $msg, $gift_id);
                             $_SESSION['success_aid'] = $bill_id;
                             header("Location: /{$this->name_page}/success/");
                             exit;
                         }
                         unset($msg);
                     }
                 } else {
                     $alert['login'] = '******';
                 }
                 front::og('tpl')->error = $alert;
             }
             front::og('tpl')->display('bill/bill_gift_pro.tpl');
             break;
         case 'main':
             // Вывод подстраницы "Платное размещение в разделе"
             front::og('tpl')->type = 1;
             // Типа размещения = неделя
             /*
              * Обработка события "Подарить" - при нажатии кнопки подарить
              */
             if ($_POST['act']) {
                 $type = intval(trim($_POST['type']));
                 // Сколько недель
                 $login = trim(strip_tags($_POST['login']));
                 $msg = change_q_x(__paramInit('string', null, 'msg', null, 300));
                 /**
                  * Класс для обработки оплаты и взаимодействия механизма вывода.
                  */
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php';
                 $prof = new firstpage();
                 $tr_id = $_REQUEST['transaction_id'];
                 if (!$tr_id) {
                     $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.');
                 }
                 front::og('tpl')->tr_id = $tr_id;
                 front::og('tpl')->login = $login;
                 front::og('tpl')->msg = $msg;
                 front::og('tpl')->type = $type;
                 if (!$type) {
                     $alert['type'] = 'Не выбрано количество недель.';
                 } else {
                     $d_time = "{$type} неделя";
                     $intv = "{$type} weeks";
                     if ($login) {
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
                         $user = new users();
                         $gid = $user->GetUid($error, $login);
                         $user->GetUser($login);
                         if (!$gid) {
                             $alert['login'] = '******';
                         }
                         if (is_emp($user->role)) {
                             $alert['login'] = '******';
                         }
                         if ($gid == get_uid()) {
                             $alert['login'] = '******';
                         }
                         if (defined('SPEC_USER') && get_uid() == SPEC_USER) {
                             $alert['login'] = '******';
                         }
                         if (!$alert) {
                             $order_id = $prof->Gift($bill_id, $gift_id, $gid, get_uid(), $tr_id, $intv, 17, $msg, $type);
                             if (!$order_id) {
                                 header('Location: /bill/fail/');
                                 // Если оплата не прошла
                                 exit;
                             } else {
                                 // Уведомление на почту
                                 $sm = new smail();
                                 $sm->NewGift($_SESSION['login'], $login, $msg, $gift_id);
                                 $_SESSION['success_aid'] = $bill_id;
                                 header("Location: /{$this->name_page}/success/");
                                 // Если все прошло успешно переносим на страницу - Успешно
                                 exit;
                             }
                         }
                     } else {
                         $alert['login'] = '******';
                     }
                 }
                 front::og('tpl')->error = $alert;
             }
             front::og('tpl')->display('bill/bill_gift_main.tpl');
             break;
         case 'fronttop':
             // Обработка подстраницы "Платные места наверху главной страницы"
             // Событие нажатия кнопки "Подарить"
             if ($_POST['act']) {
                 $login = trim(strip_tags($_POST['login']));
                 // Логин
                 $msg = change_q_x(__paramInit('string', null, 'msg', null, 300));
                 $tr_id = $_REQUEST['transaction_id'];
                 if (!$tr_id) {
                     $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.');
                 }
                 front::og('tpl')->tr_id = $tr_id;
                 front::og('tpl')->login = $login;
                 front::og('tpl')->msg = $msg;
                 if ($login) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
                     $user = new users();
                     $gid = $user->GetUid($error, $login);
                     $user->GetUser($login);
                     if (is_emp($user->role)) {
                         $alert['login'] = '******';
                     }
                     if ($gid == get_uid()) {
                         $alert['login'] = '******';
                     }
                     if (defined('SPEC_USER') && get_uid() == SPEC_USER) {
                         $alert['login'] = '******';
                     }
                     if (!$gid) {
                         $alert['login'] = '******';
                     }
                     if (!$alert) {
                         /**
                          * Класс для работы с оплатой подарка.
                          */
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pay_place.php';
                         $place = new pay_place();
                         $tarif = 69;
                         $profs = $place->gift($bill_id, $gift_id, $tr_id, $gid, get_uid(), $msg, $tarif);
                         // Оплачиваем подарок
                         if ($profs) {
                             $_SESSION['success_aid'] = $bill_id;
                             header("Location: /{$this->name_page}/success/");
                             // Все прошло успешно
                             exit;
                         }
                     }
                 } else {
                     $alert['login'] = '******';
                 }
                 front::og('tpl')->error = @$alert;
                 // Переменная ошибок
             }
             front::og('tpl')->display('bill/bill_gift_fronttop.tpl');
             break;
         case 'cattop':
             // Обработка подстраницы "Платные места наверху каталога"
             // Событие нажатия кнопки "Подарить"
             if ($_POST['act']) {
                 $login = trim(strip_tags($_POST['login']));
                 // Логин
                 $msg = change_q_x(__paramInit('string', null, 'msg', null, 300));
                 $tr_id = $_REQUEST['transaction_id'];
                 if (!$tr_id) {
                     $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.');
                 }
                 front::og('tpl')->tr_id = $tr_id;
                 front::og('tpl')->login = $login;
                 front::og('tpl')->msg = $msg;
                 if ($login) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
                     $user = new users();
                     $gid = $user->GetUid($error, $login);
                     $user->GetUser($login);
                     if (!$gid) {
                         $alert['login'] = '******';
                     }
                     if (is_emp($user->role)) {
                         $alert['login'] = '******';
                     }
                     if ($gid == get_uid()) {
                         $alert['login'] = '******';
                     }
                     if (defined('SPEC_USER') && get_uid() == SPEC_USER) {
                         $alert['login'] = '******';
                     }
                     if (!$alert) {
                         /**
                          * Класс для работы с оплатой подарка.
                          */
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pay_place.php';
                         $place = new pay_place(1);
                         $tarif = 83;
                         $profs = $place->gift($bill_id, $gift_id, $tr_id, $gid, get_uid(), $msg, $tarif);
                         // Оплачиваем подарок
                         if ($profs) {
                             $_SESSION['success_aid'] = $bill_id;
                             header("Location: /{$this->name_page}/success/");
                             // Все прошло успешно
                             exit;
                         }
                     }
                 } else {
                     $alert['login'] = '******';
                 }
                 front::og('tpl')->error = @$alert;
                 // Переменная ошибок
             }
             front::og('tpl')->display('bill/bill_gift_cattop.tpl');
             break;
         case 'catalog':
             // Обработка подстраницы "Платные места в каталоге в подарок"
             // Событие нажатия кнопки "Подарить"
             front::og('tpl')->filter_categories = professions::GetAllGroupsLite(true);
             front::og('tpl')->filter_subcategories = professions::GetAllProfessions(1);
             $x = new op_codes();
             $x->GetRow(84);
             $top_p = $x->sum;
             $x->GetRow(85);
             $inside_p = $x->sum;
             front::og('tpl')->price_top = $top_p;
             front::og('tpl')->price_inside = $inside_p;
             if ($_POST['act']) {
                 $login = trim(strip_tags($_POST['login']));
                 // Логин
                 $msg = change_q_x(__paramInit('string', null, 'msg', null, 300));
                 $pf_category = __paramInit('int', null, 'pf_category', 0);
                 $pf_subcategory = __paramInit('int', null, 'pf_subcategory', 0);
                 //echo '<pre>'; print_r($_POST); exit('</pre>');
                 $tr_id = $_REQUEST['transaction_id'];
                 if (!$tr_id) {
                     $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.');
                 }
                 front::og('tpl')->tr_id = $tr_id;
                 front::og('tpl')->login = $login;
                 front::og('tpl')->msg = $msg;
                 front::og('tpl')->pf_category = $pf_category;
                 front::og('tpl')->pf_subcategory = $pf_subcategory;
                 if ($login) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
                     $user = new users();
                     $gid = $user->GetUid($error, $login);
                     $user->GetUser($login);
                     if (!$gid) {
                         $alert['login'] = '******';
                     }
                     if (is_emp($user->role)) {
                         $alert['login'] = '******';
                     }
                     if ($gid == get_uid()) {
                         $alert['login'] = '******';
                     }
                     if (defined('SPEC_USER') && get_uid() == SPEC_USER) {
                         $alert['login'] = '******';
                     }
                     $weeks = (int) $_POST['weeks'];
                     if (!$weeks) {
                         $alert['week'] = 'Данное поле является обязательным';
                     }
                     if (!$alert) {
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php';
                         $prof = new firstpage();
                         $pf_category = (int) $_POST['pf_category'];
                         $pf_subcategory = (int) $_POST['pf_subcategory'];
                         $page = !$pf_subcategory ? 0 : $pf_subcategory;
                         $place_info = array($page => $weeks);
                         $op_code = $page ? 85 : 84;
                         //                                                                               require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/account.php");
                         //                                                                                $account = new account();
                         //                                                                                $account ->/ view_error("Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.");
                         $account = new account();
                         if ($prof->GiftOrderedCat($bill_id, $gift_id, $gid, get_uid(), $tr_id, $page, (int) $weeks, $op_code, $msg)) {
                             $_SESSION['success_aid'] = $bill_id;
                             header("Location: /{$this->name_page}/success/");
                             // Все прошло успешно
                             exit;
                         }
                     }
                 } else {
                     $alert['login'] = '******';
                 }
                 front::og('tpl')->error = @$alert;
                 // Переменная ошибок
             }
             front::og('tpl')->display('bill/bill_gift_catalog.tpl');
             break;
         default:
             /*
              * По умолчанию выводим главную страницу раздела "Подарки"
              */
             front::og('tpl')->display('bill/bill_gift.tpl');
             break;
     }
 }
Exemplo n.º 5
0
 /**
  * Начисление неначисленных подарков).
  */
 public function failedGifts()
 {
     $db = new DB('master');
     $sql = 'SELECT * FROM __tmp_failed_gifts WHERE processed = 0 order by billing_id, op_id';
     $res = $db->rows($sql);
     $admin_uid = 103;
     //        $admin_uid = 1;
     foreach ($res as $row) {
         $op_code = $row['op_code'];
         $payment_sys = $row['payment_sys'];
         $trs_sum = $row['trs_sum'];
         $gid = $row['uid'];
         $dep_id = $row['billing_id'];
         $is_emp = $row['is_emp'];
         // акция с Webmoney ---------------------
         if ($op_code == 12) {
             if ($payment_sys == 10 || $payment_sys == 2) {
                 // WMR
                 if (!$is_emp) {
                     // подарок фрилансеру
                     if ($trs_sum >= 2000 && $trs_sum < 5000) {
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                         $payed = new payed();
                         $bill_id = $gift_id = 0;
                         $tr_id = $this->start_transaction($admin_uid);
                         $payed->GiftOrderedTarif($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1', 'Аккаунт PRO в подарок при пополнении счета с помощью WebMoney', 91);
                     } elseif ($trs_sum >= 5000) {
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php';
                         $bill_id = $gift_id = 0;
                         $tr_id = $this->start_transaction($admin_uid);
                         $payed = new firstpage();
                         $payed->GiftOrdered($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1 week', 93, 'Первая страница в подарок при пополнении счета с помощью WebMoney', 'Первая страница в подарок при пополнении счета с помощью WebMoney');
                     }
                 } else {
                     // подарок работодателю
                     if ($trs_sum >= 1000 && $trs_sum < 5000) {
                         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                         $payed = new payed();
                         $bill_id = $gift_id = 0;
                         $tr_id = $this->start_transaction($admin_uid);
                         $payed->GiftOrderedTarif($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1', 'Аккаунт PRO в подарок при пополнении счета с помощью WebMoney', 92);
                     } elseif ($trs_sum >= 5000) {
                         $bill_id = $gift_id = 0;
                         $tr_id = $this->start_transaction($admin_uid);
                         $error = $this->Gift($bill_id, $gift_id, $tr_id, 93, $admin_uid, $gid, 'Платный проект в подарок при пополнении счета с помощью WebMoney', '');
                         if ($error === 0) {
                             // Добавляем подарочное бабло на бонусный счет.
                             $this->depositBonusEx($dep_id, 85, 'Начисление денег на платный проект в подарок', '', 40);
                         }
                     }
                 }
             } else {
                 // WMZ - пока нет
             }
         }
         //акция банк/сбер
         if ($op_code == 12 && ($payment_sys == 4 || $payment_sys == 5)) {
             $_opstr = $payment_sys == 5 ? 'через квитанцию Сбербанка' : 'через безналичный расчет';
             if (!$is_emp) {
                 // подарок фрилансеру
                 if ($trs_sum >= 2000 && $trs_sum < 5000) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                     $_opcode = $payment_sys == 5 ? 95 : 99;
                     $payed = new payed();
                     $bill_id = $gift_id = 0;
                     $tr_id = $this->start_transaction($admin_uid);
                     $payed->GiftOrderedTarif($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1', "Аккаунт PRO в подарок при пополнении счета {$_opstr}", $_opcode);
                 } elseif ($trs_sum >= 5000) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php';
                     $_opcode = $payment_sys == 5 ? 97 : 101;
                     $bill_id = $gift_id = 0;
                     $tr_id = $this->start_transaction($admin_uid);
                     $payed = new firstpage();
                     $payed->GiftOrdered($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1 week', $_opcode, "Первая страница в подарок при пополнении счета {$_opstr}", "Первая страница в подарок при пополнении счета {$_opstr}");
                 }
             } else {
                 // подарок работодателю
                 if ($trs_sum >= 1000 && $trs_sum < 5000) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
                     $_opcode = $payment_sys == 5 ? 96 : 100;
                     $payed = new payed();
                     $bill_id = $gift_id = 0;
                     $tr_id = $this->start_transaction($admin_uid);
                     $payed->GiftOrderedTarif($bill_id, $gift_id, $gid, $admin_uid, $tr_id, '1', "Аккаунт PRO в подарок при пополнении счета {$_opstr}", $_opcode);
                 } elseif ($trs_sum >= 5000) {
                     $bill_id = $gift_id = 0;
                     $tr_id = $this->start_transaction($admin_uid);
                     $_opcode = $payment_sys == 5 ? 97 : 101;
                     $error = $this->Gift($bill_id, $gift_id, $tr_id, $_opcode, $admin_uid, $gid, "Платный проект в подарок при пополнении счета {$_opstr}", "Платный проект в подарок при пополнении счета {$_opstr}");
                     if ($error === 0) {
                         // Добавляем подарочное бабло на бонусный счет.
                         $this->depositBonusEx($dep_id, 85, 'Начисление денег на платный проект в подарок', '', 40);
                     }
                 }
             }
         }
         var_dump($row['op_id']);
         $db->update('__tmp_failed_gifts', array('processed' => 1), 'op_id = ?', $row['op_id']);
     }
 }
Exemplo n.º 6
0
	text-decoration:underline;
	display:inline !important;
	float:none !important;
	font-size:10px !important;
	}
#menu_active .prf-this{
	color: #039 !important;
	}
#menu_active .prf-this span{
	color: #039 !important;
	}
</style>
<h2 class="fl2_header" style="margin-bottom:5px">Каталог</h2>
<?php 
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/firstpage.php";
$pUStat = firstpage::ShowStats();
?>
<span style="color: #333; font-family: Tahoma, sans-serif;"> <b style="color:#6BB24B"><?php 
echo $pUStat['u']['count'];
?>
</b> <?php 
echo $pUStat['u']['phrase'];
?>
<br/></span>
<?php 
if (!$_SESSION['uid'] || is_emp() && !$_SESSION['anti_uid']) {
    ?>
  <div class="fl2_register_to_do">
    <a href="/registration/?type=frl" class="org">Зарегистрироваться</a> как фрилансер
  </div>
<?php 
Exemplo n.º 7
0
 /**
  * Информация о успешно прошедшей операции
  * 
  * @param array $data - Информация об операции
  * @return array информация
  */
 function getSuccessInfo($data)
 {
     global $DB;
     if (in_array($data['op_code'], array(17, 84, 85))) {
         require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/present.php";
         $present = new present();
         return $present->getSuccessInfo($data);
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php";
     $uid = get_uid(false);
     $sql = "SELECT o.*, u.login FROM users u, users_first_page o WHERE u.uid = ?i AND o.user_id = u.uid AND o.billing_id = ?i";
     $asc = $DB->row($sql, $uid, $data['id']);
     $profs[] = $asc['profession'];
     $prof_info = professions::GetProfessions($profs);
     $poss = firstpage::GetPositions($uid, $profs);
     $is_up = $poss[$asc['profession']] > 1;
     $login_pp = "{$asc['login']}_pp";
     $linktopage = "/freelancers/#{$login_pp}";
     if ($prof_info[$profs[0]]["id"] == -1) {
         $linktopage = "/#{$login_pp}";
     } elseif ($prof_info[$profs[0]]["id"]) {
         $linktopage = "/freelancers/{$prof_info[$profs[0]]["link"]}/#{$login_pp}";
     }
     $name = "Платные места в разделах (<a class=\"b-layout__link b-layout__link_bold\" href=\"{$linktopage}\">{$prof_info[$asc['profession']]['name']}</a> — {$poss[$asc['profession']]}-е место" . ($is_up ? " <a class=\"b-layout__link b-layout__link_bold\" href=\"/firstpage/position.php?cur_prof={$asc['profession']}\">подняться выше</a>?)" : ")");
     $data['ammount'] = abs($data['ammount']);
     $suc = array("date" => $data['op_date'], "name" => $name, "descr" => "", "sum" => "{$data['ammount']} руб.");
     return $suc;
 }
Exemplo n.º 8
0
<?php

/**
 * get
 * http://***?type=firstpage&page=1&pagesize=10
 */
require_once 'Controllers/firstpage.class.php';
require_once 'Controllers/defaultpage.class.php';
require_once 'libs/Response.class.php';
// route
$type = isset($_GET['type']) ? $_GET['type'] : 'default';
switch ($type) {
    case 'firstpage':
        $firstpage = new firstpage();
        return $firstpage->get();
        break;
    default:
        $res = new response();
        return response::getEncode(200, 'request type error', '');
        break;
}
 /**
  * Покупка места на главной или в каталоге для для произвольного пользователя.
  * */
 private function setCatalogOrFpPlace()
 {
     global $DB;
     $uid = (int) $_POST['uid'];
     $role = $DB->val("SELECT role FROM users WHERE uid = {$uid}");
     $role = $role[0];
     if ($role !== '0') {
         $this->jsonError('Пользователь не найден или является работодателем');
     }
     $date = $_POST['date'];
     $f = preg_match("#[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}#", $date, $m);
     if (!$f) {
         $date = false;
     }
     $count = (int) $_POST['weeks'];
     if (!$count) {
         $this->jsonError('Некорректное значение недель');
     }
     if ($uid) {
         $sIds = $_POST['ids'];
         $aIds = explode(',', $sIds);
         $fp_request = array();
         $valid = false;
         for ($i = 0; $i < count($aIds); ++$i) {
             $id = str_replace('-', '', $aIds[$i]);
             if (!preg_match("#[\\D]#", $id, $m) && !($aIds[$i][0] == '0' && strlen($aIds[$i]) > 1)) {
                 $valid = true;
             }
             $fp_request[$aIds[$i]] = $count;
         }
         if (!$valid) {
             $this->jsonError('Некорректное значение специальности в списке');
         }
         $sProlong = $_POST['a'];
         $aProlong = explode(',', $sProlong);
         $valid = true;
         if (strlen($sProlong) > 0) {
             for ($i = 0; $i < count($aProlong); ++$i) {
                 $id = str_replace('-', '', $aProlong[$i]);
                 if (preg_match("#[\\D]#", $id, $m) || $aProlong[$i][0] == '0' && strlen($aProlong[$i]) > 1) {
                     $valid = false;
                 }
             }
             if (!$valid) {
                 $this->jsonError('Некорректное значение специальности в списке автопродлеваемых');
             }
         } else {
             $valid = false;
         }
         $account = new account();
         $transaction_id = $account->start_transaction($uid, $tr_id);
         $prof = new firstpage();
         foreach ($aIds as $prof_id) {
             $prof->delAutoPayed($uid, $prof_id);
         }
         $rewriteFromDate = false;
         if ($date && $date != date('Y-m-d')) {
             $date .= ' ' . date('H:i:s');
             //.".".date("u");
             $query = "DELETE FROM users_first_page \n                          WHERE user_id = {$uid} \n                          AND from_date > '{$date}'\n                          AND profession IN ({$sIds})\n                          ";
             $res = $DB->query($query);
             $num = pg_affected_rows($res);
             if ($num) {
                 $rewriteFromDate = true;
             }
         }
         $st = $prof->SetOrdered($uid, $transaction_id, $fp_request, $null, $err);
         if ($st == 0) {
             $this->jsonError($err);
         }
         if ($rewriteFromDate) {
             $recs = array();
             foreach ($aIds as $id) {
                 $query = "SELECT id FROM users_first_page WHERE user_id = {$uid} AND first_post = \n                               (SELECT max(first_post) FROM users_first_page WHERE user_id = {$uid} AND profession = {$id})";
                 $recId = $DB->val($query);
                 if ($recId) {
                     $recs[] = $recId;
                 }
             }
             if (count($recs)) {
                 $r = implode(',', $recs);
                 $query = "UPDATE users_first_page SET from_date = '{$date}' WHERE id IN ({$r})";
                 $DB->query($query);
             }
         }
         if ($valid) {
             foreach ($aProlong as $prof_id) {
                 $prof->setAutoPayed($uid, $prof_id);
             }
         }
         $this->jsonOk();
     }
 }