本文整理汇总了PHP中tservices_helper::isAllowOrderReserve方法的典型用法代码示例。如果您正苦于以下问题:PHP tservices_helper::isAllowOrderReserve方法的具体用法?PHP tservices_helper::isAllowOrderReserve怎么用?PHP tservices_helper::isAllowOrderReserve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tservices_helper
的用法示例。
在下文中一共展示了tservices_helper::isAllowOrderReserve方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Метод сразу печатает в поток окошко попапа
* см render.
*
* @return bool
*/
public function run()
{
//Для фрилансера ненужен попап
if ($this->is_auth && !$this->is_emp) {
return false;
}
$is_emp = $this->is_emp && $this->is_auth;
$is_allowOrderReserve = tservices_helper::isAllowOrderReserve($this->data['category_id']);
//Для анонимуса и заказчика показываем соответствующий попап с учетом доступа
$sufix = $is_emp ? 'emp' : 'reg';
//Задействуем для этого юзера и категории ТУ новую БС с резервом или нет
$sufix .= $is_allowOrderReserve ? '-reserve' : '';
if ($is_emp && $is_allowOrderReserve) {
$reservesTaxes = ReservesTaxes::model();
$this->data['reserveTax'] = $reservesTaxes->getTax($this->data['price'], true);
$this->data['priceWithTax'] = $reservesTaxes->calcWithTax($this->data['price']);
$this->data['reserveAllTaxJSON'] = json_encode($reservesTaxes->getList());
}
$this->render("t-service-order-popup-{$sufix}", $this->data);
}
示例2: SelectProjectExecutor
/**
* Установка исполнителя проекта.
*
* @param integer $po_id id предложения к проекту
* @param unknown_type $prj_id id проекта
* @param unknown_type $user_id id юзера-исполнителя
*
* @return xajax response
*/
function SelectProjectExecutor($po_id, $prj_id, $user_id, $type, $exec_po_id = 0)
{
session_start();
$user = new users();
$prj = new projects();
$prj_offer = new projects_offers();
$po_id = intval($po_id);
$prj_id = intval($prj_id);
$exec_po_id = intval($exec_po_id);
$user_id = intval($user_id);
$user_name = $user->GetName($user_id, $error);
$emp_id = get_uid(false);
$emp_name = $user->GetName($emp_id, $error);
$objResponse = new xajaxResponse();
$pod = new projects_offers_dialogue();
$pod->markReadEmp(array($po_id), $emp_id);
//Не позволяем производить действия с заблокированным проектом
if (projects::CheckBlocked(intval($prj_id))) {
$objResponse->script("document.location.href='/projects/index.php?pid=" . intval($prj_id) . "'");
return $objResponse;
}
$project = $prj->GetPrj($emp_id, $prj_id, 1);
if (tservices_helper::isAllowOrderReserve()) {
//@todo: отправляем на форму нового заказа на базе проекта для текущего предложения фрилансера
$objResponse->script("document.location.href='/new-project-order/{$po_id}/'");
return $objResponse;
}
if ($error = $prj->SetExecutor($prj_id, $user_id, $emp_id)) {
$objResponse->alert($error);
return $objResponse;
}
$project['exec_id'] = $user_id;
//Отправляем уведомления участникам сделки
$smail = new projects_smail();
$smail->onSetExecutorFrl($project);
$smail->onSetExecutorEmp($project);
//Отправляем СМС уведомление
ProjectsSms::model($project['exec_id'])->sendStatus($project['status'], $project['id'], $project['kind']);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/base.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/api/api.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/external/api/mobile.php';
externalApi_Mobile::addPushMsg($user_id, 'prj_select_performer', array('from_user_id' => $project['user_id'], 'name' => $project['name'], 'project_id' => $project['id']));
// Если находимся в "Не определен", тогда предыдущий исполнитель (если он был) сам попадает в "Не определен".
// Перезагружаем в этом случае страницу.
if ($type == 'o' && $project['exec_id']) {
$objResponse->script("document.location.href=document.location.href.replace(/(&v=\\d*)?#offers\$/,'&v=" . mt_rand(1, 99999) . "#offers')");
return $objResponse;
}
list($po_offers_count, $msg_offers_count) = $prj_offer->CountPrjOffers($prj_id, 'offers');
$objResponse->assign('po_offers_count', 'innerHTML', $po_offers_count);
if ($msg_offers_count > 0) {
$objResponse->assign('op_count_offers_new_msgs', 'innerHTML', '<img src="/images/ico_envelop.gif" alt="" width="10" height="8" border="0"> ' . $msg_offers_count . ' ' . ending($msg_offers_count, 'новое сообщение', 'новых сообщения', 'новых сообщений'));
} else {
$objResponse->assign('op_count_offers_new_msgs', 'innerHTML', '');
if ($type == 'o') {
$objResponse->remove('sort_box');
}
}
list($po_executor_count, $msg_executor_count) = $prj_offer->CountPrjOffers($prj_id, 'executor');
$objResponse->assign('po_executor_count', 'innerHTML', $po_executor_count);
if ($msg_executor_count > 0) {
$objResponse->assign('op_count_executor_new_msgs', 'innerHTML', '<img src="/images/ico_envelop.gif" alt="" width="10" height="8" border="0"> ' . $msg_executor_count . ' ' . ending($msg_executor_count, 'новое сообщение', 'новых сообщения', 'новых сообщений'));
} else {
$objResponse->assign('op_count_executor_new_msgs', 'innerHTML', '');
if ($type == 'i') {
$objResponse->remove('sort_box');
}
}
list($po_candidate_count, $msg_candidate_count) = $prj_offer->CountPrjOffers($prj_id, 'candidate');
$objResponse->assign('po_candidate_count', 'innerHTML', $po_candidate_count);
if ($msg_candidate_count > 0) {
$objResponse->assign('op_count_candidate_new_msgs', 'innerHTML', '<img src="/images/ico_envelop.gif" alt="" width="10" height="8" border="0"> ' . $msg_candidate_count . ' ' . ending($msg_candidate_count, 'новое сообщение', 'новых сообщения', 'новых сообщений'));
} else {
$objResponse->assign('op_count_candidate_new_msgs', 'innerHTML', '');
if ($type == 'c') {
$objResponse->remove('sort_box');
}
}
list($po_refuse_count, $msg_refuse_count) = $prj_offer->CountPrjOffers($prj_id, 'refuse');
$objResponse->assign('po_refuse_count', 'innerHTML', $po_refuse_count);
if ($msg_refuse_count > 0) {
$objResponse->assign('op_count_refuse_new_msgs', 'innerHTML', '<img src="/images/ico_envelop.gif" alt="" width="10" height="8" border="0"> ' . $msg_refuse_count . ' ' . ending($msg_refuse_count, 'новое сообщение', 'новых сообщения', 'новых сообщений'));
} else {
$objResponse->assign('op_count_refuse_new_msgs', 'innerHTML', '');
if ($type == 'r') {
$objResponse->remove('sort_box');
}
}
if ($exec_po_id > 0) {
//$objResponse->assign("po_b_exec_" . $exec_po_id, "innerHTML", '<a id="po_img_exec_' . $exec_po_id . '" class="b-button-multi__link" onclick="xajax_SelectProjectExecutor(' . $exec_po_id . ', ' . $prj_id . ', ' . $user_id . ', ' . "'" . $type . "'" . ', ' . $po_id . ');" href="javascript:void(0)" title="Буду работать с этим человеком."><span class="b-button-multi__inner"><span class="b-button-multi__icon b-button-multi__icon_green"></span><span class="b-button-multi__txt">Исполнитель</span></span></a>');
}
//.........这里部分代码省略.........
示例3: actionNewPersonalOrder
/**
* Создание персонального заказа.
*/
public function actionNewPersonalOrder()
{
//@todo: на период разработки резерва заказов
if (!tservices_helper::isAllowOrderReserve()) {
$this->missingAction(null);
}
$login = __paramInit('string', 'user', 'user', null);
$freelancer = new freelancer();
$freelancer->GetUser($login);
if ($freelancer->uid <= 0) {
$this->missingAction(null);
}
$form = new NewOrderForm();
if (isset($_POST) && sizeof($_POST) > 0 && $form->isValid($_POST)) {
$data = $form->getValues();
$data['frl_id'] = $freelancer->uid;
$data['emp_id'] = $this->uid;
if ($order = $this->order_model->createPersonal($data)) {
$tservices_smail = new tservices_smail();
$tservices_smail->newOrder($order);
$this->redirect(sprintf(tservices_helper::url('order_card_url'), $order['id']));
}
}
//Выводим в сайдбар виджет индикатор статуса заказа
$this->getClips()->add('sidebar', $this->widget('OrderStatusIndicator', array(), true));
$this->render('new-order-form', array('title' => 'Новый заказ', 'submit_title' => 'Предложить заказ', 'cansel_url' => '/', 'form' => $form, 'freelancer' => $freelancer));
}
示例4: array
//require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/config.php");
//require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/profiler.php");
//require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/account.php");
//require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/mem_storage.php");
//require_once($_SERVER['DOCUMENT_ROOT'] . '/tu/models/TServiceOrderModel.php');
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices_helper.php';
//------------------------------------------------------------------------------
$results = array();
//$profiler = new profiler();
//------------------------------------------------------------------------------
//$profiler->start('fill_frl_mem');
//------------------------------------------------------------------------------
$_SESSION['login'] = 'alex';
$results['test1'] = tservices_helper::isAllowOrderReserve(1);
$results['test2'] = tservices_helper::isAllowOrderReserve(10);
$_SESSION['login'] = 'anon';
$results['test3'] = tservices_helper::isAllowOrderReserve(10);
unset($_SESSION['login']);
$results['test4'] = tservices_helper::isAllowOrderReserve(10);
unset($allow_categories_to_reserve, $allow_users_to_reserve);
$results['test5'] = tservices_helper::isAllowOrderReserve(777, 'vasya');
//------------------------------------------------------------------------------
//$profiler->stop('fill_frl_mem');
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
array_walk($results, function (&$value, $key) {
$value = sprintf('%s = %s' . PHP_EOL, $key, $value);
});
print_r(implode('', $results));
exit;
示例5: tservicesOrdersSetPrice
/**
* Редактирование стоимости и сроков заказа ТУ
*
* @param type $order_id
* @param type $price
* @param type $days
*
* @return \xajaxResponse
*/
function tservicesOrdersSetPrice($order_id, $price, $days, $paytype)
{
$objResponse =& new xajaxResponse();
$uid = get_uid(false);
$price = intval($price);
$days = intval($days);
$paytype = intval($paytype);
//Валидация входных параметров
$validator = new validation();
$valid = $validator->is_natural_no_zero($price) && $validator->greater_than_equal_to($price, 300);
$valid = $valid && $validator->is_natural_no_zero($days) && $validator->numeric_interval($days, 1, 730);
$valid = $valid && in_array($valid, array(TServiceOrderModel::PAYTYPE_DEFAULT, TServiceOrderModel::PAYTYPE_RESERVE));
if (!$valid) {
return $objResponse;
}
//Получение заказа
$orderModel = TServiceOrderModel::model();
$order_id = intval($order_id);
$old_order = $orderModel->getCard($order_id, $uid);
if (!$old_order) {
return $objResponse;
}
//Валидация возможности изменений
$is_new_status = $old_order['status'] == TServiceOrderModel::STATUS_NEW;
$is_owner = $old_order['emp_id'] == $uid;
$is_reserve_accepted = isset($old_order['reserve_data']);
if (!($is_new_status && $is_owner && !$is_reserve_accepted)) {
return $objResponse;
}
//Проверка возможности смены типа оплаты
$is_reserve = tservices_helper::isOrderReserve($paytype);
if ($is_reserve && !tservices_helper::isAllowOrderReserve($old_order['category_id'])) {
return $objResponse;
}
if (!$is_reserve) {
$paytype = TServiceOrderModel::PAYTYPE_DEFAULT;
}
$data = array('order_price' => $price, 'order_days' => $days, 'pay_type' => $paytype);
//Меняем
if ($orderModel->edit($order_id, $data, $old_order['tax'])) {
$order = $old_order;
$order['order_price'] = $price;
$order['order_days'] = $days;
$order['pay_type'] = $paytype;
//Сохранить действие в историю
$history = new tservices_order_history($order_id);
$history->save($order, $old_order);
//Уведомление на почту
$tservices_smail = new tservices_smail();
$tservices_smail->changeOrder2($order, $old_order);
//Обновляем интерфейс цен и сроков
$objResponse->script("\$('tu-container-price').set('html', '" . tservices_helper::cost_format($price) . "');");
$objResponse->script("\$('tu-container-days').set('html', '" . tservices_helper::days_format($days) . "');");
$objResponse->script("\$('tu_edit_budjet_price').set('value', '" . $price . "');");
$objResponse->script("\$('tu_edit_budjet_days').set('value', '" . $days . "');");
//Обновляем сообщение статуса, т.к. вторая сторона тоже могла его изменить
$tserviceOrderStatusWidget = new TServiceOrderStatus();
$tserviceOrderStatusWidget->setIsEmp(true);
$tserviceOrderStatusWidget->setOrder($order);
$tserviceOrderStatusWidget->init();
ob_start();
$tserviceOrderStatusWidget->run();
$statusHtml = ob_get_contents();
ob_end_clean();
$objResponse->assign('tservices_order_status_' . $order_id, 'innerHTML', $statusHtml);
$objResponse->script("\n \$('tu-container-price').getParent()\n .removeClass('b-layout__link_bordbot_dot_" . ($is_reserve ? '000' : 'ee1d16') . "')\n .addClass('b-layout__link_bordbot_dot_" . ($is_reserve ? 'ee1d16' : '000') . "');\n \$('tu-container-price').getPrevious('span').set('html','" . ($is_reserve ? 'Бюджет:' : 'Стоимость:') . "'); \n ");
}
return $objResponse;
}
示例6: run
/**
* Метод сразу печатает в поток окошко попапа
* см render
*
* @return boolean
*/
public function run()
{
//Задействуем для этого юзера и категории ТУ новую БС с резервом или нет
$sufix = tservices_helper::isAllowOrderReserve($this->order['category_id']) ? '-reserve' : '';
$this->render("t-service-order-change-cost{$sufix}-popup", array('order' => $this->order));
}
示例7: testIsAllowOrderReserve
public function testIsAllowOrderReserve()
{
$this->assertTrue(tservices_helper::isAllowOrderReserve(1));
}
示例8: define
$user_phone_projects = user_phone::getInstance()->render(user_phone::PLACE_PROJECTS);
// Формируем JS внизу страницы
define('JS_BOTTOM', true);
$css_file = array('/css/block/b-frm-filtr/b-frm-filtr.css', '/css/block/b-opinion/b-opinion.css', '/css/block/b-free-share/b-free-share.css', '/css/block/b-note/b-note.css', '/css/block/b-button-multi/b-button-multi.css', '/css/block/b-prev/b-prev.css', '/css/nav.css', '/css/projects3.css');
$js_file[] = '/css/block/b-shadow/b-shadow.js';
if (!is_emp() && get_uid(false)) {
$js_file[] = '/scripts/uploader.js';
$js_file[] = '/scripts/project_abuse.js';
}
$status_content = null;
if (in_array($project['kind'], array(1, 5, 9))) {
$feedback_form = '';
$off_status = false;
if ($project['exec_id'] > 0) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices_helper.php';
if (tservices_helper::isAllowOrderReserve()) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/tu/models/TServiceOrderModel.php';
$orderModel = TServiceOrderModel::model();
$order_id = $orderModel->isExistByType($project['id'], $project['exec_id'], TServiceOrderModel::TYPE_PROJECT);
$order_url = $order_id ? tservices_helper::getOrderCardUrl($order_id) : null;
$off_status = $order_id ? true : false;
}
}
if (!$off_status) {
$js_file[] = '/scripts/projects/projects_status.js';
if ($project['kind'] == 9 && !isset($user_offer) && isset($offers)) {
$user_offer = $offers[0];
}
$status_content = projects_helper::renderStatus($project, $user_offer ? $user_offer : $exec_info);
if ($status_content) {
$feedback_form = projects_helper::renderFeedback($project['status']);