• Модуль: 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']; }