示例#1
0
 $depth = intval($_POST["depth"]) + 1;
 $bGannt = false;
 if (isset($_POST['bGannt'])) {
     $bGannt = (bool) $_POST['bGannt'];
 }
 // Override CHECK_PERMISSIONS, if it was given in $_POST['filter']
 $arFilter['CHECK_PERMISSIONS'] = 'Y';
 $rsTasks = CTasks::GetList($arOrder, $arFilter);
 $arTasks = array();
 $arTasksIDs = array();
 $arViewed = array();
 while ($task = $rsTasks->GetNext()) {
     $arTasks[$task["ID"]] = $task;
     $arTasksIDs[] = $task["ID"];
     $arViewed[$task["ID"]] = $task["VIEWED_DATE"] ? $task["VIEWED_DATE"] : $task["CREATED_DATE"];
     $rsTaskFiles = CTaskFiles::GetList(array(), array("TASK_ID" => $task["ID"]));
     $task["FILES"] = array();
     while ($arTaskFile = $rsTaskFiles->Fetch()) {
         $rsFile = CFile::GetByID($arTaskFile["FILE_ID"]);
         if ($arFile = $rsFile->Fetch()) {
             $task["FILES"][] = $arFile;
         }
     }
     $arTasks[$task["ID"]] = $task;
 }
 unset($arFilter["PARENT_ID"]);
 $rsChildrenCount = CTasks::GetChildrenCount($arFilter, $arTasksIDs);
 if ($rsChildrenCount) {
     while ($arChildrens = $rsChildrenCount->Fetch()) {
         $arChildrenCount["PARENT_" . $arChildrens["PARENT_ID"]] = $arChildrens["CNT"];
     }
示例#2
0
 /**
  * @param integer $fileId
  * @throws TasksException
  * @throws CTaskAssertException
  * 
  * This function is deprecated, it wont work with a new disk-based file attachment mechanism
  * 
  * @deprecated
  */
 public function removeAttachedFile($fileId)
 {
     CTaskAssert::assertLaxIntegers($fileId);
     CTaskAssert::assert($fileId > 0);
     if (!$this->isActionAllowed(self::ACTION_EDIT)) {
         CTaskAssert::log('access denied while trying to remove file: fileId=' . $fileId . ', taskId=' . $this->taskId . ', userId=' . $this->executiveUserId, CTaskAssert::ELL_WARNING);
         throw new TasksException('', TasksException::TE_ACTION_NOT_ALLOWED);
     }
     if (!CTaskFiles::Delete($this->taskId, $fileId)) {
         throw new TasksException('File #' . $fileId . ' not attached to task #' . $this->taskId, TasksException::TE_FILE_NOT_ATTACHED_TO_TASK);
     }
 }
示例#3
0
 function UpdateListItems($listName, $updates)
 {
     global $USER, $DB;
     $arPaths = array('user' => COption::GetOptionString('intranet', 'path_task_user_entry', '/company/personal/user/#USER_ID#/tasks/task/view/#TASK_ID#/'), 'group' => COption::GetOptionString('intranet', 'path_task_group_entry', '/workgroups/group/#GROUP_ID#/tasks/task/view/#TASK_ID#/'));
     if (!$this->__Init()) {
         return $this->error;
     }
     if (!($listName_original = CIntranetUtils::checkGUID($listName))) {
         return new CSoapFault('Data error', 'Wrong GUID - ' . $listName);
     }
     $listName = ToUpper(CIntranetUtils::makeGUID($listName_original));
     $obResponse = new CXMLCreator('Results');
     $obBatch = $updates->children[0];
     $atrONERROR = $obBatch->getAttribute('OnError');
     $atrDATEINUTC = $obBatch->getAttribute('DateInUtc');
     $atrPROPERTIES = $obBatch->getAttribute('Properties');
     $arChanges = $obBatch->children;
     $arResultIDs = array();
     $dateStart = ConvertTimeStamp(strtotime('-1 hour'), 'FULL');
     $arResponseRows = array();
     $arResponseRowsError = array();
     $arReplicationIDs = array();
     foreach ($arChanges as $obMethod) {
         $arData = array('_command' => $obMethod->getAttribute('Cmd'));
         $ID = false;
         $bUpdate = true;
         $arElement = false;
         $arSection = $this->arUsersSection;
         foreach ($obMethod->children as $obField) {
             $name = $obField->getAttribute('Name');
             if ($name == 'MetaInfo') {
                 $name .= '_' . $obField->getAttribute('Property');
             }
             $arData[$name] = $obField->content;
         }
         $obResponseRow = new CXMLCreator('Result');
         $obResponseRow->setAttribute('ID', $obMethod->getAttribute('ID') . ',' . $arData['_command']);
         $obResponseRow->setAttribute('List', $listName);
         $obResponseRow->addChild($obErrorCode = new CXMLCreator('ErrorCode'));
         if ($arData['ID'] > 0) {
             $rsElement = CTasks::GetById($arData['ID']);
             if ($rsElement && ($arElement = $rsElement->Fetch())) {
                 if (!is_array($arElement)) {
                     $obErrorCode->setData('0x81020016');
                     $bUpdate = false;
                 } else {
                     if ($arElement['taskType'] == "group") {
                         $arGroupTmp = CSocNetGroup::GetByID($arElement['ownerId']);
                         if ($arGroupTmp["CLOSED"] == "Y") {
                             if (COption::GetOptionString("socialnetwork", "work_with_closed_groups", "N") != "Y") {
                                 return new CSoapFault('Cannot modify archive group task', 'Cannot modify archive group task');
                             }
                         }
                     }
                     $arElement['arParams'] = array(intval($arElement['GROUP_ID']) > 0 ? 'PATH_TO_USER_TASKS_TASK' : 'PATH_TO_GROUP_TASKS_TASK' => str_replace(array('#USER_ID#', '#GROUP_ID#', '#TASK_ID#'), array($USER->GetID(), $arSection['XML_ID'], $arElement['ID']), $arPaths[$arElement['taskType']]));
                 }
             } else {
                 $obErrorCode->setData('0x81020016');
                 $bUpdate = false;
             }
         }
         if ($bUpdate) {
             if ($arData['_command'] == 'Delete' && $arElement["CREATED_BY"] == $USER->GetID()) {
                 $arError = false;
                 if (!CTasks::Delete($arElement['ID'])) {
                     $obErrorCode->setData('0x81020014');
                 } else {
                     $obErrorCode->setData('0x00000000');
                 }
             } elseif ($arData['_command'] == 'New' || $arData['_command'] == 'Update') {
                 $arData['Body'] = trim($arData['Body']);
                 $arData['Body'] = str_replace(array("
", "
", ' '), "", $arData['Body']);
                 $arData['Body'] = preg_replace("/<![^>]*>/", '', $arData['Body']);
                 if (($pos = strpos($arData['Body'], '<BODY>')) !== false) {
                     $arData['Body'] = substr($arData['Body'], $pos + 6);
                 }
                 echo $pos . ' ';
                 if (($pos = strpos($arData['Body'], '</BODY>')) !== false) {
                     $arData['Body'] = substr($arData['Body'], 0, $pos);
                 }
                 echo $pos . ' ';
                 $TZBias = intval(date('Z'));
                 $arData['StartDate'] = $arData['StartDate'] ? $this->__makeTS($arData['StartDate']) + $TZBias : '';
                 $arData['DueDate'] = $arData['DueDate'] ? $this->__makeTS($arData['DueDate']) + $TZBias : '';
                 $arData['MetaInfo_DateComplete'] = $arData['MetaInfo_DateComplete'] ? $this->__makeTS($arData['EndDate']) + $TZBias : '';
                 $probablyHtmlInDescription = strpos($arData['Body'], '<') !== false && strpos($arData['Body'], '>');
                 $arFields = array('DESCRIPTION_IN_BBCODE' => $probablyHtmlInDescription ? 'N' : 'Y', 'CHANGED_BY' => $USER->GetID(), 'CHANGED_DATE' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()), 'SITE_ID' => SITE_ID, 'TITLE' => $arData['Title'], 'START_DATE_PLAN' => $arData['StartDate'] ? ConvertTimeStamp($arData['StartDate']) : '', 'DEADLINE' => $arData['DueDate'] ? ConvertTimeStamp($arData['DueDate']) : '', 'DESCRIPTION' => $arData['Body'], 'PRIORITY' => isset($arData['Priority']) ? intval($arData['Priority']) : 1, 'DURATION_PLAN' => $arData['MetaInfo_TotalWork'] / 60, 'DURATION_FACT' => $arData['MetaInfo_ActualWork'] / 60, 'CLOSED_DATE' => $arData['MetaInfo_DateComplete'] ? ConvertTimeStamp($arData['MetaInfo_DateComplete']) : '');
                 if (in_array($arData['Status'], $this->arStatuses)) {
                     $arFields["STATUS"] = $arData['Status'];
                 }
                 if ($assigned_to = $arData['AssignedTo']) {
                     if ($USER_ID = $this->__getUser($assigned_to)) {
                         $arFields['RESPONSIBLE_ID'] = $USER_ID;
                     } else {
                         $obErrorCode->setData('0x81020054');
                         $bUpdate = false;
                     }
                 } else {
                     $arFields['RESPONSIBLE_ID'] = $USER->getId();
                 }
                 if ($bUpdate) {
                     CTimeZone::Disable();
                     $ID = 0;
                     $obTask = new CTasks();
                     $arError = false;
                     if ($arData['_command'] == 'New') {
                         if ($arFields["RESPONSIBLE_ID"] == $USER->GetID() || CTasks::IsSubordinate($arFields["RESPONSIBLE_ID"], $USER->GetID())) {
                             $arFields["STATUS"] = 2;
                         } else {
                             $arFields["STATUS"] = 1;
                         }
                         $arFields['OUTLOOK_VERSION'] = 1;
                         $arFields["CREATED_BY"] = $USER->GetID();
                         $arFields["CREATED_DATE"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time());
                         if ($ID = $obTask->Add($arFields)) {
                             $arReplicationIDs[$ID] = $arData['MetaInfo_ReplicationID'];
                             $obErrorCode->setData('0x00000000');
                         }
                     } else {
                         if ($arElement["CREATED_BY"] == $USER->GetID() || $arElement["RESPONSIBLE_ID"] == $USER->GetID()) {
                             if ($arElement["CREATED_BY"] != $USER->GetID()) {
                                 unset($arFields["TITLE"], $arFields["START_DATE_PLAN"], $arFields["DESCRIPTION"], $arFields["PRIORITY"], $arFields["DURATION_PLAN"], $arFields["CLOSED_DATE"]);
                                 if ($arElement["ALLOW_CHANGE_DEADLINE"] != "Y") {
                                     unset($arFields["DEADLINE"]);
                                 }
                                 if ($arElement["TASK_CONTROL"] != "Y" && $arFields["STATUS"] == 5) {
                                     $arFields["STATUS"] = 4;
                                 }
                             } elseif ($arElement["RESPONSIBLE_ID"] != $USER->GetID() && ($arFields["STATUS"] == 6 || $arFields["STATUS"] == 3)) {
                                 unset($arFields["STATUS"]);
                             }
                             $arFields['OUTLOOK_VERSION'] = $arData['owshiddenversion'];
                             if (sizeof($arFields) > 0) {
                                 if ($obTask->Update($arData['ID'], $arFields)) {
                                     $ID = $arData['ID'];
                                     $obErrorCode->setData('0x00000000');
                                 }
                             }
                         }
                     }
                     CTimeZone::Enable();
                     if (is_array($obTask->GetErrors()) && count($obTask->GetErrors()) > 0) {
                         $ID = 0;
                         $obErrorCode->setData('0x81020014');
                         $bUpdate = false;
                     } else {
                         $taskType = $arElement ? $arElement['taskType'] : 'user';
                         $ownerId = $arElement ? $arElement['ownerId'] : $USER->GetID();
                         $arParams = $arElement ? $arElement['arParams'] : array('PATH_TO_USER_TASKS_TASK' => str_replace(array('#USER_ID#', '#GROUP_ID#', '#TASK_ID#'), array($USER->GetID(), $arSection['XML_ID'], $ID), $arPaths['user']));
                     }
                 }
             }
         }
         if ($ID > 0) {
             $arResponseRows[$ID] = $obResponseRow;
         } else {
             $arResponseRowsError[] = $obResponseRow;
         }
     }
     if (sizeof($arResponseRows) > 0) {
         $dbRes = CTasks::GetList(array('ID' => 'ASC'), array('ID' => array_keys($arResponseRows), 'MEMBER' => $USER->GetID()));
         while ($arRes = $dbRes->Fetch()) {
             if ($arResponseRows[$arRes['ID']]) {
                 $rsFiles = CTaskFiles::GetList(array(), array("TASK_ID" => $arRes["ID"]));
                 $arRes["FILES"] = array();
                 while ($arFiles = $rsFiles->Fetch()) {
                     $arRes["FILES"][] = $arFiles["FILE_ID"];
                 }
                 $obRow = $this->__getRow($arRes, $listName, $last_change = 0);
                 if ($arReplicationIDs[$arRes['ID']]) {
                     $obRow->setAttribute('ows_MetaInfo_ReplicationID', $arReplicationIDs[$arRes['ID']]);
                 }
                 $obRow->setAttribute('xmlns:z', "#RowsetSchema");
                 $arResponseRows[$arRes['ID']]->addChild($obRow);
                 $obResponse->addChild($arResponseRows[$arRes['ID']]);
             }
         }
     }
     foreach ($arResponseRowsError as $obChange) {
         $obResponse->addChild($obChange);
     }
     return array('UpdateListItemsResult' => $obResponse);
 }
示例#4
0
 /**
  * @param integer $TASK_ID
  * @param array $SAVE_FILES
  * @return bool|CDBResult
  *
  * @var CDatabase $DB
  */
 public static function DeleteByTaskID($TASK_ID, $SAVE_FILES = array())
 {
     global $DB;
     $rsTaskFiles = CTaskFiles::GetList(array(), array("TASK_ID" => $TASK_ID));
     $sqrWhereAdditional = '';
     if (is_array($SAVE_FILES) && count($SAVE_FILES)) {
         $sqrWhereAdditional .= 'AND FILE_ID NOT IN (' . implode(',', array_map('intval', $SAVE_FILES)) . ')';
     }
     $TASK_ID = intval($TASK_ID);
     $strSql = "DELETE FROM b_tasks_file WHERE TASK_ID = " . $TASK_ID . ' ' . $sqrWhereAdditional;
     $result = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__);
     if ($result) {
         $arFilesToDelete = array();
         while ($arTaskFiles = $rsTaskFiles->Fetch()) {
             // Skip files, that attached to some existing tasks
             $rsFiles = CTaskFiles::GetList(array(), array("FILE_ID" => $arTaskFiles["FILE_ID"]));
             if (!($arFile = $rsFiles->Fetch())) {
                 if (!in_array($arTaskFiles["FILE_ID"], $SAVE_FILES)) {
                     $arFilesToDelete[] = $arTaskFiles["FILE_ID"];
                 }
             }
         }
         foreach ($arFilesToDelete as $file) {
             CFile::Delete($file);
         }
     }
     return $result;
 }
示例#5
0
        for ($i = 0; $i < $count; $i++) {
            $fileID = CTaskFiles::saveFileTemporary($curUserId, $_FILES["task-attachments"]["name"][$i], $_FILES["task-attachments"]["size"][$i], $_FILES["task-attachments"]["tmp_name"][$i], $_FILES["task-attachments"]["type"][$i]);
            $tmp = array("name" => $_FILES["task-attachments"]["name"][$i], "fileID" => $fileID);
            if ($fileID) {
                $tmp["fileULR"] = "/bitrix/components/bitrix/tasks.task.detail/show_file.php?fid=" . (int) $fileID;
            }
            $arResult[] = $tmp;
        }
    }
    $APPLICATION->RestartBuffer();
    Header('Content-Type: text/html; charset=' . LANG_CHARSET);
    ?>
	<script type="text/javascript">
		<?php 
    echo CUtil::JSEscape($callbackFunctionName);
    ?>
