function checkAction($event) { $arActionID = array(); $rsTriggers = CFTrigger::GetList($by = "s_today_hits", $order = "desc", array("EVENT_ID" => $event["ID"])); while ($arTrigger = $rsTriggers->GetNext()) { $TriggerList[] = $arTrigger; $returnValue = unserialize(base64_decode($arTrigger["ACTION_ID"])); if (is_array($returnValue)) { $arActionID = array_merge($returnValue, $arActionID); } else { $arActionID[] = $arTrigger["ACTION_ID"]; } $TriggerActionList[$arTrigger["ID"]][] = $returnValue; } if (!empty($arActionID)) { $ActionTypesID = array(); $rsActions = CFTriggerActions::GetList($order, $by, array("ID" => $arActionID)); while ($arAction = $rsActions->GetNext()) { $ActionList[$arAction["ID"]] = $arAction; } $rsActionTypes = CFTriggerActionTypes::GetList(); while ($arActionType = $rsActionTypes->GetNext()) { $arActionTypeList[$arActionType["ID"]] = $arActionType["CODE"]; } if (!empty($ActionList)) { foreach ($TriggerActionList as $key => $triggerAction) { foreach ($triggerAction as $actionID) { if (is_array($actionID)) { foreach ($actionID as $k => $value) { if (intval($ActionList[$value]["ACTION_TYPE"]) > 0 && isset($arActionTypeList[$ActionList[$value]["ACTION_TYPE"]])) { //Проверяем и выполняем действие CFoodclubEventDoAction::doAction(array("ID" => $ActionList[$value]["ID"], "NAME" => $ActionList[$value]["NAME"], "ACTION_TYPE" => $ActionList[$value]["ACTION_TYPE"], "ACTION_CODE" => $arActionTypeList[$ActionList[$value]["ACTION_TYPE"]], "ADDITIONAL_PROPS" => $ActionList[$value]["ADDITIONAL_PROPS"], "BODY_PARAMS" => $ActionList[$value]["BODY_PARAMS"])); //Заносим в журнал CFTriggerLog::Add(array("NAME" => $ActionList[$value]["NAME"], "TRIGGER_ID" => $key, "DATE_CREATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"), "CREATED_BY" => CUser::GetID())); } } } else { if (intval($ActionList[$actionID]["ACTION_TYPE"]) > 0 && isset($arActionTypeList[$ActionList[$actionID]["ACTION_TYPE"]])) { //Проверяем и выполняем действие CFoodclubEventDoAction::doAction(array("ID" => $ActionList[$actionID]["ID"], "NAME" => $ActionList[$actionID]["NAME"], "ACTION_TYPE" => $ActionList[$actionID]["ACTION_TYPE"], "ACTION_CODE" => $arActionTypeList[$ActionList[$actionID]["ACTION_TYPE"]], "ADDITIONAL_PROPS" => $ActionList[$actionID]["ADDITIONAL_PROPS"], "BODY_PARAMS" => $ActionList[$actionID]["BODY_PARAMS"])); //Заносим в журнал CFTriggerLog::Add(array("NAME" => $ActionList[$actionID]["NAME"], "TRIGGER_ID" => $key, "DATE_CREATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"), "CREATED_BY" => CUser::GetID())); } } } } } } }
function GetTrigger($trigger) { $arRes = CFTriggerActions::GetByID($trigger); return $arRes; }
function GetList(&$by, &$order, $lang = LANGUAGE_ID) { global $DB; global $CACHE_MANAGER; if (defined("CURRENCY_SKIP_CACHE") && CURRENCY_SKIP_CACHE || StrToLower($by) == "name" || StrToLower($by) == "currency" || StrToLower($order) == "desc") { $dbCurrencyList = CFTriggerActions::__GetList($by, $order, $lang); } else { $by = "sort"; $order = "asc"; $lang = substr($lang, 0, 2); $cacheTime = CURRENCY_CACHE_DEFAULT_TIME; if (defined("CURRENCY_CACHE_TIME")) $cacheTime = intval(CURRENCY_CACHE_TIME); if ($CACHE_MANAGER->Read($cacheTime, "currency_currency_list_".$lang)) { $arCurrencyList = $CACHE_MANAGER->Get("currency_currency_list_".$lang); $dbCurrencyList = new CDBResult(); $dbCurrencyList->InitFromArray($arCurrencyList); } else { $arCurrencyList = array(); $dbCurrencyList = CFTriggerActions::__GetList($by, $order, $lang); while ($arCurrency = $dbCurrencyList->Fetch()) $arCurrencyList[] = $arCurrency; $CACHE_MANAGER->Set("currency_currency_list_".$lang, $arCurrencyList); $dbCurrencyList = new CDBResult(); $dbCurrencyList->InitFromArray($arCurrencyList); } } return $dbCurrencyList; }
# Bitrix: SiteManager # # Copyright (c) 2002-2009 Bitrix # # http://www.bitrix.ru # # mailto:admin@bitrix.ru # ############################################## */ define("STOP_STATISTICS", true); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fevent/include.php"); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fevent/prolog.php"); if(!($USER->CanDoOperation('view_subordinate_users') || $USER->CanDoOperation('view_all_users'))) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); $arEvent = CFTriggerActions::GetByID($ID); if($arEvent) $res = '[<a title="'.GetMessage("MAIN_EDIT_USER_PROFILE").'" class="tablebodylink" href="/bitrix/admin/action_edit.php?ID='.$arEvent["ID"].'&lang='.LANG.'">'.$arEvent["ID"].'</a>] ('.htmlspecialcharsbx($arEvent["NAME"]).')'; else $res = " ".GetMessage("MAIN_NOT_FOUND"); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_popup_admin.php"); $strName = preg_replace("/[^a-z0-9_\\[\\]:]/i", "", $_REQUEST["strName"]); ?> <script type="text/javascript"> if(window.parent.document.getElementById("div_<?php echo $strName; ?> ")) window.parent.document.getElementById("div_<?php
$context = new CAdminContextMenu($aContext); $context->Show(); //Defaults $f_SORT = "10"; $rsActionTypes = CFTriggerActionTypes::GetList(); while($arActionType = $rsActionTypes->Fetch()){ $arActionTypes[] = $arActionType; } //echo "<pre>";print_r($arActionTypes);echo "</pre>";die; if (strlen($ID) > 0 && !$bVarsFromForm) { $result = CFTriggerActions::GetByID($ID); $f_NAME = $result["NAME"]; $f_SORT = $result["SORT"] ; $f_ACTION_TYPE = $result["ACTION_TYPE"]; $f_ADDITIONAL_PROPS = unserialize($result["ADDITIONAL_PROPS"]); //$_BODY_PARAMS = unserialize(implode("\n", $result["BODY_PARAMS"])); $_BODY_PARAMS = unserialize($result["BODY_PARAMS"]); } //echo "@".$f_ACTION_TYPE."@"; if(intval($_REQUEST["ACTION_TYPE"])){ $ACTION_TYPE = $_REQUEST["ACTION_TYPE"]; $TYPE = CFTriggerActionTypes::GetByID($ACTION_TYPE); //$TYPE = GetDetail($ACTION_TYPE,intval($_REQUEST["ACTION_TYPE"])); if(strlen($TYPE["CODE"]) > 0){
"GROUPS_ID" => $find_group_id ); } if(!$USER->CanDoOperation('view_all_users')) { $arUserSubordinateGroups = array(); $arUserGroups = CUser::GetUserGroup($USER->GetID()); foreach($arUserGroups as $grp) $arUserSubordinateGroups = array_merge($arUserSubordinateGroups, CGroup::GetSubordinateGroups($grp)); $arFilter["CHECK_SUBORDINATE"] = array_unique($arUserSubordinateGroups); } // инициализация списка - выборка данных $rsData = CFTriggerActions::GetList($by, $order); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // установке параметров списка $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); // заголовок списка $lAdmin->AddHeaders(array( array("id"=>"ID", "content"=>"ID", "sort"=>"id", "default"=>true), /*array("id"=>"TIMESTAMP_X", "content"=>GetMessage('TIMESTAMP'), "sort"=>"timestamp_x", "default"=>true), array("id"=>"ACTIVE", "content"=>GetMessage('ACTIVE'), "sort"=>"active", "default"=>true), array("id"=>"LOGIN", "content"=>GetMessage("LOGIN"), "sort"=>"login", "default"=>true),*/ array("id"=>"NAME", "content"=>GetMessage("NAME"), "sort"=>"name", "default"=>true), array("id"=>"SORT", "content"=>GetMessage("SORT"), "sort"=>"name", "default"=>true), /*array("id"=>"LAST_NAME", "content"=>GetMessage("LAST_NAME"), "sort"=>"last_name", "default"=>true),