<<
#tabs# #MESS_BTN_MIN# #MESS_BTN_MAX#
#panels# HTML , 'block' => << #name# HTML , 'block_page' => << #blocks# HTML , 'tool' => <<
#name#:
#html#
HTML , 'device' => << #MESS_NAME# HTML , 'tab' => <<#name# HTML , 'tab_active' => 'bx-editor-block-btn-active' , 'panel' => <<#html# HTML , 'panel_hidden' => 'style="display: none;"' , 'panel-edit' => <<
#MESS_BLOCKS# #MESS_STYLES#
    #blocks#
    #MESS_TOOL_CONTENT# #MESS_TOOL_STYLES# #MESS_TOOL_SETTINGS#
    #MESS_TOOL_EMPTY#
    #tools#
    HTML , 'panel-preview' => <<
    #MESS_ACCESS_DENIED#
    #devices#
    HTML , 'panel-get-html' => << HTML ); /** * Return editor object * * @param array $params * @return Editor */ public static function createInstance($params) { return new static($params); } /** * Create editor object. * * @param array $params */ public function __construct($params) { $this->id = $params['id']; $this->url = $params['url']; $this->previewUrl = isset($params['previewUrl']) ? $params['previewUrl'] : '/bitrix/admin/fileman_block_editor.php?action=preview'; $this->saveFileUrl = isset($params['saveFileUrl']) ? $params['saveFileUrl'] : '/bitrix/admin/fileman_block_editor.php?action=save_file'; $this->templateType = $params['templateType']; $this->templateId = $params['templateId']; $this->site = $params['site']; $this->charset = $params['charset']; $this->isTemplateMode = isset($params['isTemplateMode']) ? (bool) $params['isTemplateMode'] : false; $this->useLightTextEditor = isset($params['useLightTextEditor']) ? (bool) $params['useLightTextEditor'] : false; $this->isUserHavePhpAccess = isset($params['isUserHavePhpAccess']) ? (bool) $params['isUserHavePhpAccess'] : false; $this->ownResultId = isset($params['own_result_id']) ? $params['own_result_id'] : true; $this->componentFilter = isset($params['componentFilter']) ? $params['componentFilter'] : array(); $this->setToolList($this->getDefaultToolList()); $this->previewModes = array( array('CLASS' => 'phone', 'NAME' => Loc::getMessage('BLOCK_EDITOR_PREVIEW_MODE_PHONE'), 'WIDTH' => 320, 'HEIGHT' => 480), array('CLASS' => 'tablet', 'NAME' => Loc::getMessage('BLOCK_EDITOR_PREVIEW_MODE_TABLET'), 'WIDTH' => 768, 'HEIGHT' => 1024), array('CLASS' => 'desktop', 'NAME' => Loc::getMessage('BLOCK_EDITOR_PREVIEW_MODE_DESKTOP'), 'WIDTH' => 1024, 'HEIGHT' => 768), ); $this->tabs = array( 'edit' => array('NAME' => Loc::getMessage('BLOCK_EDITOR_TABS_EDIT'), 'ACTIVE' => true), 'preview' => array('NAME' => Loc::getMessage('BLOCK_EDITOR_TABS_PREVIEW'), 'ACTIVE' => false), //'get-html' => array('NAME' => Loc::getMessage('BLOCK_EDITOR_TABS_HTML'), 'ACTIVE' => false), ); } /** * Set custom blocks * * @param array $blocks * @return void */ public function setBlockList(array $blocks) { $this->blocks = $blocks; if(!is_array($this->blocks)) { $this->blocks = array(); } foreach($this->blocks as $key => $block) { if(!isset($block['TYPE'])) { $block['TYPE'] = $block['CODE']; } $block['IS_COMPONENT'] = false; $block['CLASS'] = $block['CODE']; $this->blocks[$key] = $block; } $componentsNotAsBlocks = array(); if (!$this->useLightTextEditor) { $componentList = $this->getComponentList(); foreach($componentList as $component) { if(!isset($this->componentsAsBlocks[$component['NAME']])) { $componentsNotAsBlocks[] = array( 'TYPE' => 'component', 'IS_COMPONENT' => true, 'CODE' => $component['NAME'], 'NAME' => $component['TITLE'], 'DESC' => $component['TITLE'] . ".\n" . $component['DESCRIPTION'], 'HTML' => '' ); } else { $interfaceName = $this->componentsAsBlocks[$component['NAME']]['NAME']; $this->blocks[] = array( 'TYPE' => 'component', 'IS_COMPONENT' => false, 'CODE' => $component['NAME'], 'NAME' => $interfaceName ? $interfaceName : $component['TITLE'], 'DESC' => $component['DESCRIPTION'], 'HTML' => '' ); } } } $this->blocks = array_merge($this->blocks, $componentsNotAsBlocks); } /** * Set custom tools * * @param array $tools * @return void */ public function setToolList(array $tools) { $this->tools = $tools; } /** * Return list of default blocks * * @return array */ public function getDefaultBlockList() { return array( array( 'CODE' => 'text', 'NAME' => Loc::getMessage('BLOCK_EDITOR_BLOCK_TEXT_NAME'), 'DESC' => Loc::getMessage('BLOCK_EDITOR_BLOCK_TEXT_DESC'), 'HTML' => Loc::getMessage('BLOCK_EDITOR_BLOCK_TEXT_EXAMPLE') ), ); } /** * Return true if can use Russian services. * * @return bool */ public static function isAvailableRussian() { if (!Loader::includeModule('bitrix24')) { return true; } return in_array(\CBitrix24::getPortalZone(), array('ru', 'kz', 'by')); } /** * Return list of default tools, uses for block changing * * @return array */ public function getDefaultToolList() { $isUserHavePhpAccess = $this->isUserHavePhpAccess; $useLightTextEditor = $this->useLightTextEditor; $resultList = array(); $resultList[] = array( 'GROUP' => 'cont', 'ID' => 'html-raw', 'NAME' => Loc::getMessage('BLOCK_EDITOR_TOOL_HTML_RAW'), 'HTML' => '', ); $resultList[] = array( 'GROUP' => 'cont', 'ID' => 'src', 'NAME' => Loc::getMessage('BLOCK_EDITOR_TOOL_SRC'), 'HTML' => '' . \Bitrix\Main\UI\FileInput::createInstance((array( "id" => "BX_BLOCK_EDITOR_SRC_" . $this->id, "name" => "NEW_FILE_EDITOR[n#IND#]", "upload" => true, "medialib" => true, "fileDialog" => true, "cloud" => true )))->show() ); $resultList[] = array( 'GROUP' => 'cont', 'ID' => 'title', 'NAME' => Loc::getMessage('BLOCK_EDITOR_TOOL_TITLE'), 'HTML' => Tools::getControlInput(), ); $resultList[] = array( 'GROUP' => 'cont', 'ID' => 'href', 'NAME' => Loc::getMessage('BLOCK_EDITOR_TOOL_HREF'), 'HTML' => Tools::getControlInput(), ); \Bitrix\Main\Loader::includeModule('fileman'); ob_start(); ?>

    Fatal error: Uncaught Error: Class "Loc" not found in D:\ktt\ttepla.com\public_html\bitrix\modules\fileman\lib\block\editor.php:421 Stack trace: #0 {main} thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\fileman\lib\block\editor.php on line 421