• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskrarelytools.php
  • Класс: CTasksRarelyTools
  • Вызов: CTasksRarelyTools::isMandatoryUserFieldExists
static function isMandatoryUserFieldExists()
{
	/** @var $CACHE_MANAGER CCacheManager */
	global $CACHE_MANAGER;

	$isFieldExists = null;		// unknown yet

	$obCache  = new CPHPCache();
	$lifeTime = CTasksTools::CACHE_TTL_UNLIM;
	$cacheID  = md5('uftasks');
	$cacheDir = "/tasks/ufs";

	if (defined('BX_COMP_MANAGED_CACHE') && $obCache->InitCache($lifeTime, $cacheID, $cacheDir))
	{
		$data = $obCache->GetVars();
		$isFieldExists = $data['isFieldExists'];
	}
	else
	{

		$rsUserType = CUserTypeEntity::GetList(
			array(),
			array(
				'ENTITY_ID'  => 'TASKS_TASK',
				'MANDATORY'  => 'Y'
			)
		);

		if ($rsUserType->fetch())
			$isFieldExists = true;
		else
			$isFieldExists = false;

		if (defined('BX_COMP_MANAGED_CACHE') && $obCache->StartDataCache())
		{
			$CACHE_MANAGER->StartTagCache($cacheDir);
			$CACHE_MANAGER->RegisterTag('tasks_user_fields');
			$CACHE_MANAGER->EndTagCache();
			$data = array('isFieldExists' => $isFieldExists);
			$obCache->EndDataCache($data);
		}
	}

	return ($isFieldExists);
}