Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/wizards/aspro/next/site/services/iblock/ |
Upload File : |
<? if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die(); if(!CModule::IncludeModule("iblock")) return; if(!defined("WIZARD_SITE_ID")) return; if(!defined("WIZARD_SITE_DIR")) return; if(!defined("WIZARD_SITE_PATH")) return; if(!defined("WIZARD_TEMPLATE_ID")) return; if(!defined("WIZARD_TEMPLATE_ABSOLUTE_PATH")) return; if(!defined("WIZARD_THEME_ID")) return; $bitrixTemplateDir = $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/templates/".WIZARD_TEMPLATE_ID."/"; //$bitrixTemplateDir = $_SERVER["DOCUMENT_ROOT"]."/local/templates/".WIZARD_TEMPLATE_ID."/"; $iblockShortCODE = "shops"; $iblockXMLFile = WIZARD_SERVICE_RELATIVE_PATH."/xml/".LANGUAGE_ID."/".$iblockShortCODE.".xml"; $iblockTYPE = "aspro_next_content"; $iblockXMLID = "aspro_next_".$iblockShortCODE."_".WIZARD_SITE_ID; $iblockCODE = "aspro_next_".$iblockShortCODE; $iblockID = false; set_time_limit(0); $rsIBlock = CIBlock::GetList(array(), array("XML_ID" => $iblockXMLID, "TYPE" => $iblockTYPE)); if ($arIBlock = $rsIBlock->Fetch()) { $iblockID = $arIBlock["ID"]; if (WIZARD_INSTALL_DEMO_DATA) { // delete if already exist & need install demo CIBlock::Delete($arIBlock["ID"]); $iblockID = false; } } if(WIZARD_INSTALL_DEMO_DATA){ if(!$iblockID){ // add new iblock $permissions = array("1" => "X", "2" => "R"); $dbGroup = CGroup::GetList($by = "", $order = "", array("STRING_ID" => "content_editor")); if($arGroup = $dbGroup->Fetch()){ $permissions[$arGroup["ID"]] = "W"; }; // replace macros IN_XML_SITE_ID & IN_XML_SITE_DIR in xml file - for correct url links to site if(file_exists($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile.".back")){ @copy($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile.".back", $_SERVER["DOCUMENT_ROOT"].$iblockXMLFile); } @copy($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile, $_SERVER["DOCUMENT_ROOT"].$iblockXMLFile.".back"); CWizardUtil::ReplaceMacros($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile, Array("IN_XML_SITE_DIR" => WIZARD_SITE_DIR)); CWizardUtil::ReplaceMacros($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile, Array("IN_XML_SITE_ID" => WIZARD_SITE_ID)); $iblockID = WizardServices::ImportIBlockFromXML($iblockXMLFile, $iblockCODE, $iblockTYPE, WIZARD_SITE_ID, $permissions); if(file_exists($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile.".back")){ @copy($_SERVER["DOCUMENT_ROOT"].$iblockXMLFile.".back", $_SERVER["DOCUMENT_ROOT"].$iblockXMLFile); } if ($iblockID < 1) return; // iblock fields $iblock = new CIBlock; $arFields = array( "ACTIVE" => "Y", "CODE" => $iblockCODE, "XML_ID" => $iblockXMLID, "FIELDS" => array( "IBLOCK_SECTION" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "Array", ), "ACTIVE" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE"=> "Y", ), "ACTIVE_FROM" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "ACTIVE_TO" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "SORT" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "0", ), "NAME" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE" => "", ), "PREVIEW_PICTURE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "FROM_DETAIL" => "Y", "SCALE" => "Y", "WIDTH" => "100", "HEIGHT" => "69", "IGNORE_ERRORS" => "N", "METHOD" => "resample", "COMPRESSION" => 75, "DELETE_WITH_DETAIL" => "Y", "UPDATE_WITH_DETAIL" => "Y", ), ), "PREVIEW_TEXT_TYPE" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE" => "html", ), "PREVIEW_TEXT" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "DETAIL_PICTURE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "SCALE" => "Y", "WIDTH" => "2000", "HEIGHT" => "2000", "IGNORE_ERRORS" => "N", "METHOD" => "resample", "COMPRESSION" => 75, ), ), "DETAIL_TEXT_TYPE" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE" => "html", ), "DETAIL_TEXT" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "XML_ID" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "CODE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "UNIQUE" => "N", "TRANSLITERATION" => "N", "TRANS_LEN" => 100, "TRANS_CASE" => "L", "TRANS_SPACE" => "-", "TRANS_OTHER" => "-", "TRANS_EAT" => "Y", "USE_GOOGLE" => "N", ), ), "TAGS" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "SECTION_NAME" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE" => "", ), "SECTION_PICTURE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "FROM_DETAIL" => "N", "SCALE" => "N", "WIDTH" => "", "HEIGHT" => "", "IGNORE_ERRORS" => "N", "METHOD" => "resample", "COMPRESSION" => 75, "DELETE_WITH_DETAIL" => "N", "UPDATE_WITH_DETAIL" => "N", ), ), "SECTION_DESCRIPTION_TYPE" => array( "IS_REQUIRED" => "Y", "DEFAULT_VALUE" => "text", ), "SECTION_DESCRIPTION" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "SECTION_DETAIL_PICTURE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "SCALE" => "Y", "WIDTH" => "2000", "HEIGHT" => "2000", "IGNORE_ERRORS" => "N", "METHOD" => "resample", "COMPRESSION" => 75, ), ), "SECTION_XML_ID" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => "", ), "SECTION_CODE" => array( "IS_REQUIRED" => "N", "DEFAULT_VALUE" => array( "UNIQUE" => "N", "TRANSLITERATION" => "N", "TRANS_LEN" => 100, "TRANS_CASE" => "L", "TRANS_SPACE" => "-", "TRANS_OTHER" => "-", "TRANS_EAT" => "Y", "USE_GOOGLE" => "N", ), ), ), ); $iblock->Update($iblockID, $arFields); // get DB charset $sql='SHOW VARIABLES LIKE "character_set_database";'; if(method_exists('\Bitrix\Main\Application', 'getConnection')){ $db=\Bitrix\Main\Application::getConnection(); $arResult = $db->query($sql)->fetch(); $isUTF8 = $arResult['Value'] == 'utf8'; }elseif(defined("BX_USE_MYSQLI") && BX_USE_MYSQLI === true){ if($result = @mysqli_query($sql)){ $arResult = mysql_fetch_row($result); $isUTF8 = $arResult[1] == 'utf8'; } }elseif($result = @mysql_query($sql)){ $arResult = mysql_fetch_row($result); $isUTF8 = $arResult[1] == 'utf8'; } // check store user field UF_METRO & UF_MORE_PHOTOS if (!$arUserFieldMetro = CUserTypeEntity::GetList(array(), array('ENTITY_ID' => 'CAT_STORE', 'FIELD_NAME' => 'UF_METRO'))->Fetch()) { $ob = new CUserTypeEntity(); $arFields = array( 'ENTITY_ID' => 'CAT_STORE', 'FIELD_NAME' => 'UF_METRO', 'USER_TYPE_ID' => 'string', 'XML_ID' => '', 'SORT' => 100, 'MULTIPLE' => 'Y', 'MANDATORY' => 'N', 'SHOW_FILTER' => 'Y', 'SHOW_IN_LIST' => 'Y', 'EDIT_IN_LIST' => 'Y', 'IS_SEARCHABLE' => 'N', "SETTINGS" => array( 'DEFAULT_VALUE' => '', 'SIZE' => '20', 'ROWS' => '1', 'MIN_LENGTH' => '0', 'MAX_LENGTH' => '0', 'REGEXP' => '', ), 'EDIT_FORM_LABEL' => array( 'en' => 'Metro', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '�����') : '�����'), ), 'LIST_COLUMN_LABEL' => array( 'en' => 'Metro', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '�����') : '�����'), ), 'LIST_FILTER_LABEL' => array( 'en' => 'Metro', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '�����') : '�����'), ), 'ERROR_MESSAGE' => array( 'en' => '', 'ru' => '', ), 'HELP_MESSAGE' => array( 'en' => 'Metro', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '�����') : '�����'), ), ); $FIELD_ID = $ob->Add($arFields); } if (!$arUserFieldMetro = CUserTypeEntity::GetList(array(), array('ENTITY_ID' => 'CAT_STORE', 'FIELD_NAME' => 'UF_MORE_PHOTOS'))->Fetch()) { $ob = new CUserTypeEntity(); $arFields = array( 'ENTITY_ID' => 'CAT_STORE', 'FIELD_NAME' => 'UF_MORE_PHOTOS', 'USER_TYPE_ID' => 'file', 'XML_ID' => '', 'SORT' => 100, 'MULTIPLE' => 'Y', 'MANDATORY' => 'N', 'SHOW_FILTER' => 'Y', 'SHOW_IN_LIST' => 'Y', 'EDIT_IN_LIST' => 'Y', 'IS_SEARCHABLE' => 'N', "SETTINGS" => array( 'SIZE' => '20', 'LIST_WIDTH' => '0', 'LIST_HEIGHT' => '0', 'MAX_SHOW_SIZE' => '200', 'MAX_ALLOWED_SIZE' => '200', 'EXTENSIONS' => 'jpg, gif, bmp, png, jpeg', ), 'EDIT_FORM_LABEL' => array( 'en' => 'Gallery', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '������') : '������'), ), 'LIST_COLUMN_LABEL' => array( 'en' => 'Gallery', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '������') : '������'), ), 'LIST_FILTER_LABEL' => array( 'en' => 'Gallery', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '������') : '������'), ), 'ERROR_MESSAGE' => array( 'en' => '', 'ru' => '', ), 'HELP_MESSAGE' => array( 'en' => 'Gallery', 'ru' => ($isUTF8 ? iconv('CP1251', 'UTF-8', '������') : '������'), ), ); $FIELD_ID = $ob->Add($arFields); } } else{ // attach iblock to site $arSites = array(); $db_res = CIBlock::GetSite($iblockID); while ($res = $db_res->Fetch()) $arSites[] = $res["LID"]; if (!in_array(WIZARD_SITE_ID, $arSites)){ $arSites[] = WIZARD_SITE_ID; $iblock = new CIBlock; $iblock->Update($iblockID, array("LID" => $arSites)); } } // iblock user fields $dbSite = CSite::GetByID(WIZARD_SITE_ID); if($arSite = $dbSite -> Fetch()) $lang = $arSite["LANGUAGE_ID"]; if(!strlen($lang)) $lang = "ru"; WizardServices::IncludeServiceLang("editform_useroptions.php", $lang); $arProperty = array(); $dbProperty = CIBlockProperty::GetList(array(), array("IBLOCK_ID" => $iblockID)); while($arProp = $dbProperty->Fetch()) $arProperty[$arProp["CODE"]] = $arProp["ID"]; // edit form user oprions CUserOptions::SetOption("form", "form_element_".$iblockID, array( "tabs" => 'edit1--#--'.GetMessage("WZD_OPTION_90").'--,--ACTIVE--#--'.GetMessage("WZD_OPTION_2").'--,--SORT--#--'.GetMessage("WZD_OPTION_44").'--,--NAME--#--'.GetMessage("WZD_OPTION_54").'--,--PROPERTY_'.$arProperty["ADDRESS"].'--#--'.GetMessage("WZD_OPTION_224").'--,--PROPERTY_'.$arProperty["PHONE"].'--#--'.GetMessage("WZD_OPTION_94").'--,--PROPERTY_'.$arProperty["EMAIL"].'--#--'.GetMessage("WZD_OPTION_96").'--,--PROPERTY_'.$arProperty["SCHEDULE"].'--#--'.GetMessage("WZD_OPTION_226").'--,--PROPERTY_'.$arProperty["METRO"].'--#--'.GetMessage("WZD_OPTION_228").'--,--PREVIEW_PICTURE--#--'.GetMessage("WZD_OPTION_172").'--,--DETAIL_PICTURE--#--'.GetMessage("WZD_OPTION_174").'--,--PROPERTY_'.$arProperty["MORE_PHOTOS"].'--#--'.GetMessage("WZD_OPTION_12").'--,--DETAIL_TEXT--#--'.GetMessage("WZD_OPTION_16").'--,--PROPERTY_'.$arProperty["MAP"].'--#--'.GetMessage("WZD_OPTION_230").'--,--PROPERTY_'.$arProperty["STORE_ID"].'--#--'.GetMessage("WZD_OPTION_232").'--;--edit14--#--'.GetMessage("WZD_OPTION_18").'--,--IPROPERTY_TEMPLATES_ELEMENT_META_TITLE--#--'.GetMessage("WZD_OPTION_20").'--,--IPROPERTY_TEMPLATES_ELEMENT_META_KEYWORDS--#--'.GetMessage("WZD_OPTION_22").'--,--IPROPERTY_TEMPLATES_ELEMENT_META_DESCRIPTION--#--'.GetMessage("WZD_OPTION_24").'--,--IPROPERTY_TEMPLATES_ELEMENT_PAGE_TITLE--#--'.GetMessage("WZD_OPTION_188").'--,--IPROPERTY_TEMPLATES_ELEMENTS_PREVIEW_PICTURE--#--'.GetMessage("WZD_OPTION_28").'--,--IPROPERTY_TEMPLATES_ELEMENT_PREVIEW_PICTURE_FILE_ALT--#--'.GetMessage("WZD_OPTION_30").'--,--IPROPERTY_TEMPLATES_ELEMENT_PREVIEW_PICTURE_FILE_TITLE--#--'.GetMessage("WZD_OPTION_32").'--,--IPROPERTY_TEMPLATES_ELEMENT_PREVIEW_PICTURE_FILE_NAME--#--'.GetMessage("WZD_OPTION_34").'--,--IPROPERTY_TEMPLATES_ELEMENTS_DETAIL_PICTURE--#--'.GetMessage("WZD_OPTION_36").'--,--IPROPERTY_TEMPLATES_ELEMENT_DETAIL_PICTURE_FILE_ALT--#--'.GetMessage("WZD_OPTION_30").'--,--IPROPERTY_TEMPLATES_ELEMENT_DETAIL_PICTURE_FILE_TITLE--#--'.GetMessage("WZD_OPTION_32").'--,--IPROPERTY_TEMPLATES_ELEMENT_DETAIL_PICTURE_FILE_NAME--#--'.GetMessage("WZD_OPTION_34").'--,--SEO_ADDITIONAL--#--'.GetMessage("WZD_OPTION_84").'--,--TAGS--#--'.GetMessage("WZD_OPTION_46").'--;--;--', )); // list user options CUserOptions::SetOption("list", "tbl_iblock_list_".md5($iblockTYPE.".".$iblockID), array( 'columns' => 'NAME,PROPERTY_'.$arProperty["ADDRESS"].',PREVIEW_PICTURE,PROPERTY_'.$arProperty["PHONE"].',PROPERTY_'.$arProperty["EMAIL"].',PROPERTY_'.$arProperty["SCHEDULE"].',PROPERTY_'.$arProperty["METRO"].',PROPERTY_'.$arProperty["MAP"].',PROPERTY_'.$arProperty["STORE_ID"].',ACTIVE,SORT,ID', 'by' => 'sort', 'order' => 'asc', 'page_size' => '20', )); } if($iblockID){ // replace macros IBLOCK_TYPE & IBLOCK_ID & IBLOCK_CODE CWizardUtil::ReplaceMacrosRecursive(WIZARD_SITE_PATH, Array("IBLOCK_SHOPS_TYPE" => $iblockTYPE)); CWizardUtil::ReplaceMacrosRecursive(WIZARD_SITE_PATH, Array("IBLOCK_SHOPS_ID" => $iblockID)); CWizardUtil::ReplaceMacrosRecursive(WIZARD_SITE_PATH, Array("IBLOCK_SHOPS_CODE" => $iblockCODE)); CWizardUtil::ReplaceMacrosRecursive($bitrixTemplateDir, Array("IBLOCK_SHOPS_TYPE" => $iblockTYPE)); CWizardUtil::ReplaceMacrosRecursive($bitrixTemplateDir, Array("IBLOCK_SHOPS_ID" => $iblockID)); CWizardUtil::ReplaceMacrosRecursive($bitrixTemplateDir, Array("IBLOCK_SHOPS_CODE" => $iblockCODE)); } ?>