当前位置: 首页>>代码示例>>PHP>>正文


PHP payed::SetOrderedTarif方法代码示例

本文整理汇总了PHP中payed::SetOrderedTarif方法的典型用法代码示例。如果您正苦于以下问题:PHP payed::SetOrderedTarif方法的具体用法?PHP payed::SetOrderedTarif怎么用?PHP payed::SetOrderedTarif使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在payed的用法示例。


在下文中一共展示了payed::SetOrderedTarif方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: billingOperation

 /**
  * Обработка и оплата операций
  * 
  * @global type $DB
  * @param type $option
  * @return boolean 
  */
 function billingOperation($option, $transaction_id)
 {
     global $DB;
     $ok = false;
     $account = new account();
     switch ($option['op_code']) {
         // Аккаунт ПРО у фрилансера
         case 48:
         case 49:
         case 50:
         case 51:
         case 76:
             // Удаляем операции по покупке ответов - публикуем ответы
             $prof = new payed();
             $ok = $prof->SetOrderedTarif($this->uid, $transaction_id, 1, "Аккаунт PRO", $option['op_code'], $error);
             if ($ok) {
                 $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
                 $_SESSION['pro_last'] = $_SESSION['pro_last']['freeze_to'] ? false : $_SESSION['pro_last']['cnt'];
                 $userdata = new users();
                 $_SESSION['pro_test'] = $userdata->GetField($this->uid, $error2, 'is_pro_test', false);
                 $this->clearBlockedOperations(step_freelancer::OFFERS_OP_CODE);
                 $step_frl = new step_freelancer();
                 $offers = $step_frl->getWizardOffers($this->uid, 'all', false);
                 if ($offers) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php";
                     $step_frl->log = $this->log;
                     $step_frl->user = new users();
                     $step_frl->user->GetUserByUID($this->uid);
                     $step_frl->transferOffers($offers);
                 }
                 $this->showProjectsFeedbacks();
             }
             break;
             // Аккаунт ПРО у работодателя
         // Аккаунт ПРО у работодателя
         case 15:
             $prof = new payed();
             $ok = $prof->SetOrderedTarif($this->uid, $transaction_id, 1, "Аккаунт PRO", $option['op_code'], $error);
             if ($ok) {
                 $_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
                 $_SESSION['pro_last'] = $_SESSION['pro_last']['freeze_to'] ? false : $_SESSION['pro_last']['cnt'];
                 $userdata = new users();
                 $_SESSION['pro_test'] = $userdata->GetField($this->uid, $error2, 'is_pro_test', false);
             }
             // Обновляем выбор цвета для проектов тк он для ПРО бесплатный
             $colorProjects = $this->updateColorProject();
             $prj = new new_projects();
             foreach ($colorProjects as $k => $project) {
                 $delete_color[] = $project['op_id'];
                 if ($project['country'] == null) {
                     $project['country'] = 'null';
                 }
                 if ($project['city'] == null) {
                     $project['city'] = 'null';
                 }
                 $project['name'] = addslashes($project['name']);
                 $project['descr'] = addslashes($project['descr']);
                 if ($project['logo_id'] <= 0) {
                     $project['logo_id'] = 'null';
                 }
                 $project['payed_items'] = $project['payed_items'] | '010';
                 $project['is_color'] = 't';
                 $prj->editPrj($project, false);
             }
             // Удаляем данные операции
             if ($delete_color) {
                 $this->deleteDraftAccountOperation($delete_color);
             }
             break;
             // Публикация конкурса
         // Публикация конкурса
         case new_projects::OPCODE_KON:
         case new_projects::OPCODE_KON_NOPRO:
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_wizard_registration.php';
             $drafts = new drafts();
             $draft = $drafts->getDraft($option['parent_id'], $this->uid, 1);
             // Если еще не опубликован
             if (!$draft['prj_id']) {
                 $project_id = $draft['id'];
                 $error = $account->Buy($bill_id, $transaction_id, $option['op_code'], $this->uid, $option['descr'], $option['comment'], 1, 0);
                 $ok = $bill_id > 0;
                 if ($bill_id) {
                     $color = $DB->val("SELECT id FROM draft_account_operations WHERE parent_id = ? AND op_type = 'contest' AND option = 'color' AND uid = ?", $project_id, wizard::getUserIDReg());
                     $draft['billing_id'] = $bill_id;
                     $draft['folder_id'] = 'null';
                     $draft['payed'] = '0';
                     $draft['payed_items'] = '000';
                     if (is_pro() && $color > 0) {
                         $draft['is_color'] = 't';
                     } else {
                         $draft['is_color'] = 'f';
                     }
                     $draft['win_date'] = date('d-m-Y', strtotime($draft['win_date']));
//.........这里部分代码省略.........
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:101,代码来源:wizard_billing.php

示例2: header

if (!$action || !$mnth) {
    header("Location: ./");
    exit;
}
$prof = new payed();
$tr_id = $_REQUEST['transaction_id'];
if (!$tr_id) {
    $account = new account();
    $account->view_error("Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.");
}
if ($mnth > 0) {
    $oppro = intval(trim($_POST['oppro']));
    if ($oppro <= 0) {
        $oppro = is_emp() ? 15 : 48;
    }
    $ok = $prof->SetOrderedTarif($user_id, $tr_id, $mnth, "Аккаунт PRO", $oppro, $error);
}
if (!$ok) {
    $_SESSION['bill.GET']['error'] = $error;
    header('Location: /bill/fail/');
    exit;
} else {
    $content = "content.php";
    $js_file = array('payed.js');
}
$_SESSION['pro_last'] = payed::ProLast($_SESSION['login']);
if ($_SESSION['pro_last']['is_freezed']) {
    $_SESSION['payed_to'] = $_SESSION['pro_last']['cnt'];
}
$_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
$userdata = new users();
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:31,代码来源:buy.php

示例3: paymentOrder


//.........这里部分代码省略.........
             // Про на 3 месяца (emp)
         // Про на 3 месяца (emp)
         case 49:
             // Про на 3 месяца (frl)
         // Про на 3 месяца (frl)
         case 119:
             // Про на 6 месяцeв (emp)
         // Про на 6 месяцeв (emp)
         case 50:
             // Про на 6 месяцев (frl)
         // Про на 6 месяцев (frl)
         case 120:
             // Про на 1 год (emp)
         // Про на 1 год (emp)
         case 51:
             // Про на 1 год (frl)
         // Про на 1 год (frl)
         case 132:
             // Про на 1 день (frl)
         // Про на 1 день (frl)
         case 131:
             // Про на 1 неделю (frl)
         // Про на 1 неделю (frl)
         case 163:
             // Тестовый ПРО на месяц
         // Тестовый ПРО на месяц
         case 164:
             // PROFI на 1 месяц
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php';
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/employer.php';
             $payed = new payed();
             $user = is_emp($this->user['role']) ? new employer() : new freelancer();
             $success = $payed->SetOrderedTarif($this->user['uid'], $this->transaction, $order['op_count'], $order['comment'], $order['op_code'], $order['promo_code'], $error);
             if ($success) {
                 if (isset($payed->account_operation_id) && $payed->account_operation_id > 0) {
                     $account_operation_id = $payed->account_operation_id;
                 }
                 // Обновим сессию сразу!
                 if (get_uid(false) == $this->user['uid']) {
                     $_SESSION['pro_last'] = payed::ProLast($this->user['login']);
                     $_SESSION['pro_last'] = $_SESSION['pro_last']['is_freezed'] ? false : $_SESSION['pro_last']['cnt'];
                     if ($_SESSION['pro_last']['is_freezed']) {
                         $_SESSION['payed_to'] = $_SESSION['pro_last']['cnt'];
                     }
                 } else {
                     $membuff = new memBuff();
                     $membuff->set('is_changed_pro_' . $this->user['uid'], true);
                     //Этот подход не работает
                     //$session = new session();
                     //$session->UpdateProEndingDate($this->user['login']);
                 }
                 if ($order['auto'] == 't') {
                     $user->setPROAutoProlong('on', $this->user['uid']);
                 } else {
                     $user->setPROAutoProlong('off', $this->user['uid']);
                 }
                 //Опубликовать перемещенные вакансии при покупке ПРО
                 //@todo: Теперь вакансии для всех платные разница лишь в цене для ПРО дешевле
                 //поэтому отключаем публикацию после покупки ПРО
                 //https://beta.free-lance.ru/mantis/view.php?id=28579
                 /*
                                     if (is_emp($this->user['role'])) { 	 
                                         require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/projects.php"); 	
                                         $project = new projects();	 
                                         $project->publishedMovedToVacancy($this->user); 	
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:67,代码来源:billing.php

示例4: setProMonth

 /**
  * Установка ПРО для произвольного пользователя.
  *
  * @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', 'Пользователь не найден');
     }
 }
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:74,代码来源:testers-purchase-services.php


注:本文中的payed::SetOrderedTarif方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。