- Модуль: subscribe
- Путь к файлу: ~/bitrix/modules/subscribe/classes/general/subscription.php
- Класс: CSubscriptionGeneral
- Вызов: CSubscriptionGeneral::UpdateRubrics
function UpdateRubrics($ID, $aRubric, $SITE_ID=false)
{
global $DB;
$ID = intval($ID);
if($SITE_ID!==false)
{
$strSql = "
SELECT sr.SUBSCRIPTION_ID,sr.LIST_RUBRIC_ID
FROM
b_subscription_rubric sr
INNER JOIN b_list_rubric lr ON lr.ID=sr.LIST_RUBRIC_ID
WHERE
sr.SUBSCRIPTION_ID='".$ID."'
AND lr.LID='".$DB->ForSql($SITE_ID)."'
";
$rs = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
while($ar=$rs->Fetch())
{
$strSql = "
DELETE FROM b_subscription_rubric
WHERE SUBSCRIPTION_ID=".intval($ar["SUBSCRIPTION_ID"])."
AND LIST_RUBRIC_ID=".intval($ar["LIST_RUBRIC_ID"])."
";
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
}
$sID = "0";
if(is_array($aRubric))
foreach($aRubric as $rub)
$sID .= ",".intval($rub);
$strSql = "
INSERT INTO b_subscription_rubric (SUBSCRIPTION_ID, LIST_RUBRIC_ID)
SELECT '".$ID."', ID
FROM b_list_rubric
WHERE ID IN (".$sID.")
AND LID='".$DB->ForSql($SITE_ID)."'
";
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
}
else
{
$DB->Query("DELETE FROM b_subscription_rubric WHERE SUBSCRIPTION_ID='".$ID."'", false, "File: ".__FILE__."
Line: ".__LINE__);
$sID = "0";
if(is_array($aRubric))
foreach($aRubric as $rub)
$sID .= ",".intval($rub);
$strSql = "
INSERT INTO b_subscription_rubric (SUBSCRIPTION_ID, LIST_RUBRIC_ID)
SELECT '".$ID."', ID
FROM b_list_rubric
WHERE ID IN (".$sID.")
";
$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
}
}