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


PHP projects::ClearExecutor方法代码示例

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


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

示例1: RefuseProjectOffer

function RefuseProjectOffer($po_id, $prj_id, $user_id, $type, $po_reason = 0)
{
    global $session;
    session_start();
    $user = new users();
    $prj = new projects();
    $prj_offer = new projects_offers();
    $po_id = intval($po_id);
    $prj_id = intval($prj_id);
    $po_reason = intval($po_reason);
    $user_id = intval($user_id);
    $user_name = $user->GetName($user_id, $error);
    $emp_id = get_uid(false);
    $emp_name = $user->GetName($emp_id, $error);
    $pod = new projects_offers_dialogue();
    $pod->markReadEmp(array($po_id), $emp_id);
    $objResponse = new xajaxResponse();
    //Не позволяем производить действия с заблокированным проектом
    if (projects::CheckBlocked(intval($prj_id))) {
        $objResponse->script("document.location.href='/projects/index.php?pid=" . intval($prj_id) . "'");
    } else {
        $error = '';
        $project = $prj->GetPrjCust($prj_id);
        if ($project['exec_id'] == $user_id) {
            $error = $prj->ClearExecutor($prj_id, $emp_id);
        }
        if (!$error) {
            $error .= ($error ? ' ' : '') . $prj_offer->SetRefused($po_id, $prj_id, $user_id, $po_reason, true);
            $project = $prj->GetPrjCust($prj_id);
            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_reject', array('from_user_id' => $project['user_id'], 'name' => $project['name'], 'project_id' => $project['id']));
            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 {
                if ($type == 'r') {
                    $objResponse->remove('sort_box');
                }
                $objResponse->assign('op_count_refuse_new_msgs', 'innerHTML', '');
            }
            //$objResponse->assign("po_b_exec_" . $po_id, "innerHTML", '<a id="po_img_exec_' . $po_id . '" class="b-button-multi__link" onclick="xajax_SelectProjectExecutor(' . $po_id . ', ' . $prj_id . ', ' . $user_id . ', ' . "'" . $type . "'" . ', ' . 0 . ');" 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>');
            //$objResponse->assign("po_b_select_" . $po_id, "innerHTML", '<a id="po_img_select_' . $po_id . '" class="b-button-multi__link" onclick="xajax_SelectProjectOffer(' . $po_id . ', ' . $prj_id . ', ' . $user_id  . ', ' . "'" . $type . "'" . ');" href="javascript:void(0)" title="Прошел предварительный отбор. Может быть исполнителем"><span class="b-button-multi__inner"><span class="b-button-multi__icon b-button-multi__icon_blue"></span><span class="b-button-multi__txt">Кандидат</span></span></a>');
            //$objResponse->assign("po_b_refuse_" . $po_id, "innerHTML", '<a id="po_img_refuse_' . $po_id . '" class="b-button-multi__link"  href="javascript:void(0)" title="Этот человек мне не подходит.  Может быть в следующий раз."><span class="b-button-multi__inner"><span class="b-button-multi__icon b-button-multi__icon_red"></span><span class="b-button-multi__txt">Отказано</span></span></a>');
            $objResponse->script("removeNoteBar('{$user_name['login']}');");
            $objResponse->remove('po_' . $po_id);
            $objResponse->remove('po_u_' . $po_id);
            $objResponse->remove('po_bar_' . $po_id);
        }
        --$_SESSION['offers_on_page'];
        if ($_SESSION['offers_on_page'] == 0) {
            $objResponse->script("document.location.href='/projects/index.php?pid=" . intval($prj_id) . '&type=' . $type . "'");
        }
    }
    return $objResponse;
}
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:88,代码来源:projects_ci.server.php

