- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/channel.php
- Класс: CAllVoteChannel
- Вызов: CAllVoteChannel::SetAccessPermissions
static function SetAccessPermissions($ID, $arGroups)
{
global $DB;
$ID = intval($ID);
$arGroups = (is_array($arGroups) ? $arGroups : array());
$arMainGroups = array();
if ($ID <= 0 || empty($arGroups))
return false;
$db_res = CGroup::GetList("ID", "ASC");
if ($db_res && $res = $db_res->Fetch())
{
do
{
$arMainGroups[$res["ID"]] = $res["ID"];
} while ($res = $db_res->Fetch());
$arGroups = array_intersect_key($arGroups, $arMainGroups);
$DB->Query(
"DELETE FROM b_vote_channel_2_group WHERE CHANNEL_ID=".$ID,
false, "File: ".__FILE__."
Line: ".__LINE__);
foreach ($arGroups as $key => $val)
{
$key = intval($key); $val = intval($val);
if ($key <= 1 || !in_array($val, $GLOBALS["aVotePermissions"]["reference_id"]))
continue;
$arFields = array(
"CHANNEL_ID" => $ID,
"GROUP_ID" => $key,
"PERMISSION" => "'".$val."'");
$DB->Insert("b_vote_channel_2_group", $arFields, "File: ".__FILE__."
Line: ".__LINE__);
}
}
return true;
}