コード例 #1
0
ファイル: listcontrols.php プロジェクト: DarneoStudio/bitrix
 public function add($data, $parameters = array())
 {
     global $DB, $USER;
     $result = array();
     if (!$USER->IsAuthorized()) {
         throw new Tasks\Exception("Authentication is required.");
     }
     $title = isset($data["title"]) ? trim($data["title"]) : "";
     $responsible = isset($data["responsible"]) ? intval($data["responsible"]) : $USER->GetID();
     $deadline = isset($data["deadline"]) && $DB->FormatDate($data["deadline"], \CSite::GetDateFormat("FULL")) ? $data["deadline"] : "";
     $description = isset($data["description"]) ? trim($data["description"]) : "";
     $project = isset($data["project"]) ? intval($data["project"]) : 0;
     $nameTemplate = isset($data["nameTemplate"]) ? trim($data["nameTemplate"]) : "";
     $ganttMode = isset($data["ganttMode"]) && $data["ganttMode"] === "true";
     if (strlen($nameTemplate) > 0) {
         preg_match_all("/(#NAME#)|(#NOBR#)|(#\\/NOBR#)|(#LAST_NAME#)|(#SECOND_NAME#)|(#NAME_SHORT#)|(#SECOND_NAME_SHORT#)|\\s|\\,/", $nameTemplate, $matches);
         $nameTemplate = implode("", $matches[0]);
     } else {
         $nameTemplate = \CSite::GetNameFormat(false);
     }
     $fields = array("TITLE" => $title, "DESCRIPTION" => $description, "RESPONSIBLE_ID" => $responsible, "DEADLINE" => $deadline, "SITE_ID" => $data["siteId"], "GROUP_ID" => $project, "NAME_TEMPLATE" => $nameTemplate, 'DESCRIPTION_IN_BBCODE' => "Y");
     $taskItem = \CTaskItem::add($fields, $USER->GetId());
     $task = $taskItem->getData();
     $task["GROUP_NAME"] = "";
     if ($task["GROUP_ID"]) {
         $socGroup = \CSocNetGroup::GetByID($task["GROUP_ID"]);
         if ($socGroup) {
             $task["GROUP_NAME"] = $socGroup["~NAME"];
         }
     }
     \Bitrix\Main\FinderDestTable::merge(array("CONTEXT" => "TASK_RESPONSIBLE", "CODE" => array("U" . $task["RESPONSIBLE_ID"], "SG" . $task["GROUP_ID"])));
     $taskId = $taskItem->getId();
     $arPaths = array("PATH_TO_TASKS_TASK" => isset($data["pathToTask"]) ? trim($data["pathToTask"]) : "", "PATH_TO_USER_PROFILE" => isset($data["pathToUser"]) ? trim($data["pathToUser"]) : "", "PATH_TO_USER_TASKS_TASK" => isset($data["pathToUserTasksTask"]) ? trim($data["pathToUserTasksTask"]) : "");
     $columnsOrder = null;
     if (isset($data["columnsOrder"]) && is_array($data["columnsOrder"])) {
         $columnsOrder = array_map("intval", $data["columnsOrder"]);
     }
     $order = isset($data["order"]) && checkSerializedData($data["order"]) ? unserialize($data["order"]) : array();
     $filter = isset($data["filter"]) && checkSerializedData($data["filter"]) ? unserialize($data["filter"]) : array();
     $navigation = isset($data["navigation"]) && checkSerializedData($data["navigation"]) ? unserialize($data["navigation"]) : array();
     $select = isset($data["select"]) && checkSerializedData($data["select"]) ? unserialize($data["select"]) : array();
     $result["taskRaw"] = $task;
     $result["taskId"] = $task["ID"];
     $result["taskPath"] = \CComponentEngine::MakePathFromTemplate($arPaths["PATH_TO_TASKS_TASK"], array("task_id" => $task["ID"], "action" => "view"));
     $result["position"] = $this->getTaskPosition($taskId, $order, $filter, $navigation, $select);
     if ($ganttMode) {
         $result["task"] = $this->getJson($task, $arPaths, $nameTemplate);
     } else {
         $result["html"] = $this->getHtml($task, $arPaths, $nameTemplate, $columnsOrder);
     }
     return $result;
 }
コード例 #2
0
ファイル: site_checker.php プロジェクト: DarneoStudio/bitrix
 /**
  * Return last saved testing results
  * @return array
  */
 public static function getLastTestingInfo()
 {
     /** @global CCacheManager $CACHE_MANAGER*/
     global $CACHE_MANAGER;
     $cacheId = self::CACHE_BASE_ID . "_last_results";
     if ($CACHE_MANAGER->read(self::CHECKING_REPEAT_TIME, $cacheId, self::CACHE_DIR)) {
         $lastResult = $CACHE_MANAGER->get($cacheId);
     } else {
         $lastResult = array();
         $dbResults = self::getList();
         if ($dbResults) {
             $result = $dbResults->fetch();
             if ($result && isset($result["RESULTS"])) {
                 if (checkSerializedData($result["RESULTS"])) {
                     $lastResult["results"] = unserialize($result["RESULTS"]);
                 }
             }
             if ($result && isset($result["TEST_DATE"])) {
                 $lastResult["test_date"] = $result["TEST_DATE"];
             }
         }
         $CACHE_MANAGER->set($cacheId, $lastResult);
     }
     return is_array($lastResult) ? $lastResult : array();
 }