Ejemplo n.º 1
0
<?php

ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE);
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php";
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/session_Memcached.php";
$action = $_GET['action'];
switch ($action) {
    case 'update':
        $login = '******';
        $session = new session();
        $session->UpdateProEndingDate($login);
        break;
    case 'clear':
        $_SESSION['pro_last'] = false;
        //no break
    //no break
    case 'check':
        var_dump($_SESSION);
        break;
    default:
        break;
}
Ejemplo n.º 2
0
<?php

$login = '******';
error_reporting(E_ERROR);
require_once realpath(dirname(__FILE__) . '/../') . '/classes/stdf.php';
require_once realpath(dirname(__FILE__) . '/../') . '/classes/account.php';
require_once realpath(dirname(__FILE__) . '/../') . '/classes/session.php';
require_once realpath(dirname(__FILE__) . '/../') . '/classes/payed.php';
require_once realpath(dirname(__FILE__) . '/../') . '/classes/users.php';
$ses = new session();
$user = $DB->row("\n                SELECT uid, login\n                FROM users\n                WHERE login='******';\n                ");
$payed = new payed();
$sess = new session();
$transaction_id = account::start_transaction($user['uid']);
$payed->AdminAddPRO($user['uid'], $transaction_id, '2 days');
$sess->UpdateProEndingDate($user['login']);
echo date('H:m:s') . " - {$login}\n\n";
Ejemplo n.º 3
0
     }
 }
 if (!$is_edit && $is_personal) {
     //Добавляем ответ фрилансера
     //$message = 'Я получил' . ($sex == 'f' ? 'а' : '') . ' ваше предложение о проекте, в скором времени отвечу на него.';
     $message = '';
     $obj_offer = new projects_offers();
     $obj_offer->AddOffer($freelancer->uid, $proj['id'], '', '', 2, '', '', 0, $message, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', false, 0, 1);
     $tmpPrj->SetExecutor($proj['id'], $freelancer->uid, $employer->uid);
     //Отправляем СМС Фрилансеру
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/projects_sms.php";
     ProjectsSms::model($freelancer->uid)->sendStatus(0, $proj['id'], 9);
 }
 if (hasPermissions("projects")) {
     $inspect_user_session = new session();
     $inspect_user_session->UpdateProEndingDate($view_user_login);
 }
 if (!$is_edit) {
     $_SESSION['new_public'] = 1;
 }
 $drafts->DeleteDraft($draft_id, $uid, 1);
 if ($is_edit) {
     $back = $backLink ? $backLink : '/projects/' . $proj['id'];
 } else {
     $back = "/public/?step=2&public={$proj['id']}";
 }
 header("Location: {$back}");
 exit;
 //@todo: пока полное назначение кода ниже не ясно
 /*
 if($_POST['is_exec_quickprj']==1) {
Ejemplo n.º 4
0
 /**
  * Взять заявки по определенному тарифу
  *
  * @param integer $bill_id  	   ИД оплаты
  * @param integer $gift_id  	   ИД подарка
  * @param integer $gid      	   ИД подарка
  * @param integer $fid      	   ИД пользователя
  * @param integer $transaction_id  ИД транзакции
  * @param integer $time            Время
  * @param integer $comments        Комментарий оплаты
  * @param integer $tarif           ИД Тарифа (см. таблицу op_codes)
  * @return array Данные выборки
  */
 function GiftOrderedTarif(&$bill_id, &$gift_id, $gid, $fid, $transaction_id, $time, $comments = "Аккаунт PRO  в подарок", $tarif = 52)
 {
     global $DB;
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/account.php";
     $account = new account();
     $error = $account->Gift($bill_id, $gift_id, $transaction_id, $tarif, $fid, $gid, "Все разделы", $comments, 10 * ($tarif == 52 || $tarif == 16 ? $time : 1));
     if (!$error) {
         $sql = "INSERT INTO orders (from_id, to_date, tarif, ordered, billing_id, payed) VALUES (?, ?, ?, true, ?, true)";
         if ($DB->query($sql, $gid, is_numeric($time) ? "{$time} month" : $time, $tarif, $bill_id)) {
             $login = get_login($gid);
             if ($gid == $_SESSION['uid'] && !is_pro()) {
                 $_SESSION['is_pro_new'] = 't';
             }
             if ($gid == $_SESSION['uid']) {
                 $pro_last = payed::ProLast($login);
                 $_SESSION['pro_last'] = $pro_last['freeze_to'] ? false : $pro_last['cnt'];
             } else {
                 $session = new session();
                 $session->UpdateProEndingDate($login);
             }
             return true;
         }
     }
     return false;
 }
Ejemplo n.º 5
0
 if ($oUser->uid) {
     if ($nSummR > 0) {
         if (intval($nStamp)) {
             $nRate = $exrates->GetField(51, $err, 'val');
             $nSummFM = round($nSummR, 2);
             $sAdmin = 'Запись добавил: ' . $_SESSION['login'];
             $comments = "Безналичный перевод для физ.лиц, логин {$oUser->login}, Альфа-банк";
             $sDate = date('c', $nStamp);
             if ($account->GetInfo($oUser->uid, true) && !($err = $account->depositEx($account->id, $nSummFM, $sAdmin, $comments, 12, $nSummR, 11, $sDate))) {
                 // ВРЕМЕННАЯ АКЦИЯ! -------------
                 // ВРЕМЕННАЯ ЗАКОМЕНТЕНО! :) -------------
                 // $account->alphaBankGift( $nSummR, $sDate, $oUser->uid, $oUser->login );
                 //-------------------------------
                 // обновляем сессию юзера
                 $session = new session();
                 $session->UpdateProEndingDate($oUser->login);
                 $_SESSION['success'] = 'ok';
                 $sReferer = $_SERVER['HTTP_REFERER'];
                 $sReferer = preg_match('~siteadmin/alpha~i', $sReferer) ? $sReferer : '/siteadmin/alpha/';
                 header('Location: ' . $sReferer);
                 exit;
             }
         } else {
             $sError = 'Дата указана не верно';
         }
     } else {
         $sError = 'Сумма должна быть числом больше 0';
     }
 } else {
     $sError = 'Пользователь не найден';
 }
Ejemplo n.º 6
0
exit;
*/
/*
$data = $DB->rows("
    SELECT
    *
    FROM orders
    WHERE
        from_id = ?i
        AND from_date < NOW() AND (from_date + to_date) > NOW();
", 78701);

print_r($data);
*/
$sess = new session();
$sess->UpdateProEndingDate('freelancer78712');
exit;
$uid = 78706;
/*
$data = payed::getProfiDaysFromPro($uid);
print_r($data);

exit;
*/
/*
payed::freezePro($uid, '2014-10-11 00:00:00', '2014-10-18 00:00:00');
exit;
*/
$payed = new payed();
$data = $payed->ProLastById($uid, array(164));
print_r($data);
 /**
  * Установка ПРО для произвольного пользователя.
  *
  * @param $count - если равен 1, значит покупаем ПРО на несколько месяцев в зависимости от значения $_REQUEST['type']
  *                 если больше 1, значит аккаунт покупается на несколько ($count) недель     
  * */
 private function setProMonth($count = 1)
 {
     global $DB;
     $uid = (int) $_POST['uid'];
     $uid = $DB->val("SELECT uid FROM users WHERE uid = {$uid}");
     $date = $_POST['date'];
     $f = preg_match("#[0-9]{4}\\-[0-9]{2}\\-[0-9]{2}#", $date, $m);
     if (!$f) {
         $date = false;
     }
     if ($uid) {
         $account = new account();
         $transaction_id = $account->start_transaction($uid, $tr_id);
         $oppro = intval(trim($_POST['type']));
         $prof = new payed();
         if ($oppro <= 0) {
             $oppro = is_emp() ? 15 : 48;
         }
         if ($oppro == 47) {
             //позволить пользователю купить тестовый про
             $sql = "DELETE FROM orders WHERE id IN (SELECT id FROM orders WHERE from_id = '{$uid}' AND ordered = '1' AND payed = 't' AND tarif IN (1,2,3,4,5,6,15,16,28,35,42,47,48,49,50,51,52,76))";
             $DB->query($sql);
         }
         $rewriteFromDate = false;
         //переписывать ли дату начала действия PRO у добавленной записи
         if ($date !== false && $date != date('Y-m-d')) {
             //если заказана дата покупки PRO ранее чем текущая дата удаляем историю покупок PRO которые были куплены после заказаной даты
             $sql = "DELETE FROM orders WHERE id \n                       IN (SELECT id FROM orders \n                           WHERE from_id = '{$uid}' AND ordered = '1' AND payed = 't' \n                           AND tarif IN (1,2,3,4,5,6,15,16,28,35,42,47,48,49,50,51,52,76)\n                            AND from_date > '{$date}'\n                           )";
             $res = $DB->query($sql);
             $num = pg_affected_rows($res);
             if ($num) {
                 $rewriteFromDate = true;
             }
         }
         //используем ранее написаный в системе код для покупки про
         $ok = $prof->SetOrderedTarif($uid, $transaction_id, $count, 'Аккаунт PRO', $oppro, $error);
         if ($ok) {
             if (!$rewriteFromDate) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/session_Memcached.php';
                 $session = new session();
                 $login = $DB->val("SELECT login FROM users WHERE uid = {$uid}");
                 $session->UpdateProEndingDate($login);
             }
         } else {
             $this->json('status', 'error', 'msg', $error ? $error : 'Неизвестная ошибка');
         }
         if ($rewriteFromDate) {
             //если заказана дата покупки PRO ранее чем текущая дата устанавливаем дату последней покупки в заказанную дату
             $sql = "SELECT id FROM orders WHERE posted = (SELECT MAX(posted) FROM orders WHERE from_id = {$uid})";
             $id = $DB->val($sql);
             if ($id) {
                 $date .= ' ' . date('H:i:s') . '.' . date('u');
                 $sql = "UPDATE orders SET from_date = '{$date}' WHERE id = {$id}";
                 $DB->query($sql);
                 require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/session_Memcached.php';
                 $session = new session();
                 $login = $DB->val("SELECT login FROM users WHERE uid = {$uid}");
                 $session->UpdateProEndingDate($login);
             } else {
                 $this->json('status', 'error', 'msg', "Ошибка при установке даты покупки ПРО '{$date}'");
             }
         }
         /**/
         $this->json('status', 'ok');
     } else {
         $this->json('status', 'error', 'msg', 'Пользователь не найден');
     }
 }