當前位置: 首頁>>代碼示例>>PHP>>正文


PHP projects::isExec方法代碼示例

本文整理匯總了PHP中projects::isExec方法的典型用法代碼示例。如果您正苦於以下問題:PHP projects::isExec方法的具體用法?PHP projects::isExec怎麽用?PHP projects::isExec使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在projects的用法示例。


在下文中一共展示了projects::isExec方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: isAllowed

 /**
  * Проверка возможности отправить сообщение ползователю.
  * 
  * @global type $DB
  * @staticvar null $exists_allowed
  *
  * @param type $to_id
  * @param type $from_id
  *
  * @return bool
  */
 public static function isAllowed($to_id, $from_id = null)
 {
     $is_auth = isset($_SESSION['uid']) && $_SESSION['uid'] > 0;
     if (!$from_id && !$is_auth) {
         return false;
     }
     if (!$from_id) {
         $from_id = $_SESSION['uid'];
     }
     if ($is_auth && (currentUserHasPermissions('users') || is_emp())) {
         return true;
     }
     $is_allowed = self::_isAllowed($to_id, $from_id);
     if (!$is_allowed) {
         //Была ли уже проверка доступности
         //тогда пользователю запрещено писать
         $key_check_is_allowed = sprintf(self::KEY_CHECK_IS_ALLOWED, $from_id, $to_id);
         $mem = new memBuff();
         if ($mem->get($key_check_is_allowed)) {
             return false;
         }
         //Иначе делаем проверку
         //Которые уже хотя бы раз общались с заказчиком через личку,
         //например если заказчик инициировал общение или они ранее общались
         $proxy_db = new DB();
         $is_allowed = $proxy_db->val('SELECT messages_dialog_count(?i, ?i)', $to_id, $from_id) > 0;
         //Которых заказчик выбрал исполнителем в любом своем проекте
         if (!$is_allowed) {
             require_once ABS_PATH . '/classes/projects.php';
             $is_allowed = (bool) projects::isExec($from_id, $to_id);
         }
         //В список условий я бы еще добавил проведение заказа на сайте - если есть завершенный заказ
         //(с резервом или без, по ТУ, проекту или прямой) с данным заказчиком, то тоже разрешать
         //исполнителю писать ему в личку, так как в заказе светится логин заказчика и они уже сотрудничали.
         if (!$is_allowed) {
             require_once ABS_PATH . '/tu/models/TServiceOrderModel.php';
             $is_allowed = (bool) TServiceOrderModel::hasSuccessfulOrder($from_id, $to_id);
         }
         //Если фрилансер был выбран на любое призовое место в конкурсе то
         //он может писать сообщения заказчику.
         if (!$is_allowed) {
             require_once ABS_PATH . '/classes/contest.php';
             $is_allowed = (bool) contest::isPrizePlace($from_id, $to_id);
         }
         if ($is_allowed) {
             self::setIsAllowed($to_id, $from_id, true);
         }
         $mem->set($key_check_is_allowed, 1, 0, self::KEY_CHECK_TAG_IS_ALLOWED);
     }
     return $is_allowed;
 }
開發者ID:kapai69,項目名稱:fl-ru-damp,代碼行數:62,代碼來源:messages.php


注:本文中的projects::isExec方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。