public static function SynchronizeUserPhones() { $offset = intval(COption::GetOptionInt("voximplant", "sync_offset", 0)); $result = Bitrix\Main\UserTable::getList(array('select' => array('ID', 'WORK_PHONE', 'PERSONAL_PHONE', 'PERSONAL_MOBILE', 'UF_PHONE_INNER'), 'filter' => array('=Bitrix\\Voximplant\\Phone:USER.USER_ID' => 0), 'limit' => 100, 'offset' => $offset, 'order' => 'ID')); $count = 0; while ($user = $result->fetch()) { $user["WORK_PHONE"] = CVoxImplantPhone::Normalize($user["WORK_PHONE"]); if ($user["WORK_PHONE"]) { VI\PhoneTable::add(array('USER_ID' => intval($user['ID']), 'PHONE_NUMBER' => $user["WORK_PHONE"], 'PHONE_MNEMONIC' => "WORK_PHONE")); } $user["PERSONAL_PHONE"] = CVoxImplantPhone::Normalize($user["PERSONAL_PHONE"]); if ($user["PERSONAL_PHONE"]) { VI\PhoneTable::add(array('USER_ID' => intval($user['ID']), 'PHONE_NUMBER' => $user["PERSONAL_PHONE"], 'PHONE_MNEMONIC' => "PERSONAL_PHONE")); } $user["PERSONAL_MOBILE"] = CVoxImplantPhone::Normalize($user["PERSONAL_MOBILE"]); if ($user["PERSONAL_MOBILE"]) { VI\PhoneTable::add(array('USER_ID' => intval($user['ID']), 'PHONE_NUMBER' => $user["PERSONAL_MOBILE"], 'PHONE_MNEMONIC' => "PERSONAL_MOBILE")); } $user["UF_PHONE_INNER"] = intval(preg_replace("/[^0-9]/i", "", $user["UF_PHONE_INNER"])); if ($user["UF_PHONE_INNER"] > 0 && $user["UF_PHONE_INNER"] < 10000) { VI\PhoneTable::add(array('USER_ID' => intval($user['ID']), 'PHONE_NUMBER' => $user["UF_PHONE_INNER"], 'PHONE_MNEMONIC' => "UF_PHONE_INNER")); } $count++; } if ($count > 0) { $offset = $offset + 100; COption::SetOptionInt("voximplant", "sync_offset", $offset); return "CVoxImplantPhone::SynchronizeUserPhones();"; } else { return false; } }
function subordinateCheck($arConfigs) { global $DB, $USER_FIELD_MANAGER; $err_mess = "File: " . __FILE__ . "<br>Function: subordinateCheck<br>Line: "; $ratingId = CRatings::GetAuthorityRating(); if ($ratingId == 0) { return true; } $maxVotes = $arConfigs['CONDITION_CONFIG']['SUBORDINATE']['MAX_VOTES']; $type = $arConfigs['CONDITION_CONFIG']['SUBORDINATE']['TYPE']; $iblockId = COption::GetOptionInt('intranet', 'iblock_structure', 0); global $DB; $table = 'b_utm_user'; $columns = array('FIELD_ID', 'VALUE_INT', 'VALUE_ID'); if (!$DB->IndexExists($table, $columns)) { $DB->Query("create index " . substr("ix_" . mt_rand(0, 1000000) . "_" . $table . "_" . implode("_", $columns), 0, 30) . " on " . $table . "(" . implode(", ", $columns) . ")", true); } $table = 'b_uts_iblock_' . $iblockId . '_section'; $columns = array('UF_HEAD'); if (!$DB->IndexExists($table, $columns)) { $DB->Query("create index " . substr("ix_" . mt_rand(0, 1000000) . "_" . $table . "_" . implode("_", $columns), 0, 30) . " on " . $table . "(" . implode(", ", $columns) . ")", true); } $fieldId = 0; $arUserFields = $USER_FIELD_MANAGER->GetUserFields("USER"); if (isset($arUserFields["UF_DEPARTMENT"]["ID"])) { $fieldId = intval($arUserFields["UF_DEPARTMENT"]["ID"]); } if ($iblockId > 0 && $fieldId > 0) { // truncate table first $DB->Query("TRUNCATE TABLE b_rating_subordinate", false, $err_mess . __LINE__); $squery = "\n\t\t\t\tINSERT INTO b_rating_subordinate (RATING_ID, ENTITY_ID, VOTES)\n\t\t\t\tSELECT '" . intval($ratingId) . "' RATING_ID, U2U.USER_ID ENTITY_ID, (case when U2U.ID > 0 then SUM(" . $DB->IsNull("RU.BONUS", "RUS.BONUS") . ") else RUS.BONUS end) VOTES\n\t\t\t\tFROM\n\t\t\t\t(\n\t\t\t\t\tSELECT DISTINCT U.ID USER_ID, UP.VALUE_ID SUBORDINATE_ID, UD.ID\n\t\t\t\t\tFROM\n\t\t\t\t\tb_user U\n\t\t\t\t\tLEFT JOIN b_utm_user UD ON UD.VALUE_ID = U.ID AND UD.FIELD_ID = " . $fieldId . "\n\t\t\t\t\tLEFT JOIN b_uts_iblock_" . $iblockId . "_section BSSV on BSSV.UF_HEAD = U.ID\n\t\t\t\t\tLEFT JOIN b_iblock_section BS ON BS.ID = BSSV.VALUE_ID\n\t\t\t\t\tLEFT JOIN b_iblock_section BsubS on BsubS.IBLOCK_ID = BS.IBLOCK_ID AND BsubS.LEFT_MARGIN >= BS.LEFT_MARGIN AND BsubS.RIGHT_MARGIN <= BS.RIGHT_MARGIN\n\t\t\t\t\tLEFT JOIN b_uts_iblock_" . $iblockId . "_section NACH_PODOTD on NACH_PODOTD.VALUE_ID = BsubS.ID\n\t\t\t\t\tLEFT JOIN b_utm_user UP on (UP.VALUE_INT = BsubS.ID) OR (UP.VALUE_ID = NACH_PODOTD.UF_HEAD) AND UP.FIELD_ID = " . $fieldId . "\n\t\t\t\t\tLEFT JOIN b_user U2 on U2.ID = UP.VALUE_ID\n\t\t\t\t\tWHERE (U2.ACTIVE = 'Y' OR U2.ID IS NULL) AND U.ACTIVE = 'Y'\n\t\t\t\t) U2U\n\t\t\t\tLEFT JOIN b_rating_user RU on RU.RATING_ID = " . intval($ratingId) . " and RU.ENTITY_ID = U2U.SUBORDINATE_ID\n\t\t\t\tLEFT JOIN b_rating_user RUS on RUS.RATING_ID = " . intval($ratingId) . " and RUS.ENTITY_ID = U2U.USER_ID\n\t\t\t\tGROUP BY U2U.USER_ID, U2U.ID, RU.BONUS, RUS.BONUS"; $DB->Query($squery, false, $err_mess . __LINE__); } return true; }
/** * For Bitrix calls. * * @param array &$params * * @return int */ public static function authenticate(&$params) { try { // Import PEAR library gracefully... if (!@(include_once 'Net/LDAP2.php')) { throw new Capall_Ldaper_UnavailableDependencyException('PEAR::Net_LDAP2'); } $ldapConnection = Net_LDAP2::connect(array('host' => COption::GetOptionString('sh.ldaper', 'host'), 'port' => COption::GetOptionInt('sh.ldaper', 'port'), 'binddn' => COption::GetOptionString('sh.ldaper', 'binddn'), 'bindpw' => COption::GetOptionString('sh.ldaper', 'bindpw'))); if (PEAR::isError($ldapConnection)) { throw new Capall_Ldaper_LdapException($ldapConnection); } $ldaper = new self($ldapConnection, new Capall_Ldaper_BitrixUserManager(new CUser(), array_filter(explode(',', COption::GetOptionString('sh.ldaper', 'default_groups', '')), 'trim')), COption::GetOptionString('sh.ldaper', 'basedn'), COption::GetOptionString('sh.ldaper', 'login_attribute'), COption::GetOptionString('sh.ldaper', 'mail_attribute'), COption::GetOptionString('sh.ldaper', 'mail_attribute_index')); $ldapUser = $ldaper->getLdapUser($params['LOGIN']); if ($ldapUser) { if ($ldaper->authenticateUser($ldapUser, $params['PASSWORD'])) { $bitrixUserIdentifier = $ldaper->getBitrixUser($ldapUser); } else { // Authentication failed. May be user not from LDAP? return false; } } else { // User not found. It's normal use case. return; } // Return identifier to Bitrix for authorization. return $bitrixUserIdentifier; } catch (Exception $error) { CEventLog::Log('WARNING', 'USER_LOGIN', 'sh.ldaper', $params['LOGIN'], (string) $error); } }
/** * @see CEvent::HandleEvent() * @see bxmail() * * @param string $to * @param string $subject * @param string $message * @param string $additionalHeaders Additional headers setted by Bitrix. * * @return bool */ function custom_mail($to, $subject, $message, $additionalHeaders = '') { // Cache to send many mails in one script run. static $transport, $sender; try { if (!$sender) { if (!$transport) { $host = COption::GetOptionString('sh.mailtransport', 'host'); if (COption::GetOptionInt('sh.mailtransport', 'ssl')) { $host = 'ssl://' . $host; } $port = COption::GetOptionInt('sh.mailtransport', 'port'); $user = COption::GetOptionString('sh.mailtransport', 'username'); $password = COption::GetOptionString('sh.mailtransport', 'password'); $transport = new Net_SMTP($host, $port); if (PEAR::isError($connectionResult = $transport->connect())) { throw new Capall_MailTransportException($connectionResult); } // TODO Server without authentication?.. if (PEAR::isError($authenticationResult = $transport->auth($user, $password))) { throw new Capall_MailTransportException($authenticationResult); } } $sender = new Capall_MailTransport_Sender($transport); } $sender->send($to, $subject, $message, $additionalHeaders); return true; } catch (Capall_MailTransportException $error) { CEventLog::Log('WARNING', 'MAILTRANSPORT_ERROR', 'sh.mailtransport', null, $error->__toString()); return false; } catch (Exception $error) { // Unknown error... return false; } }
function UnInstallDB($arParams = array()) { global $DB, $APPLICATION; $this->errors = false; if (!array_key_exists("savedata", $arParams) || $arParams["savedata"] != "Y") { $this->errors = $DB->RunSQLBatch($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/meeting/install/db/" . strtolower($DB->type) . "/uninstall.sql"); if ($this->errors === false && CModule::IncludeModule('forum')) { $dbRes = CSite::GetList($by = 'sort', $order = 'asc', array()); while ($arSite = $dbRes->Fetch()) { $forumId = COption::GetOptionInt('meeting', 'comments_forum_id', 0, $arSite['ID']); if ($forumId > 0) { CForumNew::Delete($forumId); } } } } UnRegisterModuleDependences("calendar", "OnAfterCalendarConvert", "meeting", "CMeetingEventHandlers", "OnAfterCalendarConvert"); UnRegisterModuleDependences("tasks", "OnTaskDelete", "meeting", "CMeetingEventHandlers", "OnTaskDelete"); UnRegisterModule("meeting"); if ($this->errors !== false) { $APPLICATION->ThrowException(implode("<br>", $this->errors)); return false; } return true; }
/** * <p>Метод удаляет файл из таблицы зарегистрированных файлов (b_file) и с диска. Статичный метод.</p> * * * @param int $id Цифровой идентификатор файла. * * @return mixed * * <h4>Example</h4> * <pre> * <? * // удаляем изображение формы * $arFilter = array("ID" => 1, "ID_EXACT_MATCH" => "Y"); * $rsForm = CForm::GetList($by, $order, $arFilter, $is_filtered); * if ($arForm = $rsForm->Fetch()) * { * if (intval($arForm["IMAGE_ID"])>0) <b>CFile::Delete</b>($arForm["IMAGE_ID"]); * } * ?> * </pre> * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/main/functions/file/deletedirfiles.php">DeleteDirFiles</a> </li> * <li> <a href="http://dev.1c-bitrix.ru/api_help/main/functions/file/deletedirfilesex.php">DeleteDirFilesEx</a> </li> * </ul><a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/main/reference/cfile/delete.php * @author Bitrix */ public static function Delete($ID) { global $DB; $io = CBXVirtualIo::GetInstance(); $ID = intval($ID); if ($ID <= 0) { return; } $res = CFile::GetByID($ID); if ($res = $res->Fetch()) { $delete_size = 0; $upload_dir = COption::GetOptionString("main", "upload_dir", "upload"); $dname = $_SERVER["DOCUMENT_ROOT"] . "/" . $upload_dir . "/" . $res["SUBDIR"]; $fname = $dname . "/" . $res["FILE_NAME"]; $file = $io->GetFile($fname); if ($file->isExists() && $file->unlink()) { $delete_size += $res["FILE_SIZE"]; } $delete_size += CFile::ResizeImageDelete($res); $DB->Query("DELETE FROM b_file WHERE ID = " . $ID); $directory = $io->GetDirectory($dname); if ($directory->isExists() && $directory->isEmpty()) { $directory->rmdir(); } CFile::CleanCache($ID); foreach (GetModuleEvents("main", "OnFileDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($res)); } /****************************** QUOTA ******************************/ if ($delete_size > 0 && COption::GetOptionInt("main", "disk_space") > 0) { CDiskQuota::updateDiskQuota("file", $delete_size, "delete"); } /****************************** QUOTA ******************************/ } }
function BXDeleteFromSystem($absoluteFilePath, $path, $site) { $io = CBXVirtualIo::GetInstance(); $f = $io->GetFile($absoluteFilePath); $f->MarkWritable(); if (COption::GetOptionInt("main", "disk_space") > 0) { $file_size = $f->GetFileSize(); $quota = new CDiskQuota(); $quota->UpdateDiskQuota("file", $file_size, "delete"); } $sucess = $io->Delete($absoluteFilePath); if (!$sucess) { return false; } if (COption::GetOptionString($module_id, "log_page", "Y") == "Y") { $res_log['path'] = substr($path, 1); CEventLog::Log("content", "PAGE_DELETE", "main", "", serialize($res_log)); } $GLOBALS["APPLICATION"]->RemoveFileAccessPermission(array($site, $path)); if (CModule::IncludeModule("search")) { CSearch::DeleteIndex("main", $site . "|" . $path); } //Delete from rewrite rule CUrlRewriter::Delete(array("SITE_ID" => $site, "PATH" => $path)); if (class_exists("\\Bitrix\\Main\\Application", false)) { \Bitrix\Main\Component\ParametersTable::deleteByFilter(array("SITE_ID" => $site, "REAL_PATH" => $path)); } return true; }
public static function OnPageStart() { if(!defined("PERFMON_STOP")) { $end_time = COption::GetOptionInt("perfmon", "end_time"); if(time() > $end_time) { CPerfomanceKeeper::SetActive(false); if(COption::GetOptionString("perfmon", "total_mark_value", "") == "measure"); COption::SetOptionString("perfmon", "total_mark_value", "calc"); } else { global $DB, $APPLICATION; // define("PERFMON_STARTED", $DB->ShowSqlStat); $DB->ShowSqlStat = true; $APPLICATION->ShowIncludeStat = true; global $perfmonErrors; $perfmonErrors = array(); if(COption::GetOptionString("perfmon", "warning_log") === "Y") set_error_handler("perfmonErrorHandler"); } } }
public function Execute() { if (!CModule::IncludeModule("intranet")) { return CBPActivityExecutionStatus::Closed; } $calendarIblockId = COption::GetOptionInt("intranet", 'iblock_calendar', 0); if ($calendarIblockId <= 0) { return CBPActivityExecutionStatus::Closed; } $rootActivity = $this->GetRootActivity(); $documentId = $rootActivity->GetDocumentId(); $arCalendarUser = CBPHelper::ExtractUsers($this->CalendarUser, $documentId); foreach ($arCalendarUser as $calendarUser) { $Params = array('iblockId' => $calendarIblockId, 'ownerType' => "USER", 'ownerId' => $calendarUser, 'cacheTime' => 0, 'pageUrl' => false, 'allowSuperpose' => false, 'allowResMeeting' => false, 'allowVideoMeeting' => false, 'userIblockId' => $calendarIblockId); $EC = new CEventCalendar(); $EC->Init($Params); $sectionId = $EC->GetSectionIDByOwnerId($calendarUser, 'USER', $calendarIblockId); if ($sectionId <= 0) { $sectionId = CEventCalendar::CreateSectionForOwner($calendarUser, "USER", $calendarIblockId); } $arGuestCalendars = $EC->GetCalendars(array('sectionId' => $sectionId, 'iblockId' => $calendarIblockId, 'ownerType' => 'USER', 'ownerId' => $calendarUser, 'bOwner' => true, 'forExport' => true, 'bOnlyID' => true)); $arParams = array('iblockId' => $calendarIblockId, 'ownerType' => "USER", 'ownerId' => $calendarUser, 'sectionId' => $sectionId, 'bNew' => true, 'name' => $this->CalendarName, 'desc' => $this->CalendarDesrc, 'dateFrom' => cutZeroTime($this->CalendarFrom), 'dateTo' => cutZeroTime($this->CalendarTo), 'isMeeting' => false, 'prop' => array('PERIOD_TYPE' => 'NONE', 'ACCESSIBILITY' => 'busy', 'IMPORTANCE' => 'normal', 'PRIVATE' => false), 'userId' => $calendarUser, 'userIblockId' => $calendarIblockId, 'location' => array('new' => '', 'change' => true)); if (count($arGuestCalendars) > 0) { $arParams["calendarId"] = $arGuestCalendars[0]; } $EC->SaveEvent($arParams); } if (isset($EC)) { $EC->ClearCache($EC->cachePath . 'events/' . $calendarIblockId . '/'); } return CBPActivityExecutionStatus::Closed; }
function __OnAfterSetOption_disk_space($value) { if (COption::GetOptionInt("main", "disk_space") > 0) { RegisterModuleDependences("main", "OnEpilog", "main", "CDiskQuota", "setDBSize"); } else { UnRegisterModuleDependences("main", "OnEpilog", "main", "CDiskQuota", "setDBSize"); } }
function IntOption($name, $def = 0) { static $CACHE; if (!$CACHE[$name]) { $CACHE[$name] = COption::GetOptionInt("main", $name, $def); } return $CACHE[$name]; }
/** * @param $key * @param bool $int * @return int|string */ function get_sOption($key, $int = false) { if (!$int) { return COption::GetOptionString("safin", $key); } else { return COption::GetOptionInt("safin", $key); } }
function GetExtranetUserGroupID() { $extranet_group_id = COption::GetOptionInt("extranet", "extranet_group"); if (intval($extranet_group_id) > 0) { return intval($extranet_group_id); } return false; }
/** * Return true if error_reporting = 0 * * @return bool * @since 14.0.0 */ protected function checkErrorReporting() { $validErrorReporting = E_COMPILE_ERROR | E_ERROR | E_CORE_ERROR | E_PARSE; if (COption::GetOptionInt("main", "error_reporting", $validErrorReporting) != $validErrorReporting && COption::GetOptionInt("main", "error_reporting", "") != 0) { return self::STATUS_FAILED; } else { return self::STATUS_PASSED; } }
public static function get_sections_menu($IBLOCK_TYPE_ID, $IBLOCK_ID, $DEPTH_LEVEL, $SECTION_ID, $arSectionsChain = false) { global $adminMenu; if (false === $arSectionsChain) { $arSectionsChain = array(); if (isset($_REQUEST['admin_mnu_menu_id'])) { $menu_id = "menu_catalog_category_" . $IBLOCK_ID . "/"; if (0 == strncmp($_REQUEST['admin_mnu_menu_id'], $menu_id, strlen($menu_id))) { $rsSections = CIBlockSection::GetNavChain($IBLOCK_ID, substr($_REQUEST['admin_mnu_menu_id'], strlen($menu_id)), array('ID', 'IBLOCK_ID')); while ($arSection = $rsSections->Fetch()) { $arSectionsChain[$arSection["ID"]] = $arSection["ID"]; } } } if (isset($_REQUEST["find_section_section"]) && (int) $_REQUEST["find_section_section"] > 0 && isset($_REQUEST["IBLOCK_ID"]) && $_REQUEST["IBLOCK_ID"] == $IBLOCK_ID) { $rsSections = CIBlockSection::GetNavChain($IBLOCK_ID, $_REQUEST["find_section_section"], array('ID', 'IBLOCK_ID')); while ($arSection = $rsSections->Fetch()) { $arSectionsChain[$arSection["ID"]] = $arSection["ID"]; } } } $urlSectionAdminPage = CIBlock::GetAdminSectionListLink($IBLOCK_ID, array('catalog' => null)); $arSections = array(); $rsSections = CIBlockSection::GetList(array("left_margin" => "ASC"), array("IBLOCK_ID" => $IBLOCK_ID, "SECTION_ID" => $SECTION_ID), false, array("ID", "IBLOCK_SECTION_ID", "NAME", "LEFT_MARGIN", "RIGHT_MARGIN")); $intCount = 0; $arOtherSectionTmp = array(); $limit = (int) COption::GetOptionInt("iblock", "iblock_menu_max_sections"); while ($arSection = $rsSections->Fetch()) { if ($limit > 0 && $intCount >= $limit) { if (empty($arOtherSectionTmp)) { $arOtherSectionTmp = array("text" => Loc::getMessage("CAT_MENU_ALL_OTH"), "url" => $urlSectionAdminPage . "&find_section_section=" . (int) $arSection["IBLOCK_SECTION_ID"], "more_url" => array(CIBlock::GetAdminSectionEditLink($IBLOCK_ID, $arSection["ID"], array('catalog' => null))), "title" => Loc::getMessage("CAT_MENU_ALL_OTH_TITLE"), "icon" => "iblock_menu_icon_sections", "page_icon" => "iblock_page_icon_sections", "skip_chain" => true, "items_id" => "menu_catalog_category_" . $IBLOCK_ID . "/" . $arSection["ID"], "module_id" => "catalog", "items" => array()); CCatalogAdmin::get_other_elements_menu($IBLOCK_TYPE_ID, $IBLOCK_ID, $arSection, $arOtherSectionTmp["more_url"]); } else { $arOtherSectionTmp['more_url'][] = $urlSectionAdminPage . "&find_section_section=" . (int) $arSection["ID"]; $arOtherSectionTmp['more_url'][] = CIBlock::GetAdminSectionEditLink($IBLOCK_ID, $arSection["ID"], array('catalog' => null)); } } else { $arSectionTmp = array("text" => htmlspecialcharsex($arSection["NAME"]), "url" => $urlSectionAdminPage . "&find_section_section=" . $arSection["ID"], "more_url" => array(CIBlock::GetAdminSectionEditLink($IBLOCK_ID, $arSection["ID"], array('catalog' => null))), "title" => htmlspecialcharsex($arSection["NAME"]), "icon" => "iblock_menu_icon_sections", "page_icon" => "iblock_page_icon_sections", "skip_chain" => true, "items_id" => "menu_catalog_category_" . $IBLOCK_ID . "/" . $arSection["ID"], "module_id" => "catalog", "dynamic" => $arSection["RIGHT_MARGIN"] - $arSection["LEFT_MARGIN"] > 1, "items" => array()); if (isset($arSectionsChain[$arSection["ID"]])) { $arSectionTmp["items"] = CCatalogAdmin::get_sections_menu($IBLOCK_TYPE_ID, $IBLOCK_ID, $DEPTH_LEVEL + 1, $arSection["ID"], $arSectionsChain); } elseif (method_exists($adminMenu, "IsSectionActive")) { if ($adminMenu->IsSectionActive("menu_catalog_category_" . $IBLOCK_ID . "/" . $arSection["ID"])) { $arSectionTmp["items"] = CCatalogAdmin::get_sections_menu($IBLOCK_TYPE_ID, $IBLOCK_ID, $DEPTH_LEVEL + 1, $arSection["ID"], $arSectionsChain); } } $arSections[] = $arSectionTmp; } $intCount++; } if (!empty($arOtherSectionTmp)) { $arSections[] = $arOtherSectionTmp; } return $arSections; }
function CleanUpAgent() { global $DB; $cleanup_days = COption::GetOptionInt("main", "event_log_cleanup_days", 7); if ($cleanup_days > 0) { $arDate = localtime(time()); $date = mktime(0, 0, 0, $arDate[4] + 1, $arDate[3] - $cleanup_days, 1900 + $arDate[5]); $DB->Query("DELETE FROM b_event_log WHERE TIMESTAMP_X <= " . $DB->CharToDateFunction(ConvertTimeStamp($date, "FULL"))); } return "CEventLog::CleanUpAgent();"; }
public static function getSelectedPriceTypeId() { if (is_null(self::$selectedPriceTypeId)) { $priceTypeId = intval(COption::GetOptionInt('crm', 'selected_catalog_group_id', 0)); if ($priceTypeId < 1) { $arBaseCatalogGroup = CCatalogGroup::GetBaseGroup(); $priceTypeId = intval($arBaseCatalogGroup['ID']); } self::$selectedPriceTypeId = $priceTypeId; } return self::$selectedPriceTypeId; }
function _get_sections_menu($arType, $arIBlock, $DEPTH_LEVEL, $SECTION_ID, $arSectionsChain = false) { //Determine opened sections if ($arSectionsChain === false) { $arSectionsChain = array(); if (isset($_REQUEST['admin_mnu_menu_id'])) { $menu_id = "menu_iblock_/" . $arType["ID"] . "/" . $arIBlock["ID"] . "/"; if (strncmp($_REQUEST['admin_mnu_menu_id'], $menu_id, strlen($menu_id)) == 0) { $rsSections = CIBlockSection::GetNavChain($arIBlock["ID"], substr($_REQUEST['admin_mnu_menu_id'], strlen($menu_id)), array('ID', 'IBLOCK_ID')); while ($arSection = $rsSections->Fetch()) { $arSectionsChain[$arSection["ID"]] = $arSection["ID"]; } } } if (isset($_REQUEST["find_section_section"]) && (int) $_REQUEST["find_section_section"] > 0 && isset($_REQUEST["IBLOCK_ID"]) && $_REQUEST["IBLOCK_ID"] == $arIBlock["ID"]) { $rsSections = CIBlockSection::GetNavChain($arIBlock["ID"], $_REQUEST["find_section_section"], array('ID', 'IBLOCK_ID')); while ($arSection = $rsSections->Fetch()) { $arSectionsChain[$arSection["ID"]] = $arSection["ID"]; } } } $urlSectionAdminPage = CIBlock::GetAdminSectionListLink($arIBlock["ID"], array("menu" => null)); $arSections = array(); if (CIBlock::GetAdminListMode($arIBlock["ID"]) == 'S') { $arSections[] = _get_elements_menu($arType, $arIBlock, $SECTION_ID); } $rsSections = CIBlockSection::GetList(array("left_margin" => "ASC"), array("IBLOCK_ID" => $arIBlock["ID"], "SECTION_ID" => $SECTION_ID), false, array("ID", "IBLOCK_SECTION_ID", "NAME", "LEFT_MARGIN", "RIGHT_MARGIN")); $sectionCount = 0; $limit = COption::GetOptionInt("iblock", "iblock_menu_max_sections"); while ($arSection = $rsSections->Fetch()) { if ($limit > 0 && $sectionCount >= $limit) { $arSections[] = array("text" => GetMessage("IBLOCK_MENU_ALL_OTH"), "url" => htmlspecialcharsbx($urlSectionAdminPage . "&find_section_section=" . (int) $arSection["IBLOCK_SECTION_ID"]), "more_url" => array($urlSectionAdminPage . "&find_section_section=" . (int) $arSection["IBLOCK_SECTION_ID"], $urlSectionAdminPage, "iblock_section_edit.php?" . $arIBlock["URL_PART"], "iblock_element_edit.php?IBLOCK_ID=" . $arIBlock["ID"] . "&type=" . $arType["ID"], "iblock_history_list.php?IBLOCK_ID=" . $arIBlock["ID"] . "&type=" . $arType["ID"]), "title" => GetMessage("IBLOCK_MENU_ALL_OTH_TITLE"), "icon" => "iblock_menu_icon_sections", "page_icon" => "iblock_page_icon_sections", "skip_chain" => true, "items_id" => "menu_iblock_/" . $arType["ID"] . "/" . $arIBlock["ID"] . "/" . $arSection["ID"], "module_id" => "iblock", "items" => array()); _get_other_elements_menu($arType, $arIBlock, $arSection, $arSections[0]["more_url"]); break; } $arSectionTmp = array("text" => htmlspecialcharsex($arSection["NAME"]), "url" => htmlspecialcharsbx($urlSectionAdminPage . "&find_section_section=" . $arSection["ID"]), "more_url" => array($urlSectionAdminPage . "&find_section_section=" . $arSection["ID"], "iblock_section_edit.php?" . $arIBlock["URL_PART"] . "&ID=" . $arSection["ID"], "iblock_section_edit.php?" . $arIBlock["URL_PART"] . "&ID=0&find_section_section=" . $arSection["ID"], "iblock_element_edit.php?IBLOCK_ID=" . $arIBlock["ID"] . "&type=" . $arType["ID"] . "&find_section_section=" . $arSection["ID"], "iblock_history_list.php?IBLOCK_ID=" . $arIBlock["ID"] . "&type=" . $arType["ID"] . "&find_section_section=" . $arSection["ID"]), "title" => htmlspecialcharsex($arSection["NAME"]), "icon" => "iblock_menu_icon_sections", "page_icon" => "iblock_page_icon_sections", "skip_chain" => true, "dynamic" => CIBlock::GetAdminListMode($arIBlock["ID"]) == 'S' || $arSection["RIGHT_MARGIN"] - $arSection["LEFT_MARGIN"] > 1, "items_id" => "menu_iblock_/" . $arType["ID"] . "/" . $arIBlock["ID"] . "/" . $arSection["ID"], "module_id" => "iblock", "items" => array()); if (array_key_exists($arSection["ID"], $arSectionsChain)) { $arSectionTmp["items"] = _get_sections_menu($arType, $arIBlock, $DEPTH_LEVEL + 1, $arSection["ID"], $arSectionsChain); } elseif (method_exists($GLOBALS["adminMenu"], "IsSectionActive")) { if ($GLOBALS["adminMenu"]->IsSectionActive("menu_iblock_/" . $arType["ID"] . "/" . $arIBlock["ID"] . "/" . $arSection["ID"])) { $arSectionTmp["items"] = _get_sections_menu($arType, $arIBlock, $DEPTH_LEVEL + 1, $arSection["ID"], $arSectionsChain); } } $arSections[] = $arSectionTmp; $sectionCount++; } while ($arSection = $rsSections->Fetch()) { $urlElementAdminPage = CIBlock::GetAdminElementListLink($arIBlock["ID"], array("menu" => null)); $arSections[0]["more_url"][] = $urlElementAdminPage . "&find_section_section=" . (int) $arSection["ID"]; } return $arSections; }
public function Execute() { if (!CModule::IncludeModule("intranet")) { return CBPActivityExecutionStatus::Closed; } $iblockId = COption::GetOptionInt("intranet", "iblock_tasks", 0); if ($iblockId <= 0) { return CBPActivityExecutionStatus::Closed; } $parentSectionId = 0; $dbSectionsList = CIBlockSection::GetList(array(), array("GLOBAL_ACTIVE" => "Y", "XML_ID" => $this->TaskType == "group" ? $this->TaskOwnerId : "users_tasks", "IBLOCK_ID" => $iblockId, "SECTION_ID" => 0), false); if ($arSection = $dbSectionsList->GetNext()) { $parentSectionId = $arSection["ID"]; } if ($parentSectionId <= 0) { $dbSectionsList = CIBlockSection::GetList(array(), array("GLOBAL_ACTIVE" => "Y", "XML_ID" => "users_tasks", "IBLOCK_ID" => $iblockId, "SECTION_ID" => 0), false); if ($arSection = $dbSectionsList->GetNext()) { $parentSectionId = $arSection["ID"]; } } if ($parentSectionId <= 0) { return CBPActivityExecutionStatus::Closed; } $rootActivity = $this->GetRootActivity(); $documentId = $rootActivity->GetDocumentId(); $arTaskCreatedBy = CBPHelper::ExtractUsers($this->TaskCreatedBy, $documentId, true); $arTaskAssignedTo = CBPHelper::ExtractUsers($this->TaskAssignedTo, $documentId, true); if (!$arTaskCreatedBy || !$arTaskAssignedTo) { return CBPActivityExecutionStatus::Closed; } if ($this->TaskType != "group") { $this->TaskOwnerId = $arTaskAssignedTo; } $arTaskTrackers = CBPHelper::ExtractUsers($this->TaskTrackers, $documentId); $arFields = array("IBLOCK_SECTION_ID" => $parentSectionId, "MODIFIED_BY" => $arTaskCreatedBy, "CREATED_BY" => $arTaskCreatedBy, "DATE_CREATE" => date($GLOBALS["DB"]->DateFormatToPHP(FORMAT_DATETIME)), "ACTIVE_FROM" => $this->TaskActiveFrom, "ACTIVE_TO" => $this->TaskActiveTo, "NAME" => $this->TaskName, "DETAIL_TEXT" => $this->TaskDetailText, "PROPERTY_TaskPriority" => $this->TaskPriority, "PROPERTY_TaskAssignedTo" => $arTaskAssignedTo, "PROPERTY_TaskTrackers" => $arTaskTrackers); $taskId = CIntranetTasksDocument::CreateDocument($arFields); if ($this->TaskType == "group") { $pathTemplate = str_replace(array("#GROUP_ID#", "#TASK_ID#"), array($this->TaskOwnerId, "{=Document:ID}"), COption::GetOptionString("intranet", "path_task_group_entry", "/workgroups/group/#GROUP_ID#/tasks/task/view/#TASK_ID#/")); } else { $pathTemplate = str_replace(array("#USER_ID#", "#TASK_ID#"), array($this->TaskOwnerId, "{=Document:ID}"), COption::GetOptionString("intranet", "path_task_user_entry", "/company/personal/user/#USER_ID#/tasks/task/view/#TASK_ID#/")); } $pathTemplate = str_replace('#HTTP_HOST#', $_SERVER['HTTP_HOST'], "http://#HTTP_HOST#" . $pathTemplate); $arTemplateStates = CBPWorkflowTemplateLoader::GetDocumentTypeStates(array("intranet", "CIntranetTasksDocument", "x" . $iblockId), CBPDocumentEventType::Create); foreach ($arTemplateStates as $arState) { CBPDocument::StartWorkflow($arState["TEMPLATE_ID"], array("intranet", "CIntranetTasksDocument", $taskId), array("OwnerId" => $this->TaskOwnerId, "TaskType" => $this->TaskType, "PathTemplate" => $pathTemplate, "ForumId" => intval($this->TaskForumId), "IBlockId" => $iblockId), $arErrorsTmp); } return CBPActivityExecutionStatus::Closed; }
function CleanUp() { global $DB; $days = COption::GetOptionInt("mail", "time_keep_log", B_MAIL_KEEP_LOG); $strSql = "DELETE FROM b_mail_log WHERE DATE_INSERT < DATE_ADD(now(), INTERVAL -" . intval($days) . " DAY)"; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); $mt = GetMicroTime(); $dbr = $DB->Query("SELECT MS.ID FROM b_mail_message MS, b_mail_mailbox MB WHERE MS.MAILBOX_ID=MB.ID AND MB.MAX_KEEP_DAYS>0 AND MS.DATE_INSERT < DATE_ADD(now(), INTERVAL -MB.MAX_KEEP_DAYS DAY)"); while ($ar = $dbr->Fetch()) { CMailMessage::Delete($ar["ID"]); if (GetMicroTime() - $mt > 10 * 1000) { break; } } return "CMailbox::CleanUp();"; }
/** * @param array $arParams * @return bool */ public static function onBeforeUserLogin($arParams) { /** * @global CMain $APPLICATION * @global CDataBase $DB */ global $DB, $APPLICATION; $userId = self::getUserIdForLogin($arParams["LOGIN"]); $userInfo = self::getSecurityUserInfo($userId, true); if(!$userId || !$userInfo) { //user not found or not use OTP return true; } $isSuccess = false; if(preg_match("/(\\d{6})$/", $arParams["PASSWORD"], $arMatch)) { $bin_secret = pack('H*', $userInfo["SECRET"]); $sync = $arMatch[1]; $cnt = intval($userInfo["COUNTER"])+1; $window = COption::GetOptionInt("security", "hotp_user_window"); $i = 0; while($i < $window) { if(CSecurityUser::HOTP($bin_secret, $cnt) == $sync) { $isSuccess = true; $arParams["PASSWORD"] = substr($arParams["PASSWORD"], 0, -6); $DB->Query("UPDATE b_sec_user SET COUNTER = ".$cnt." WHERE USER_ID = ".$userId); break; } $cnt++; $i++; } } if(!$isSuccess) { $APPLICATION->ThrowException(GetMessage("WRONG_LOGIN")); return false; } return true; }
function CheckFields($ACTION, &$arFields, $ID = 0) { global $DB; if ((is_set($arFields, "USER_ID") || $ACTION == "ADD") && IntVal($arFields["USER_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_EMPTY_USER_ID"), "EMPTY_USER_ID"); return false; } elseif (is_set($arFields, "USER_ID")) { $dbResult = CUser::GetByID($arFields["USER_ID"]); if (!$dbResult->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_NO_USER_ID"), "ERROR_NO_USER_ID"); return false; } } if (is_set($arFields, "ALIAS") && strlen($arFields["ALIAS"]) > 0) { $dbResult = CBlogUser::GetList(array(), array("ALIAS" => $arFields["ALIAS"], "!ID" => IntVal($ID)), false, false, array("ID")); if ($dbResult->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_DUPL_ALIAS"), "ERROR_DUPL_ALIAS"); return false; } } if (is_set($arFields, "LAST_VISIT") && !$DB->IsDate($arFields["LAST_VISIT"], false, LANG, "FULL")) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_LAST_VISIT"), "ERROR_LAST_VISIT"); return false; } if (is_set($arFields, "DATE_REG") && !$DB->IsDate($arFields["DATE_REG"], false, LANG, "FULL")) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("BLG_GU_ERROR_DATE_REG"), "ERROR_DATE_REG"); return false; } if ((is_set($arFields, "ALLOW_POST") || $ACTION == "ADD") && $arFields["ALLOW_POST"] != "Y" && $arFields["ALLOW_POST"] != "N") { $arFields["ALLOW_POST"] = "Y"; } if (is_set($arFields, "AVATAR") && strlen($arFields["AVATAR"]["name"]) <= 0 && strlen($arFields["AVATAR"]["del"]) <= 0) { unset($arFields["AVATAR"]); } if (is_set($arFields, "AVATAR")) { $max_size = COption::GetOptionInt("blog", "avatar_max_size", 30000); //$max_width = COption::GetOptionInt("blog", "avatar_max_width", 100); //$max_height = COption::GetOptionInt("blog", "avatar_max_height", 100); $res = CFile::CheckImageFile($arFields["AVATAR"], $max_size, 0, 0); if (strlen($res) > 0) { $GLOBALS["APPLICATION"]->ThrowException($res, "ERROR_AVATAR"); return false; } } return True; }
function forumTextParser($lang = false, $pathToSmiles = '', $type = false, $mode = 'full') { $this->CTextParser(); $this->arFiles = array(); $this->arFilesParsed = array(); $this->serverName = defined("SITE_SERVER_NAME") && strlen(SITE_SERVER_NAME) > 0 ? SITE_SERVER_NAME : COption::GetOptionString("main", "server_name", ""); $this->serverName = strlen($this->serverName) > 0 ? $this->serverName : $_SERVER["SERVER_NAME"]; $this->arUserfields = array(); $this->ajaxPage = $GLOBALS["APPLICATION"]->GetCurPageParam("", array("bxajaxid", "logout")); $this->userPath = ""; $this->userNameTemplate = str_replace(array("#NOBR#", "#/NOBR#"), "", CSite::GetDefaultNameFormat()); $this->smilesGallery = \COption::GetOptionInt("forum", "smile_gallery_id", 0); if ($mode == 'full') { AddEventHandler("main", "TextParserBeforeTags", array(&$this, "ParserSpoiler")); AddEventHandler("main", "TextParserAfterTags", array(&$this, "ParserFile")); AddEventHandler("main", "TextParserAfterTags", array(&$this, "ParserUser")); } }
protected function checkSecurityLevel() { /** @global CDataBase $DB */ global $DB; if (!CSecurityFilter::IsActive()) { $this->addUnformattedDetailError("SECURITY_SITE_CHECKER_WAF_OFF", CSecurityCriticalLevel::HIGHT); } if (self::AdminPolicyLevel() != "high") { $this->addUnformattedDetailError("SECURITY_SITE_CHECKER_ADMIN_SECURITY_LEVEL", CSecurityCriticalLevel::HIGHT); } $validErrorReporting = E_COMPILE_ERROR | E_ERROR | E_CORE_ERROR | E_PARSE; if (COption::GetOptionInt("main", "error_reporting", $validErrorReporting) != $validErrorReporting && COption::GetOptionString("main", "error_reporting", "") != "") { $this->addUnformattedDetailError("SECURITY_SITE_CHECKER_ERROR_REPORTING", CSecurityCriticalLevel::MIDDLE); } if ($DB->debug) { $this->addUnformattedDetailError("SECURITY_SITE_CHECKER_DB_DEBUG", CSecurityCriticalLevel::HIGHT); } }
function OnBeforeUserLogin($arParams) { /** * @global CMain $APPLICATION * @global CDataBase $DB */ global $DB, $APPLICATION; $rsUser = CUser::GetList($by, $order, array("LOGIN_EQUAL_EXACT" => $arParams["LOGIN"])); while ($arUser = $rsUser->Fetch()) { if (!$arUser["EXTERNAL_AUTH_ID"]) { break; } } if ($arUser) { $USER_ID = intval($arUser["ID"]); $rsKey = $DB->Query("SELECT * from b_sec_user WHERE ACTIVE='Y' AND USER_ID = " . $USER_ID); $arKey = $rsKey->Fetch(); if ($arKey) { $bSuccess = false; if (preg_match("/(\\d{6})\$/", $arParams["PASSWORD"], $arMatch)) { $bin_secret = pack('H*', $arKey["SECRET"]); $sync = $arMatch[1]; $cnt = intval($arKey["COUNTER"]) + 1; $window = COption::GetOptionInt("security", "hotp_user_window"); $i = 0; while ($i < $window) { if (CSecurityUser::HOTP($bin_secret, $cnt) == $sync) { $bSuccess = true; $arParams["PASSWORD"] = substr($arParams["PASSWORD"], 0, -6); $DB->Query("UPDATE b_sec_user SET COUNTER = " . $cnt . " WHERE USER_ID = " . $USER_ID); break; } $cnt++; $i++; } } if (!$bSuccess) { $APPLICATION->ThrowException(GetMessage("WRONG_LOGIN")); return false; } } } return true; }
public static function OnPageStart() { if (!defined("PERFMON_STOP")) { $end_time = COption::GetOptionInt("perfmon", "end_time"); if (time() > $end_time) { CPerfomanceKeeper::SetActive(false); if (COption::GetOptionString("perfmon", "total_mark_value", "") == "measure") { } COption::SetOptionString("perfmon", "total_mark_value", "calc"); } else { self::setDebugModeOn(); global $perfmonErrors; $perfmonErrors = array(); if (COption::GetOptionString("perfmon", "warning_log") === "Y") { set_error_handler("perfmonErrorHandler"); } register_shutdown_function(array("CPerfomanceKeeper", "writeToDatabase")); } } }
public static function SetDBSize() { global $DB; $DBSize = 0; if ($_SESSION["SESS_RECOUNT_DB"] == "Y" && COption::GetOptionInt("main", "disk_space") > 0) { $db_res = $DB->Query("SHOW TABLE STATUS FROM `" . $DB->ForSql($DB->DBName) . "`"); if ($db_res && ($res = $db_res->Fetch())) { do { $DBSize += $res["Data_length"] + $res["Index_length"]; } while ($res = $db_res->Fetch()); } COption::SetOptionString("main_size", "~db", $DBSize); $params = array("status" => "d", "time" => time()); COption::SetOptionString("main_size", "~db_params", serialize($params)); unset($_SESSION["SESS_RECOUNT_DB"]); } else { $params = array("status" => "d", "time" => false); } return array("status" => "done", "size" => $DBSize, "time" => $params["time"]); }
static function DoProcessOrder(&$arOrder, $deliveryId, &$arErrors) { if (!array_key_exists("DELIVERY_LOCATION", $arOrder) || intval($arOrder["DELIVERY_LOCATION"]) <= 0) return; if (strlen($deliveryId) > 0 && strpos($deliveryId, ":") !== false) { $arOrder["DELIVERY_ID"] = $deliveryId; $delivery = explode(":", $deliveryId); $arOrderTmpDel = array( "PRICE" => $arOrder["ORDER_PRICE"] + $arOrder["TAX_PRICE"] - $arOrder["DISCOUNT_PRICE"], "WEIGHT" => $arOrder["ORDER_WEIGHT"], "LOCATION_FROM" => COption::GetOptionInt('sale', 'location', '2961', $arOrder["SITE_ID"]), "LOCATION_TO" => $arOrder["DELIVERY_LOCATION"], "LOCATION_ZIP" => $arOrder["DELIVERY_LOCATION_ZIP"], "ITEMS" => $arOrder["BASKET_ITEMS"] ); $arDeliveryPrice = CSaleDeliveryHandler::CalculateFull($delivery[0], $delivery[1], $arOrderTmpDel, $arOrder["CURRENCY"],$arOrder["LID"]); if ($arDeliveryPrice["RESULT"] == "ERROR") $arErrors[] = array("CODE" => "CALCULATE", "TEXT" => $arDeliveryPrice["TEXT"]); else $arOrder["DELIVERY_PRICE"] = roundEx($arDeliveryPrice["VALUE"], SALE_VALUE_PRECISION); } elseif (intval($deliveryId) > 0) { if ($arDelivery = CSaleDelivery::GetByID($deliveryId)) { $arOrder["DELIVERY_ID"] = $deliveryId; $arOrder["DELIVERY_PRICE"] = roundEx(CCurrencyRates::ConvertCurrency($arDelivery["PRICE"], $arDelivery["CURRENCY"], $arOrder["CURRENCY"]), SALE_VALUE_PRECISION); } else { $arErrors[] = array("CODE" => "CALCULATE", "TEXT" => GetMessage('SKGD_DELIVERY_NOT_FOUND')); } } }
public function CCaptcha() { $this->transparentTextPercent = COption::GetOptionInt("main", "CAPTCHA_transparentTextPercent", 10); $this->bTransparentText = $this->transparentTextPercent > 0; $this->SetBGColorRGB(COption::GetOptionString("main", "CAPTCHA_arBGColor_1", "FFFFFF"), COption::GetOptionString("main", "CAPTCHA_arBGColor_2", "FFFFFF")); $this->SetEllipsesNumber(COption::GetOptionInt("main", "CAPTCHA_numEllipses", 100)); $this->SetEllipseColorRGB(COption::GetOptionString("main", "CAPTCHA_arEllipseColor_1", "7F7F7F"), COption::GetOptionString("main", "CAPTCHA_arEllipseColor_2", "FFFFFF")); $this->SetLinesOverText(COption::GetOptionString("main", "CAPTCHA_bLinesOverText", "N") === "Y"); $this->SetLinesNumber(COption::GetOptionInt("main", "CAPTCHA_numLines", 20)); $this->SetLineColorRGB(COption::GetOptionString("main", "CAPTCHA_arLineColor_1", "6E6E6E"), COption::GetOptionString("main", "CAPTCHA_arLineColor_2", "FAFAFA")); $this->SetTextWriting(COption::GetOptionInt("main", "CAPTCHA_textAngel_1", -20), COption::GetOptionInt("main", "CAPTCHA_textAngel_2", 20), COption::GetOptionInt("main", "CAPTCHA_textStartX", 7), COption::GetOptionInt("main", "CAPTCHA_textDistance_1", 27), COption::GetOptionInt("main", "CAPTCHA_textDistance_2", 32), COption::GetOptionInt("main", "CAPTCHA_textFontSize", 20)); $this->SetTextColorRGB(COption::GetOptionString("main", "CAPTCHA_arTextColor_1", "000000"), COption::GetOptionString("main", "CAPTCHA_arTextColor_2", "646464")); $this->SetWaveTransformation(COption::GetOptionString("main", "CAPTCHA_bWaveTransformation", "N") === "Y"); $this->SetEmptyText(COption::GetOptionString("main", "CAPTCHA_bEmptyText", "N") === "Y"); $this->SetBorderColorRGB(COption::GetOptionString("main", "CAPTCHA_arBorderColor", "000000")); $this->SetTTFFonts(explode(",", COption::GetOptionString("main", "CAPTCHA_arTTFFiles", "font.ttf"))); $strChars = COption::GetOptionString("main", "CAPTCHA_letters", "ABCDEFGHJKLMNPQRSTWXYZ23456789"); $arChars = array(); for ($i = 0; $i < strlen($strChars); $i++) { $arChars[] = substr($strChars, $i, 1); } $this->SetCodeChars($arChars); }
<?php //<title>CSV (new)</title> IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/catalog/export_setup_templ.php'); IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/catalog/export_yandex.php'); global $APPLICATION, $USER; $maxDepthLevel = (int) COption::GetOptionInt("catalog", "num_catalog_levels", 3); if ($maxDepthLevel <= 0) { $maxDepthLevel = 3; } $arSetupErrors = array(); $strCatalogDefaultFolder = COption::GetOptionString("catalog", "export_default_path", CATALOG_DEFAULT_EXPORT_PATH); $STEP = (int) $STEP; if (0 >= $STEP) { $STEP = 1; } $ACTION = strval($ACTION); //******************** ACTIONS **************************************// if (($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 1) { if (isset($arOldSetupVars['IBLOCK_ID'])) { $IBLOCK_ID = $arOldSetupVars['IBLOCK_ID']; } } if ($STEP > 1) { $IBLOCK_ID = (int) $IBLOCK_ID; if ($IBLOCK_ID <= 0) { $arSetupErrors[] = GetMessage("CATI_NO_IBLOCK"); } else { $rsIBlocks = CIBlock::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID, 'CHECK_PERMISSIONS' => 'N')); if (!($arIBlock = $rsIBlocks->Fetch())) { $arSetupErrors[] = GetMessage("CATI_NO_IBLOCK");