(<?php 
    echo CUtil::PhpToJsObject($arResult);
    ?>
, <?php 
    echo intval($_POST["uniqueID"]);
    ?>
);
	</script>
<?php 
} elseif ($_POST["mode"] == "delete") {
    if (check_bitrix_sessid()) {
        CTaskFiles::removeTemporaryFile($curUserId, (int) $_POST['fileID']);
    }
}
die;
示例#6
0
                 $items[$id] = $data;
             } else {
                 $items[] = $data;
             }
         }
     }
     $_POST['CHECKLIST_ITEMS'] = $items;
     // too bad
 }
 $arResult["ERRORS"] = $template->GetErrors();
 if (sizeof($arResult["ERRORS"]) == 0) {
     $arUploadedFils = unserialize($arFields["FILES"]);
     if (is_array($arUploadedFils) && count($arUploadedFils)) {
         $userId = (int) $USER->GetID();
         foreach ($arUploadedFils as $fileId) {
             CTaskFiles::removeTemporaryFile($userId, (int) $fileId);
         }
     }
     // add\update check list items here
     try {
         \Bitrix\Tasks\Template\CheckListItemTable::updateForTemplate($templateID, $_POST['CHECKLIST_ITEMS']);
     } catch (\Bitrix\Main\ArgumentException $e) {
     }
     if (strlen($_POST["save"]) > 0) {
         if ((string) $arParams['PATH_TO_TEMPLATES_TEMPLATE'] !== '' && intval($templateID)) {
             $redirectPath = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TEMPLATES_TEMPLATE"], array('template_id' => $templateID, 'action' => 'view'));
         } else {
             $redirectPath = $arResult["RETURN_URL"];
         }
     } else {
         $redirectPath = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_TASKS_TEMPLATES"], array());
示例#7
0
}
unset($rsUser, $arUser);
// Store photos links in task data
foreach ($arResult['TASKS'] as $key => $value) {
    $arResult['TASKS'][$key]['META::ORIGINATOR_PHOTO_SRC'] = false;
    $arResult['TASKS'][$key]['META::RESPONSIBLE_PHOTO_SRC'] = false;
    if (isset($arUsersPhotos[$value['CREATED_BY']])) {
        $arResult['TASKS'][$key]['META::ORIGINATOR_PHOTO_SRC'] = $arUsersPhotos[$value['CREATED_BY']];
    }
    if (isset($arUsersPhotos[$value['RESPONSIBLE_ID']])) {
        $arResult['TASKS'][$key]['META::RESPONSIBLE_PHOTO_SRC'] = $arUsersPhotos[$value['RESPONSIBLE_ID']];
    }
}
if (!$bSkipFiles) {
    if (count($arTasksIDs)) {
        $rsTaskFiles = CTaskFiles::GetList(array(), array('TASK_ID' => $arTasksIDs));
        while ($arTaskFile = $rsTaskFiles->Fetch()) {
            $rsFile = CFile::GetByID($arTaskFile['FILE_ID']);
            if ($arFile = $rsFile->Fetch()) {
                $arResult['TASKS'][$arTaskFile['TASK_ID']]['FILES'][] = $arFile;
            }
        }
    }
}
if (!$bSkipUpdatesCount) {
    $arResult['UPDATES_COUNT'] = CTasks::GetUpdatesCount($arViewedDates);
}
if (!$bSkipGroupsDataFetch) {
    // collect groups with tasks
    $arResult['GROUPS'] = array(0 => array('ID' => 0, 'NAME' => GetMessage('MB_TASKS_TASKS_LIST_PSEUDO_GROUP_NAME'), 'META:TASKS_IN_GROUP' => $arGroupsStat[0]['TASKS_IN_GROUP'], 'META:TASKS_STATUSES' => $arGroupsStat[0]['STATUSES'], 'META:TASKS_PRIORITIES' => $arGroupsStat[0]['PRIORITIES']));
    // List of groups to be fetched from DB
示例#8
0
 function Delete($ID)
 {
     global $DB, $USER_FIELD_MANAGER;
     $ID = intval($ID);
     if ($ID > 0) {
         $rsTemplate = CTaskTemplates::GetByID($ID);
         if ($arTemplate = $rsTemplate->Fetch()) {
             // Remove all agents for this template
             /** @noinspection PhpDynamicAsStaticMethodCallInspection */
             CAgent::RemoveAgent('CTasks::RepeatTaskByTemplateId(' . $ID . ');', 'tasks');
             /** @noinspection PhpDynamicAsStaticMethodCallInspection */
             CAgent::RemoveAgent('CTasks::RepeatTaskByTemplateId(' . $ID . ', 0);', 'tasks');
             /** @noinspection PhpDynamicAsStaticMethodCallInspection */
             CAgent::RemoveAgent('CTasks::RepeatTaskByTemplateId(' . $ID . ', 1);', 'tasks');
             if ($arTemplate["FILES"]) {
                 $arFiles = unserialize($arTemplate["FILES"]);
                 if (is_array($arFiles)) {
                     $arFilesToDelete = array();
                     foreach ($arFiles as $file) {
                         $rsFile = CTaskFiles::GetList(array(), array("FILE_ID" => $file));
                         if (!($arFile = $rsFile->Fetch())) {
                             $arFilesToDelete[] = $file;
                         }
                     }
                     foreach ($arFilesToDelete as $file) {
                         CFile::Delete($file);
                     }
                 }
             }
             $dbConnection = \Bitrix\Main\HttpApplication::getConnection();
             $strSql = "DELETE FROM b_tasks_template WHERE ID = " . $ID;
             if ($DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__)) {
                 $USER_FIELD_MANAGER->Delete("TASKS_TASK_TEMPLATE", $ID);
                 // drop children (sub-templates)
                 $dbConnection->query("delete from b_tasks_template where ID in (" . Template\DependencyTable::getSubTreeSql($ID) . ")");
                 // drop tree records for this templates and it`s children
                 try {
                     Template\DependencyTable::dropLinkL($ID);
                 } catch (\Bitrix\Tasks\DB\Tree\TargetNodeNotFoundException $e) {
                 }
                 return true;
             }
         }
     }
     return false;
 }
示例#9
0
 function AddFiles($ID, $arFiles = array(), $arParams = array())
 {
     $arFilesIds = array();
     $userId = null;
     $bCheckRightsOnFiles = false;
     if (is_array($arParams)) {
         if (isset($arParams['USER_ID']) && $arParams['USER_ID'] > 0) {
             $userId = (int) $arParams['USER_ID'];
         }
         if (isset($arParams['CHECK_RIGHTS_ON_FILES'])) {
             $bCheckRightsOnFiles = $arParams['CHECK_RIGHTS_ON_FILES'];
         }
     }
     if ($userId === null) {
         global $USER;
         $userId = is_object($USER) ? intval($USER->GetID()) : 1;
     }
     if ($arFiles) {
         foreach ($arFiles as $file) {
             $arFilesIds[] = (int) $file;
         }
         if (count($arFilesIds)) {
             CTaskFiles::AddMultiple($ID, $arFilesIds, array('USER_ID' => $userId, 'CHECK_RIGHTS_ON_FILES' => $bCheckRightsOnFiles));
         }
     }
 }
示例#10
0
    if ($arParams["FILE_ID"] > 0) {
        if ($arParams["TEMPLATE_ID"]) {
            $rsTemplate = CTaskTemplates::GetList(array(), array("ID" => $arParams["TEMPLATE_ID"], "CREATED_BY" => $USER->GetID()));
            if ($arTemplate = $rsTemplate->Fetch()) {
                $arTemplate["FILES"] = unserialize($arTemplate["FILES"]);
                if (is_array($arTemplate["FILES"]) && in_array($arParams["FILE_ID"], $arTemplate["FILES"])) {
                    $bFound = true;
                }
            }
        } else {
            if ($arParams['TASK_ID']) {
                if (CTaskFiles::isUserfieldFileAccessibleByUser($arParams['TASK_ID'], $arParams['FILE_ID'], $USER->GetID())) {
                    $bFound = true;
                }
            }
            if (!$bFound && CTaskFiles::isFileAccessibleByUser((int) $arParams["FILE_ID"], $USER->GetID())) {
                $bFound = true;
            }
        }
    }
    if ($bFound) {
        $arResult["FILE"] = CFile::GetFileArray($arParams["FILE_ID"]);
    }
}
if (!$arResult["FILE"]) {
    require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_after.php";
    ShowError("File not found");
    require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/epilog.php";
    die;
}
set_time_limit(0);
示例#11
0
 $arTemplate["ACCOMPLICES"] = $arTemplate["~ACCOMPLICES"] ? unserialize($arTemplate["~ACCOMPLICES"]) : array();
 $arTemplate["AUDITORS"] = $arTemplate["~AUDITORS"] ? unserialize($arTemplate["~AUDITORS"]) : array();
 $arTemplate["RESPONSIBLES"] = $arTemplate["~RESPONSIBLES"] ? unserialize($arTemplate["~RESPONSIBLES"]) : array();
 $arTemplate["FILES"] = $arTemplate["~FILES"] ? unserialize($arTemplate["~FILES"]) : array();
 $arTemplate["TAGS"] = $arTemplate["~TAGS"] = $arTemplate["~TAGS"] ? unserialize($arTemplate["~TAGS"]) : "";
 $arTemplate["DEPENDS_ON"] = $arTemplate["~DEPENDS_ON"] ? unserialize($arTemplate["~DEPENDS_ON"]) : array();
 $arTemplate["DESCRIPTION"] = $arTemplate["~DESCRIPTION"];
 $arTemplate["CREATED_BY_NAME"] = $arTemplate["~CREATED_BY_NAME"];
 $arTemplate["CREATED_BY_LAST_NAME"] = $arTemplate["~CREATED_BY_LAST_NAME"];
 $arTemplate["CREATED_BY_SECOND_NAME"] = $arTemplate["~CREATED_BY_SECOND_NAME"];
 $arTemplate["CREATED_BY_LOGIN"] = $arTemplate["~CREATED_BY_LOGIN"];
 if (!empty($arTemplate["FILES"])) {
     foreach ($arTemplate["FILES"] as $key => $file) {
         $newFile = CFile::CopyFile($file);
         if ($newFile > 0) {
             CTaskFiles::markFileTemporary($loggedInUserId, $newFile);
             $arTemplate["FILES"][$key] = $newFile;
         }
     }
 }
 $arTemplate["REPLICATE_PARAMS"] = unserialize($arTemplate["~REPLICATE_PARAMS"]);
 if (is_array($arTemplate["REPLICATE_PARAMS"])) {
     foreach ($arTemplate["REPLICATE_PARAMS"] as $field => $value) {
         $arTemplate["REPLICATE_" . $field] = $value;
     }
 }
 if ($arTemplate["DEADLINE_AFTER"]) {
     $deadlineAfter = $arTemplate["DEADLINE_AFTER"] / (24 * 60 * 60);
     $arTemplate["DEADLINE"] = date($DB->DateFormatToPHP(CSite::GetDateFormat("SHORT")), strtotime(date("Y-m-d 00:00") . " +" . $deadlineAfter . " days"));
 }
 // check list items