• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/task.php
  • Класс: CAllTask
  • Вызов: CAllTask::UpdateModuleRights
static function UpdateModuleRights($id, $moduleId, $letter, $site_id = false)
{
	global $DB;

	if (!isset($id, $moduleId))
		return false;

	$sql = "SELECT GT.GROUP_ID
			FROM b_group_task GT
			WHERE GT.TASK_ID=".intval($id);
	$z = $DB->Query($sql, false, "FILE: ".__FILE__."
LINE: ".__LINE__); $arGroups = array(); while($r = $z->Fetch()) { $g = intval($r['GROUP_ID']); if ($g > 0) $arGroups[] = $g; } if (empty($arGroups)) return false; $str_groups = implode(',', $arGroups); $moduleId = $DB->ForSQL($moduleId); $DB->Query( "DELETE FROM b_module_group WHERE MODULE_ID = '".$moduleId."' AND SITE_ID ".($site_id ? "='".$site_id."'" : "IS NULL")." AND GROUP_ID IN (".$str_groups.")", false, "FILE: ".__FILE__."
LINE: ".__LINE__ ); if ($letter != '') { $letter = $DB->ForSQL($letter); $DB->Query( "INSERT INTO b_module_group (MODULE_ID, GROUP_ID, G_ACCESS, SITE_ID) ". "SELECT '".$moduleId."', G.ID, '".$letter."', ".($site_id ? "'".$site_id."'" : "NULL")." ". "FROM b_group G ". "WHERE G.ID IN (".$str_groups.")" , false, "File: ".__FILE__."
Line: ".__LINE__ ); } ModuleGroupTable::cleanCache(); return ($letter != ''); }