- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/task.php
- Класс: CAllTask
- Вызов: CAllTask::GetOperations
static function GetOperations($ID, $return_names = false)
{
global $DB, $CACHE_MANAGER;
$ID = intval($ID);
if (!isset(static::$TASK_OPERATIONS_CACHE[$ID]))
{
if(CACHED_b_task_operation !== false)
{
$cacheId = "b_task_operation_".$ID;
if($CACHE_MANAGER->Read(CACHED_b_task_operation, $cacheId, "b_task_operation"))
{
static::$TASK_OPERATIONS_CACHE[$ID] = $CACHE_MANAGER->Get($cacheId);
}
}
}
if (!isset(static::$TASK_OPERATIONS_CACHE[$ID]))
{
$sql_str = '
SELECT T_O.OPERATION_ID, O.NAME
FROM b_task_operation T_O
INNER JOIN b_operation O ON T_O.OPERATION_ID = O.ID
WHERE T_O.TASK_ID = '.$ID.'
';
static::$TASK_OPERATIONS_CACHE[$ID] = array(
'names' => array(),
'ids' => array(),
);
$z = $DB->Query($sql_str, false, "FILE: ".__FILE__."
LINE: ".__LINE__);
while($r = $z->Fetch())
{
static::$TASK_OPERATIONS_CACHE[$ID]['names'][] = $r['NAME'];
static::$TASK_OPERATIONS_CACHE[$ID]['ids'][] = $r['OPERATION_ID'];
}
if(CACHED_b_task_operation !== false)
{
/** @noinspection PhpUndefinedVariableInspection */
$CACHE_MANAGER->Set($cacheId, static::$TASK_OPERATIONS_CACHE[$ID]);
}
}
return static::$TASK_OPERATIONS_CACHE[$ID][$return_names ? 'names' : 'ids'];
}