• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/columnmanager.php
  • Класс: CTaskColumnPresetManager
  • Вызов: CTaskColumnPresetManager::getPresets
public function getPresets()
{
	global $DB;

	IncludeModuleLangFile(__FILE__);

	switch ($this->contextId)
	{
		case CTaskColumnContext::CONTEXT_RESPONSIBLE:
			$arPresets = array(
				self::PRESET_DEFAULT => array(
					'ID'                 => self::PRESET_DEFAULT,
					'USER_ID'            => $this->userId,
					'CONTEXT_ID'         => $this->contextId,
					'NAME'               => GetMessage('TASKS_COLUMN_MANAGER_DEFAULT_PRESET_NAME'),
					'SERIALIZED_COLUMNS' => serialize(array(
						array(
							'ID'    => CTaskColumnList::COLUMN_TITLE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_DEADLINE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_ORIGINATOR,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_GRADE,
							'WIDTH' => 65
						)
					))
				)
			);
		break;

		case CTaskColumnContext::CONTEXT_ORIGINATOR:
			$arPresets = array(
				self::PRESET_DEFAULT => array(
					'ID'                 => self::PRESET_DEFAULT,
					'USER_ID'            => $this->userId,
					'CONTEXT_ID'         => $this->contextId,
					'NAME'               => GetMessage('TASKS_COLUMN_MANAGER_DEFAULT_PRESET_NAME'),
					'SERIALIZED_COLUMNS' => serialize(array(
						array(
							'ID'    => CTaskColumnList::COLUMN_TITLE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_DEADLINE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_RESPONSIBLE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_GRADE,
							'WIDTH' => 65
						)
					))
				)
			);
		break;

		default:
		case CTaskColumnContext::CONTEXT_ALL:
		case CTaskColumnContext::CONTEXT_AUDITOR:
		case CTaskColumnContext::CONTEXT_ACCOMPLICE:
		case CTaskColumnContext::CONTEXT_TASK_DETAIL:
			$arPresets = array(
				self::PRESET_DEFAULT => array(
					'ID'                 => self::PRESET_DEFAULT,
					'USER_ID'            => $this->userId,
					'CONTEXT_ID'         => $this->contextId,
					'NAME'               => GetMessage('TASKS_COLUMN_MANAGER_DEFAULT_PRESET_NAME'),
					'SERIALIZED_COLUMNS' => serialize(array(
						array(
							'ID'    => CTaskColumnList::COLUMN_TITLE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_DEADLINE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_ORIGINATOR,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_RESPONSIBLE,
							'WIDTH' => 0
						),
						array(
							'ID'    => CTaskColumnList::COLUMN_GRADE,
							'WIDTH' => 65
						)
					))
				)
			);
		break;
	}

	$rc = $DB->query(
		"SELECT ID, USER_ID, CONTEXT_ID, NAME, SERIALIZED_COLUMNS
		FROM b_tasks_columns
		WHERE USER_ID = " . $this->userId . " AND CONTEXT_ID = " . $this->contextId
	);

	while ($ar = $rc->fetch())
		$arPresets[$ar['ID']] = $ar;

	return ($arPresets);
}