示例2: changeStatus

 /**
  * Переход проекта в другой возможный стастус
  * 
  * @param string $new_status
  * @return boolean
  */
 public function changeStatus($new_status)
 {
     $list = $this->is_emp ? $this->STATUS_EMP_LIST : $this->STATUS_FRL_LIST;
     $next = $this->STATUS_NEXT;
     //Существует ли новый статус
     if (!isset($list[$new_status])) {
         return FALSE;
     }
     $status = $list[$new_status];
     //Есть ли принадлежность для него?
     if (!isset($this->current_table[$status])) {
         return FALSE;
     }
     $prop = $this->current_table[$status][1];
     $current_status = @$this->{$prop}['status'];
     //Есть ли текущий статус и возможен ли переход в новый
     if (!isset($next[$current_status]) || !in_array($list[$new_status], $next[$current_status])) {
         return FALSE;
     }
     $data = array('status' => $status);
     $time = time();
     //Действия перед сменой статуса
     switch ($status) {
         case self::STATUS_DECLINE:
         case self::STATUS_CANCEL:
             //Нельзя отказаться если уже согласился
             if ($this->project['status'] == self::STATUS_ACCEPT) {
                 return FALSE;
             }
             //Убираем из исполнителей
             $obj_project = new projects();
             $err = $obj_project->ClearExecutor($this->project['id'], $this->project['user_id']);
             if (!empty($err)) {
                 return FALSE;
             }
             $obj_offer = new projects_offers();
             if ($this->project['kind'] == 9) {
                 //У персонального проекта переводим в отказ
                 if ($status == self::STATUS_CANCEL) {
                     $obj_offer->SetRefused($this->offer['id'], $this->project['id'], $this->project['exec_id']);
                 } else {
                     $this->db()->update(self::TABLE_OFFERS, array('status' => -1), 'id = ?i', $this->offer['id']);
                 }
             } else {
                 //Переводим в кандидаты
                 $obj_offer->SetSelected($this->offer['id'], $this->project['id'], $this->project['exec_id'], true);
             }
             $this->project['exec_id'] = NULL;
             //Если это персональный проект
             //то закрываем его после отказа
             if ($this->project['kind'] == 9) {
                 $this->project['close_date'] = date('Y-m-d H:i:s', $time);
                 $this->project['closed'] = TRUE;
                 $this->db()->update(self::TABLE_PROJECTS, array('close_date' => $this->project['close_date'], 'closed' => $this->project['closed']), 'id = ?i', $this->project['id']);
             }
             break;
         case self::STATUS_ACCEPT:
             $now = date("Y-m-d H:i:s");
             $this->db()->update(self::TABLE_OFFERS, array('status' => 0), 'id = ?i', $this->offer['id']);
             $this->db()->update(self::TABLE_PROJECTS, array('accept_date' => $now), 'id = ?i', $this->project['id']);
             $this->offer['status'] = 0;
             //@todo: как снять проект с публикации???
             //будем учитывать этатус = 0 в выборках
             break;
         case self::STATUS_EMPCLOSE:
         case self::STATUS_FRLCLOSE:
             $data['close_date'] = date('Y-m-d H:i:s', $time);
             $data['closed'] = TRUE;
             $this->project['close_date'] = $data['close_date'];
             $this->project['closed'] = $data['closed'];
             break;
     }
     $table = $this->current_table[$status][0];
     $id = @$this->{$prop}['id'];
     $is_ok = $this->db()->update($table, $data, 'id = ?i', $id);
     if ($is_ok) {
         $this->{$prop}['status'] = $status;
         //Высылаем уведомления о смене статуса
         $mes = new projects_smail();
         //Действия после успешной смены статуса
         switch ($status) {
             case self::STATUS_ACCEPT:
                 $mes->onStartWorking($this->project, $this->offer);
                 break;
             case self::STATUS_CANCEL:
                 $mes->onRefuseFrl($this->project, $this->offer);
                 break;
             case self::STATUS_DECLINE:
                 $mes->onRefuseEmp($this->project, $this->offer);
                 break;
             case self::STATUS_EMPCLOSE:
             case self::STATUS_FRLCLOSE:
                 //Нет смысла тут пытаться уведомлять не имея еще отзыва!
                 //$mes->onFinish($this->project, $this->is_emp);
//.........这里部分代码省略.........
开发者ID:Nikitian,项目名称:fl-ru-damp,代码行数:101,代码来源:projects_status.php

示例3: users

     exit;
 }
 if (isset($_GET['refuse'])) {
     $user = new users();
     $prj_offer = new projects_offers();
     $po_reason = intval($_GET['refuse']);
     $emp_id = get_uid(false);
     $emp_name = $user->GetName($emp_id, $error);
     //Не позволяем производить действия с заблокированным проектом
     if (projects::CheckBlocked(intval($prj_id))) {
         $objResponse->script("document.location.href='/projects/index.php?pid=" . intval($prj_id) . "'");
     } else {
         $error = '';
         $project = $prj->GetPrjCust($prj_id);
         if ($project['exec_id'] == $user_id) {
             $error = $prj->ClearExecutor($prj_id, $emp_id);
         }
         if (!$error) {
             $prj_offer->SetRefused($po_id, $prj_id, $user_id, $po_reason, true);
             header('Location: /projects/index.php?pid=' . intval($prj_id));
             exit;
         }
     }
 } else {
     $user = new users();
     $user_id = intval($user_id);
     $user->GetUserByUID($user_id);
 }
 $content = 'emp_refuse.php';
 include '../template2.php';
 exit;
开发者ID:kapai69,项目名称:fl-ru-damp,代码行数:31,代码来源:index.php


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