- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskfiles.php
- Класс: CTaskFiles
- Вызов: CTaskFiles::Add
public function Add($arFields, $arParams = array())
{
/**
* @global CDatabase $DB
*/
global $DB;
$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']))
{
if ( ! in_array(
$arParams['CHECK_RIGHTS_ON_FILES'],
array(true, false, 'Y', 'N'),
true
))
{
throw new Exception();
}
if (
($arParams['CHECK_RIGHTS_ON_FILES'] === false)
|| ($arParams['CHECK_RIGHTS_ON_FILES'] === 'N')
)
{
$bCheckRightsOnFiles = false;
}
else
$bCheckRightsOnFiles = true;
}
}
if ($userId === null)
{
$userId = User::getId();
if(!$userId)
{
$userId = User::getAdminId();
}
}
if ($this->CheckFields($arFields))
{
if ($bCheckRightsOnFiles)
{
if ( ! self::isFileAccessibleByUser( (int) $arFields['FILE_ID'], $userId) )
{
/**
* @global CMain $APPLICATION
*/
global $APPLICATION;
$e = new CAdminException(array(array('text' => GetMessage('TASKS_BAD_FILE_ID_EX'), 'id' => 'ERROR_TASKS_BAD_FILE_ID_EX')));
$APPLICATION->ThrowException($e);
return false;
}
}
$arFields["ID"] = 1;
$ID = $DB->Add("b_tasks_file", $arFields, Array(), "tasks");
// Mark that attached files is not temporary now, but permament (if it was temporary)
if (self::isTemporaryFileRegistered($userId, $arFields['FILE_ID']))
self::unregisterTemporaryFiles(array($arFields['FILE_ID']));
return $ID;
}
return false;
}