- Модуль: 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__
);
}