public static function getEventResult($sEventName) { $rInfo = GetModuleEvents('bx_ichannels', $sEventName); $arResult = array(); while (false != ($info = $rInfo->GetNext())) { $arResult[] = ExecuteModuleEvent($info); } return $arResult; }
function __construct($loader) { $this->env = new \Twig_Environment($loader, array("cache" => $_SERVER["DOCUMENT_ROOT"] . "/bitrix/cache/twig/", "auto_reload" => true)); $this->addExtensions(); $rsEvents = GetModuleEvents("up.twig", "onEnviromentConstruct"); while ($arEvent = $rsEvents->Fetch()) { ExecuteModuleEvent($arEvent, $this->env); } }
/** * Метод выполняющий вызов обработчика через систему событий системы 1С-Битрикс * @param array - Данные, которые надо передать обработчику * @param stirng - Префикс события, которое надо вызвать * @return void */ private function GenerateEvent($arEventData, $sEventPrefix) { if (!$sEventPrefix || $sEventPrefix == '') { return false; } $arEventData['object'] = $this; $dbEvents = GetModuleEvents($this->sEventModule, $sEventPrefix . $this->sEventPostfix); while ($arEvent = $dbEvents->Fetch()) { ExecuteModuleEvent($arEvent, $arEventData); } }
public static function GetActions() { if (empty(self::$actions_cache)) { $arActions = array(); foreach (self::GetActionsInfo() as $action) { $result = ExecuteModuleEvent($action); $arActions[$result['id']] = $result; } self::$actions_cache = $arActions; } return self::$actions_cache; }
protected static function GetTemplates() { if (empty(self::$templates_cache)) { $rTemplatesInfo = GetModuleEvents('ibulkapi', 'TemplatesInfo'); $arTemplatesInfo = array(); while (false != ($templates_info = $rTemplatesInfo->GetNext())) { $arTemplatesInfo = array_merge($arTemplatesInfo, ExecuteModuleEvent($templates_info)); } self::$templates_cache = $arTemplatesInfo; } return self::$templates_cache; }
function Add($arFields) { $err_mess = CUser::err_mess() . "<br>Function: Add<br>Line: "; global $DB; if (!$this->CheckFields(&$arFields)) { $Result = false; $arFields["RESULT_MESSAGE"] =& $this->LAST_ERROR; } else { unset($arFields["ID"]); if (is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "Y") { $arFields["ACTIVE"] = "N"; } if ($arFields["PERSONAL_GENDER"] == "NOT_REF" || $arFields["PERSONAL_GENDER"] != "M" && $arFields["PERSONAL_GENDER"] != "F") { $arFields["PERSONAL_GENDER"] = ""; } $arFields["PASSWORD"] = md5($arFields["PASSWORD"]); //$arFields["STORED_HASH"] = CUser::GetPasswordHash($arFields["PASSWORD"]); unset($arFields["STORED_HASH"]); if (strlen($arFields["CHECKWORD"]) <= 0) { $arFields["CHECKWORD"] = randString(8); } $arFields["~CHECKWORD_TIME"] = $DB->CurrentTimeFunction(); if (is_set($arFields, "EMAIL")) { $arFields["EMAIL"] = strtolower($arFields["EMAIL"]); } if (is_set($arFields, "WORK_COUNTRY")) { $arFields["WORK_COUNTRY"] = intval($arFields["WORK_COUNTRY"]); } if (is_set($arFields, "PERSONAL_COUNTRY")) { $arFields["PERSONAL_COUNTRY"] = intval($arFields["PERSONAL_COUNTRY"]); } $arInsert = $DB->PrepareInsert("b_user", $arFields, "main"); if (!is_set($arFields, "DATE_REGISTER")) { $arInsert[0] .= ", DATE_REGISTER"; $arInsert[1] .= ", " . $DB->GetNowFunction(); } $strSql = "\n\t\t\t\tINSERT INTO b_user (\n\t\t\t\t\t" . $arInsert[0] . "\n\t\t\t\t) VALUES (\n\t\t\t\t\t" . $arInsert[1] . "\n\t\t\t\t)\n\t\t\t\t"; $DB->Query($strSql, false, $err_mess . __LINE__); $ID = $DB->LastID(); if (is_set($arFields, "GROUP_ID")) { CUser::SetUserGroup($ID, $arFields["GROUP_ID"]); } $Result = $ID; $arFields["ID"] =& $ID; } $arFields["RESULT"] =& $Result; $events = GetModuleEvents("main", "OnAfterUserAdd"); while ($arEvent = $events->Fetch()) { ExecuteModuleEvent($arEvent, &$arFields); } return $Result; }
$errorMessage .= GetMessage("SUP_NEW_UPDATE_SYSTEM_HINT"); } else { $systemMessage .= GetMessage("SUP_RESERVED_KEY_HINT"); } } } } if (strlen($errorMessage) > 0) { echo CAdminMessage::ShowMessage(array("DETAILS" => $errorMessage, "TYPE" => "ERROR", "MESSAGE" => GetMessage("SUP_ERROR"), "HTML" => true)); } if (strlen($systemMessage) > 0) { echo CAdminMessage::ShowMessage(array("DETAILS" => $systemMessage, "TYPE" => "OK", "MESSAGE" => GetMessage("SUP_SYSTEM_MESSAGE"), "HTML" => true)); } $events = GetModuleEvents("main", "OnUpdateCheck"); while ($arEvent = $events->Fetch()) { ExecuteModuleEvent($arEvent, $errorMessage); } ?> <script language="JavaScript"> <!-- var updRand = 0; function PrepareString(str) { str = str.replace(/^\s+|\s+$/, ''); while (str.length > 0 && str.charCodeAt(0) == 65279) str = str.substring(1); return str; } //--> </script>
CUpdateSystem::AddMessage2Log(GetMessage("SUP_UPD_LOAD_BREAK"), "PU404"); } } $arErrorModules = array(); $arSuccessModules = array(); if (strlen($strErrorMessage) <= 0) { if (strlen($UNIID) > 0) { $_SESSION[$UNIID] = "Y"; } if (!CUpdateSystem::UpdateKernel($temporary_updates_dir, $arLoadModules, $strErrorMessage, $arErrorModules, $arSuccessModules)) { $strErrorMessage .= GetMessage("SUP_BAD_UPD_INSTALL") . " [PU405]. "; CUpdateSystem::AddMessage2Log(GetMessage("SUP_BAD_UPD_INSTALL"), "PU405"); } else { $db_events = GetModuleEvents("main", "OnUpdatesInstalled"); while ($arEvent = $db_events->Fetch()) { ExecuteModuleEvent($arEvent, array("successModules" => $arSuccessModules, "loadModules" => $arLoadModules, "errorModules" => $arErrorModules, "modulesUpdates" => $arModulesUpdates)); } } } } if ($TYPE == "UPDATE" && $STEP == 3 && $MAIN_RIGHT == "W") { CUpdateSystem::AddMessage2Log("Query loading modules: " . $load_modules); if (!isset($FAS) || $FAS != "Y") { $arLoadModules = array(); if (strlen($load_modules) > 0) { $arLoadModules_tmp = explode(",", $load_modules); for ($i = 0; $i < count($arLoadModules_tmp); $i++) { $arLoadModules_tmp[$i] = Trim($arLoadModules_tmp[$i]); if (strlen($arLoadModules_tmp[$i]) > 0) { $arLoadModules[] = $arLoadModules_tmp[$i]; }
function Update($ID, $arFields) { global $DB; if (is_set($arFields, "EXTERNAL_ID")) { $arFields["XML_ID"] = $arFields["EXTERNAL_ID"]; } if (is_set($arFields, "PICTURE")) { if (strlen($arFields["PICTURE"]["name"]) <= 0 && strlen($arFields["PICTURE"]["del"]) <= 0) { unset($arFields["PICTURE"]); } else { $pic_res = $DB->Query("SELECT PICTURE FROM b_iblock WHERE ID=" . $ID); if ($pic_res = $pic_res->Fetch()) { $arFields["PICTURE"]["old_file"] = $pic_res["PICTURE"]; } } } if (is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "Y") { $arFields["ACTIVE"] = "N"; } if (is_set($arFields, "INDEX_SECTION") && $arFields["INDEX_SECTION"] != "Y") { $arFields["INDEX_SECTION"] = "N"; } if (is_set($arFields, "INDEX_ELEMENT") && $arFields["INDEX_ELEMENT"] != "Y") { $arFields["INDEX_ELEMENT"] = "N"; } if (is_set($arFields, "DESCRIPTION_TYPE") && $arFields["DESCRIPTION_TYPE"] != "html") { $arFields["DESCRIPTION_TYPE"] = "text"; } if (!$this->CheckFields(&$arFields, $ID)) { $Result = false; $arFields["RESULT_MESSAGE"] =& $this->LAST_ERROR; } else { $arLID = array(); if (is_set($arFields, "LID")) { if (is_array($arFields["LID"])) { $arLID = $arFields["LID"]; } else { $arLID[] = $arFields["LID"]; } $arFields["LID"] = false; $str_LID = "''"; foreach ($arLID as $v) { $arFields["LID"] = $v; $str_LID .= ", '" . $DB->ForSql($v) . "'"; } } unset($arFields["ID"]); unset($arFields["VERSION"]); $strUpdate = $DB->PrepareUpdate("b_iblock", $arFields, "iblock"); $arBinds = array(); if (is_set($arFields, "DESCRIPTION")) { $arBinds["DESCRIPTION"] = $arFields["DESCRIPTION"]; } $strSql = "UPDATE b_iblock SET " . $strUpdate . " WHERE ID=" . $ID; $DB->QueryBind($strSql, $arBinds); if (is_set($arFields, "GROUP_ID") && is_array($arFields["GROUP_ID"])) { CIBlock::SetPermission($ID, $arFields["GROUP_ID"]); } if (count($arLID) > 0) { $strSql = "DELETE FROM b_iblock_site WHERE IBLOCK_ID=" . $ID; $DB->Query($strSql, false, "FILE: " . __FILE__ . "<br> LINE: " . __LINE__); $strSql = "INSERT INTO b_iblock_site(IBLOCK_ID, SITE_ID) " . "SELECT " . $ID . ", LID " . "FROM b_lang " . "WHERE LID IN (" . $str_LID . ") "; $DB->Query($strSql, false, "FILE: " . __FILE__ . "<br> LINE: " . __LINE__); } if (CModule::IncludeModule("search")) { $dbafter = $DB->Query("SELECT ACTIVE, DETAIL_PAGE_URL, LID FROM b_iblock WHERE ID=" . $ID); $arAfter = $dbafter->Fetch(); if ($arAfter["ACTIVE"] != "Y") { CSearch::DeleteIndex("iblock", false, false, $ID); } else { if (is_set($arFields, "GROUP_ID")) { $arPerms = array(); $arGroupsPerm = $arFields["GROUP_ID"]; $arGroups = array_keys($arGroupsPerm); for ($i = 0; $i < count($arGroups); $i++) { if ($arGroupsPerm[$arGroups[$i]] >= "R") { if ($arGroups[$i] == 2) { $arPerms = array(2); break; } $arPerms[] = $arGroups[$i]; } } CSearch::ChangePermission("iblock", $arPerms, false, false, $ID); } } } $Result = true; } $arFields["ID"] = $ID; $arFields["RESULT"] =& $Result; $events = GetModuleEvents("iblock", "OnAfterIBlockUpdate"); while ($arEvent = $events->Fetch()) { ExecuteModuleEvent($arEvent, &$arFields); } return $Result; }
<?php $events = GetModuleEvents("currency", "OnModuleUnInstall"); while ($arEvent = $events->Fetch()) { if (strlen($arEvent["TO_CLASS"]) <= 0) { $arEvent["CALLBACK"] = $arEvent["TO_METHOD"]; } ExecuteModuleEvent($arEvent); } if ($ex = $APPLICATION->GetException()) { echo CAdminMessage::ShowMessage(GetMessage("CURRENCY_INSTALL_UNPOSSIBLE") . "<br />" . $ex->GetString()); ?> <form action="<?php echo $APPLICATION->GetCurPage(); ?> "> <p> <input type="hidden" name="lang" value="<?php echo LANG; ?> "> <input type="submit" name="" value="<?php echo GetMessage("MOD_BACK"); ?> "> </p> <form> <?php } else { ?> <form action="<?php
public static function makeDetail( $iPhotoId ) { global $APPLICATION; $iIblockId = intval( \COption::GetOptionString("bit.includer", "iblock_id", 0) ); $iIblockType = \COption::GetOptionString("bit.includer", "iblock_type", "") ; $rsEvents = GetModuleEvents("bit.includer", "OnBeforeMakeDetail"); if ($arEvent = $rsEvents->Fetch()){ return ExecuteModuleEvent($arEvent, $iPhotoId,$iIblockId); } //вывод по коду раздела if (!is_numeric($iPhotoId) && strlen($iPhotoId)>0){ \CModule::IncludeModule("iblock"); $arFilter = Array("IBLOCK_ID"=>$iIblockId, "CODE"=>$iPhotoId); $res = \CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>1), Array("ID")); if($ob = $res->GetNextElement()){ $arFields = $ob->GetFields(); $iPhotoId = $arFields['ID']; } } ob_start(); $APPLICATION->IncludeComponent( "bitrix:news.detail", self::DETAIL_TEMPLATE, Array( "DISPLAY_DATE" => "N", "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => "Y", "DISPLAY_PREVIEW_TEXT" => "N", "USE_SHARE" => "N", "AJAX_MODE" => "N", "IBLOCK_TYPE" => $iIblockType, "IBLOCK_ID" => $iIblockId, "ELEMENT_ID" => $iPhotoId, "ELEMENT_CODE" => "", "CHECK_DATES" => "N", "FIELD_CODE" => array(), "PROPERTY_CODE" => array(), "IBLOCK_URL" => "", "META_KEYWORDS" => "-", "META_DESCRIPTION" => "-", "BROWSER_TITLE" => "-", "SET_STATUS_404" => "N", "SET_TITLE" => "N", "INCLUDE_IBLOCK_INTO_CHAIN" => "N", "ADD_SECTIONS_CHAIN" => "N", "ADD_ELEMENT_CHAIN" => "N", "ACTIVE_DATE_FORMAT" => "d.m.Y", "USE_PERMISSIONS" => "N", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_NOTES" => "", "CACHE_GROUPS" => "Y", "PAGER_TEMPLATE" => ".default", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "N", "PAGER_TITLE" => "Страница", "PAGER_SHOW_ALL" => "N", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "N", "AJAX_OPTION_HISTORY" => "N" ), false ); $componentContent = ob_get_clean(); //Проверяем на наличие рекурсии $componentContent = preg_replace_callback("/\[(list|detail)\]([^\[]*)\[\/(list|detail)\]/is", create_function('$matches',' return ""; '),$componentContent); return $componentContent; }
function Update($ID, $arFields) { global $DB; $ID = IntVal($ID); $arFields1 = array(); foreach ($arFields as $key => $value) { if (substr($key, 0, 1) == "=") { $arFields1[substr($key, 1)] = $value; unset($arFields[$key]); } } if (!CBlog::CheckFields("UPDATE", $arFields, $ID)) { return false; } $db_events = GetModuleEvents("blog", "OnBeforeBlogUpdate"); while ($arEvent = $db_events->Fetch()) { if (ExecuteModuleEvent($arEvent, $ID, $arFields) === false) { return false; } } $arBlogOld = CBlog::GetByID($ID); $strUpdate = $DB->PrepareUpdate("b_blog", $arFields); foreach ($arFields1 as $key => $value) { if (strlen($strUpdate) > 0) { $strUpdate .= ", "; } $strUpdate .= $key . "=" . $value . " "; } if (strlen($strUpdate) > 0) { $strSql = "UPDATE b_blog SET " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " "; $DB->Query($strSql, False, "File: " . __FILE__ . "<br>Line: " . __LINE__); unset($GLOBALS["BLOG_CACHE_" . $ID]); unset($GLOBALS["BLOG4OWNER_CACHE_" . $arBlogOld["OWNER_ID"]]); $events = GetModuleEvents("blog", "OnBlogUpdate"); while ($arEvent = $events->Fetch()) { ExecuteModuleEvent($arEvent, $ID, $arFields); } if (is_set($arFields, "PERMS_POST")) { CBlog::SetBlogPerms($ID, $arFields["PERMS_POST"], BLOG_PERMS_POST); } if (is_set($arFields, "PERMS_COMMENT")) { CBlog::SetBlogPerms($ID, $arFields["PERMS_COMMENT"], BLOG_PERMS_COMMENT); } } else { $ID = False; } if ($ID) { $arBlog = CBlog::GetByID($ID); if (CModule::IncludeModule("search")) { if ($arBlogOld["ACTIVE"] == "Y" && $arBlog["ACTIVE"] != "Y") { CSearch::DeleteIndex("blog", false, "POST", $ID); CSearch::DeleteIndex("blog", "B" . $ID); } elseif ($arBlog["ACTIVE"] == "Y") { $arGroup = CBlogGroup::GetByID($arBlog["GROUP_ID"]); $arPostSite = array($arGroup["SITE_ID"] => CBlog::PreparePath($arBlog["URL"], $arGroup["SITE_ID"])); $arSearchIndex = array("SITE_ID" => $arPostSite, "LAST_MODIFIED" => $arBlog["DATE_UPDATE"], "PARAM1" => "BLOG", "PARAM2" => $arBlog["OWNER_ID"], "PERMISSIONS" => array(2), "TITLE" => $arBlog["NAME"], "BODY" => blogTextParser::killAllTags($arBlog["DESCRIPTION"])); CSearch::Index("blog", "B" . $ID, $arSearchIndex); } } } return $ID; }
function Vote($arFields) { global $DB; global $USER; if ($USER->IsAuthorized()) { $event = GetModuleEvents("prmedia.treelikecomments", "OnBeforePrmediaCommentVote"); while ($arEvent = $event->Fetch()) { $executeResult = ExecuteModuleEvent($arEvent, $arFields); if ($executeResult === false) { return; } } $arInsert = $DB->PrepareInsert("prmedia_treelike_comments_restrictions", $arFields); $strSql = "INSERT INTO prmedia_treelike_comments_restrictions (" . $arInsert[0] . ") VALUES (" . $arInsert[1] . ")"; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); } }