В одном из последних обновлений модуля "Менеджер идей" появилась возможность подписываться на комментарии к идее.
С помощью API также возможно подписываться на все новые идеи и комментарии к ним, однако для обычного пользователя на уровне интерфейса пока такой возможности нет.
[spoiler]
Чтобы эта возможность появилась, можно добавить в код страницы перед компонентом "Идеи" следующий код:
Этот код добавляет в правую колонку две кнопки, с помощью которых можно подписаться или отписаться на все новые идеи.
С помощью API также возможно подписываться на все новые идеи и комментарии к ним, однако для обычного пользователя на уровне интерфейса пока такой возможности нет.
[spoiler]
Чтобы эта возможность появилась, можно добавить в код страницы перед компонентом "Идеи" следующий код:
<?
if($USER->IsAuthorized() && CModule::IncludeModule("idea") && CModule::IncludeModule("intranet"))
{
$oEmailNotify = CIdeaManagment::getInstance()->Notification()->getEmailNotify();
if($_SERVER["REQUEST_METHOD"] == "GET")
{
$rs = $oEmailNotify->GetList(
array("ID" => "DESC"),
array("ID" => array("A", "AI"), "USER_ID" => $USER->GetID())
);
$arSetSubscribe = array(
"ACTION" => "SUBSCRIBE",
"MESSAGE" => "Подписаться",
"ICON" => "create",
);
$arDeleteSubscribe = array(
"ACTION" => "UNSUBSCRIBE",
"MESSAGE" => "Отписаться",
"ICON" => "delete",
);
$arSubscribe = array("A" => $arSetSubscribe, "AI" => $arSetSubscribe);
while($ar = $rs->Fetch())
$arSubscribe[$ar["ID"]] = $arDeleteSubscribe;
$GLOBALS["INTRANET_TOOLBAR"]->AddButton(array(
'HREF' => 'jav * ascript:ideaSubscribe("A", "'.$arSubscribe["A"]["ACTION"].'");',
"TEXT" => $arSubscribe["A"]["MESSAGE"]." (новые идеи)",
'ICON' => $arSubscribe["A"]["ICON"]
));
$GLOBALS["INTRANET_TOOLBAR"]->AddButton(array(
'HREF' => 'jav * ascript:ideaSubscribe("AI", "'.$arSubscribe["AI"]["ACTION"].'");',
"TEXT" => $arSubscribe["AI"]["MESSAGE"]." (новые идеи и комментарии к ним)",
'ICON' => $arSubscribe["AI"]["ICON"]
));
}
elseif($_SERVER["REQUEST_METHOD"] == "POST" && ($_REQUEST["IDEA_ID"] == "A" || $_REQUEST["IDEA_ID"] == "AI"))
{
$APPLICATION->RestartBuffer();
if($_REQUEST["IDEA_ACTION"] == "SUBSCRIBE" && $oEmailNotify->Add($_REQUEST["IDEA_ID"]))
echo "{'IDEA_ACTION':'UNSUBSCRIBE'}";
elseif($_REQUEST["IDEA_ACTION"] == "UNSUBSCRIBE" && $oEmailNotify->Delete($_REQUEST["IDEA_ID"]))
echo "{'IDEA_ACTION':'SUBSCRIBE'}";
die();
}
?>
<sc ript type="text/javascript">
function ideaSubscribe(id, action)
{
BX .ajax({
url: wind ow.location.pathname+'?IDEA_ACTION='+action+'&IDEA_ID='+id,
method: 'POST',
dataType: 'json',
processData: true,
onsuccess: f unction(data)
{
window.location.href = wind ow.location.href;
}
});
}
</sc ript>
<?
}
?> |
