<?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; }
<?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";
} } 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) {
/** * Взять заявки по определенному тарифу * * @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; }
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 = 'Пользователь не найден'; }
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', 'Пользователь не найден'); } }