示例#1
0
    if (isset($_GET['TASK_ID'])) {
        $arParams['TASK_ID'] = (int) $_GET['TASK_ID'];
    }
    $bFound = false;
    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");