• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasktools.php
  • Класс: CTasksTools
  • Вызов: CTasksTools::GetOptionPathTaskXXXEntry
static function GetOptionPathTaskXXXEntry($nameComponent, $siteId, $defaultValue)
{
	static $arModules = array(
		'tasks',
		'intranet',
		'extranet'
		);

	$argsCheck = is_string($nameComponent)
		&& is_string($siteId)
		&& is_string($defaultValue);

	if ( ! $argsCheck )
		throw new TasksException();

	$arOptNames = array(
		'paths_task_' . $nameComponent . '_entry',
		'path_task_' . $nameComponent . '_entry');

	// marker which means that option is not set, great confidence level
	$nullMarker = '-1';

	if ($defaultValue === $nullMarker)
		$nullMarker = '-2';

	$bDataGathered = false;
	$rc = false;
	foreach ($arModules as $moduleId)
	{
		if ($bDataGathered)
			break;

		foreach ($arOptNames as $optionName)
		{
			if ($bDataGathered)
				break;

			$rc = COption::GetOptionString($moduleId, $optionName, $nullMarker, $siteId);
			if ($rc !== $nullMarker)
			{
				$bDataGathered = true;
				break;
			}
		}
	}

	if ( ! $bDataGathered )
		$rc = $defaultValue;

	return ($rc);
}