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

	if(COption::GetOptionString("main", "event_log_module_access", "N") === "Y")
	{
		//get old values
		$arOldTasks = array();
		$rsTask = $DB->Query("SELECT TASK_ID FROM b_group_task WHERE GROUP_ID=".$ID);
		while($arTask = $rsTask->Fetch())
			$arOldTasks[] = $arTask["TASK_ID"];
		//compare with new ones
		$aNewTasks = array();
		foreach($arr as $task_id)
			if($task_id > 0)
				$aNewTasks[] = $task_id;
		$aDiff = array_diff($arOldTasks, $aNewTasks);
		if(empty($aDiff))
			$aDiff = array_diff($aNewTasks, $arOldTasks);
		if(!empty($aDiff))
			CEventLog::Log("SECURITY", "MODULE_RIGHTS_CHANGED", "main", $ID, "(".implode(", ", $arOldTasks).") => (".implode(", ", $aNewTasks).")");
	}

	$sql_str = "DELETE FROM b_group_task WHERE GROUP_ID=".$ID.
			" AND (EXTERNAL_ID IS NULL OR EXTERNAL_ID = '')";
	$DB->Query($sql_str, false, "FILE: ".__FILE__."
LINE: ".__LINE__); $sID = "0"; if(is_array($arr)) foreach($arr as $task_id) $sID .= ",".intval($task_id); $DB->Query( "INSERT INTO b_group_task (GROUP_ID, TASK_ID, EXTERNAL_ID) ". "SELECT '".$ID."', ID, '' ". "FROM b_task ". "WHERE ID IN (".$sID.") " , false, "File: ".__FILE__."
Line: ".__LINE__ ); }