• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/group.php
  • Класс: CAllGroup
  • Вызов: CAllGroup::SetTasksForModule
static function SetTasksForModule($module_id, $arGroupTask)
{
	global $DB;

	$module_id = $DB->ForSql($module_id);
	$sql_str = "SELECT T.ID
		FROM b_task T
		WHERE T.MODULE_ID='".$module_id."'";
	$r = $DB->Query($sql_str, false, "File: ".__FILE__."
Line: ".__LINE__); $arIds = array(); while($arR = $r->Fetch()) $arIds[] = $arR['ID']; if(COption::GetOptionString("main", "event_log_module_access", "N") === "Y") { //get old values $arOldTasks = array(); if(!empty($arIds)) { $rsTask = $DB->Query("SELECT GROUP_ID, TASK_ID FROM b_group_task WHERE TASK_ID IN (".implode(",", $arIds).")"); while($arTask = $rsTask->Fetch()) $arOldTasks[$arTask["GROUP_ID"]] = $arTask["TASK_ID"]; } //compare with new ones foreach($arOldTasks as $gr_id=>$task_id) if($task_id <> $arGroupTask[$gr_id]['ID']) CEventLog::Log("SECURITY", "MODULE_RIGHTS_CHANGED", "main", $gr_id, $module_id.": (".$task_id.") => (".$arGroupTask[$gr_id]['ID'].")"); foreach($arGroupTask as $gr_id => $oTask) if(intval($oTask['ID']) > 0 && !array_key_exists($gr_id, $arOldTasks)) CEventLog::Log("SECURITY", "MODULE_RIGHTS_CHANGED", "main", $gr_id, $module_id.": () => (".$oTask['ID'].")"); } if(!empty($arIds)) { $sql_str = "DELETE FROM b_group_task WHERE TASK_ID IN (".implode(",", $arIds).")"; $DB->Query($sql_str, false, "File: ".__FILE__."
Line: ".__LINE__); } foreach($arGroupTask as $gr_id => $oTask) { if(intval($oTask['ID']) > 0) { $DB->Query( "INSERT INTO b_group_task (GROUP_ID, TASK_ID, EXTERNAL_ID) ". "SELECT G.ID, T.ID, '' ". "FROM b_group G, b_task T ". "WHERE G.ID = ".intval($gr_id)." AND T.ID = ".intval($oTask['ID']), false, "File: ".__FILE__."
Line: ".__LINE__ ); } } }