本文整理汇总了PHP中projects::SetExecutor方法的典型用法代码示例。如果您正苦于以下问题:PHP projects::SetExecutor方法的具体用法?PHP projects::SetExecutor怎么用?PHP projects::SetExecutor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类projects
的用法示例。
在下文中一共展示了projects::SetExecutor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionNewProjectOrder
/**
* Cоздание заказа на базе проекта.
*/
public function actionNewProjectOrder()
{
//@todo: на период разработки резерва заказов
if (!tservices_helper::isAllowOrderReserve()) {
$this->missingAction(null);
}
$offer_id = __paramInit('int', 'offer_id', 'offer_id', null);
$projects = new projects();
$projectData = $projects->getProjectByOfferId($offer_id, $this->uid);
if (!$projectData) {
$this->missingAction(null);
}
$freelancer = new freelancer();
$freelancer->GetUserByUID($projectData['frl_id']);
if ($freelancer->uid <= 0) {
$this->missingAction(null);
}
$form = new NewOrderForm();
$form->setDefaults(array('title' => addslashes(htmlspecialchars_decode($projectData['name'], ENT_QUOTES)), 'description' => addslashes(htmlspecialchars_decode($projectData['descr'], ENT_QUOTES)), 'order_price' => $projectData['currency'] == 2 ? $projectData['cost'] : ''));
if (isset($_POST) && sizeof($_POST) > 0 && $form->isValid($_POST)) {
$data = $form->getValues();
$data['frl_id'] = $freelancer->uid;
$data['emp_id'] = $this->uid;
$data['tu_id'] = $projectData['id'];
if ($order = $this->order_model->createFromProject($data)) {
$projects->SetExecutor($projectData['id'], $projectData['frl_id'], $projectData['user_id']);
$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' => getFriendlyURL('project', $projectData), 'form' => $form, 'freelancer' => $freelancer));
}
示例2: cancel
/**
* Заказчик отменяет сделку.
*
* @param int $sbr_id ид. сделки.
*
* @return bool успешно?
*/
public function cancel($sbr_id)
{
$this->initFromId($sbr_id, false, false);
$project_null = '';
if ($this->data['project_id'] > 0) {
//Чистим проект
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
projects::SetExecutor($this->data['project_id'], null, $this->uid);
projects::SwitchStatusPrj($this->uid, $this->data['project_id'], false);
// Всегда открываем
$project_null = ', project_id = NULL';
}
$sql = 'UPDATE sbr SET status = ' . self::STATUS_CANCELED . " {$project_null} WHERE id = {$sbr_id} AND emp_id = {$this->uid} AND reserved_id IS NULL";
return $this->_eventQuery($sql);
}
示例3: 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>');
}
//.........这里部分代码省略.........
示例4: intval
$po_id = intval($_GET['id']);
$prj_id = intval($_GET['pid']);
$user_id = intval($_GET['uid']);
$user = new users();
$prj = new projects();
$prj_offer = new projects_offers();
$user_name = $user->GetName($user_id, $error);
$emp_id = get_uid(false);
$emp_name = $user->GetName($emp_id, $error);
//Не позволяем производить действия с заблокированным проектом
if (projects::CheckBlocked(intval($prj_id))) {
header('Location: /projects/index.php?pid=' . intval($prj_id));
exit;
}
$project = $prj->GetPrj($emp_id, $prj_id, 1);
if ($error = $prj->SetExecutor($prj_id, $user_id, $emp_id)) {
$content = '404.php';
include '../template2.php';
exit;
}
header('Location: /projects/index.php?pid=' . intval($prj_id));
exit;
}
break;
case 'candidate':
if ($PDA) {
$po_id = intval($_GET['id']);
$prj_id = intval($_GET['pid']);
$user_id = intval($_GET['uid']);
$user = new users();
$prj = new projects();