getPageJsObject(); $aMenu = array(); $aMenuItems = array( BX_DOL_STUDIO_DSG_TYPE_GENERAL, BX_DOL_STUDIO_DSG_TYPE_LOGO, BX_DOL_STUDIO_DSG_TYPE_ICON ); foreach($aMenuItems as $sMenuItem) $aMenu[] = array( 'name' => $sMenuItem, 'icon' => 'mi-dsg-' . $sMenuItem . '.png', 'link' => BX_DOL_URL_STUDIO . 'designer.php?page=' . $sMenuItem, 'title' => _t('_adm_lmi_cpt_' . $sMenuItem), 'selected' => $sMenuItem == $this->sPage ); return parent::getPageMenu($aMenu); } function getPageCode() { $sMethod = 'get' . ucfirst($this->sPage); if(!method_exists($this, $sMethod)) return ''; return $this->$sMethod(); } protected function getGeneral() { $oTemplate = BxDolStudioTemplate::getInstance(); bx_import('BxTemplStudioSettings'); $oPage = new BxTemplStudioSettings(BX_DOL_STUDIO_STG_TYPE_SYSTEM, BX_DOL_STUDIO_STG_CATEGORY_TEMPLATES); $aTmplVars = array( 'js_object' => $this->getPageJsObject(), 'bx_repeat:blocks' => $oPage->getPageCode(), ); return $oTemplate->parseHtmlByName('designer.html', $aTmplVars); } protected function getLogo() { $oTemplate = BxDolStudioTemplate::getInstance(); $sAlt = $this->oDb->getParam('sys_site_logo_alt'); $aForm = array( 'form_attrs' => array( 'id' => $this->sLogoFormId, 'name' => $this->sLogoFormId, 'action' => BX_DOL_URL_STUDIO . 'designer.php', 'method' => 'post', 'enctype' => 'multipart/form-data', 'target' => $this->sLogoIframeId ), 'params' => array( 'db' => array( 'table' => '', 'key' => '', 'uri' => '', 'uri_title' => '', 'submit_name' => 'save' ), ), 'inputs' => array( 'page' => array( 'type' => 'hidden', 'name' => 'page', 'value' => $this->sPage ), 'image' => array( 'type' => 'image_uploader', 'name' => 'image', 'caption' => _t('_adm_dsg_txt_upload_image'), 'caption_preview' => _t('_adm_dsg_txt_upload_image_preview'), 'ajax_action_delete' => $this->getPageJsObject() . '.deleteLogo()', 'value' => (int)$this->oDb->getParam('sys_site_logo') ), 'alt' => array( 'type' => 'text', 'name' => 'alt', 'caption' => _t('_adm_dsg_txt_alt_text'), 'info' => _t('_adm_dsg_dsc_alt_text'), 'value' => $sAlt, 'checker' => array( 'func' => '', 'params' => array(), 'error' => '' ), 'db' => array ( 'pass' => 'Xss', ), ), 'save' => array( 'type' => 'submit', 'name' => 'save', 'value' => _t('_adm_btn_designer_submit'), ) ) ); $oForm = new BxTemplStudioFormView($aForm); $oForm->initChecker(); if($oForm->isSubmittedAndValid()) { echo $this->submitLogo($oForm); exit; } $aTmplVars = array( 'js_object' => $this->getPageJsObject(), 'bx_repeat:blocks' => array( array( 'caption' => '', 'panel_top' => '', 'items' => $oTemplate->parseHtmlByName('dsr_logo.html', array('logo_iframe_id' => $this->sLogoIframeId, 'form' => $oForm->getCode())), 'panel_bottom' => '' ) ) ); return $oTemplate->parseHtmlByName('designer.html', $aTmplVars); } protected function getIcon() { $oTemplate = BxDolStudioTemplate::getInstance(); $sPreview = ""; $aTmplVars = array('bx_repeat:images' => array()); if(($iId = (int)$this->oDb->getParam('sys_site_icon')) != 0) { $aTranscoders = array( BX_DOL_TRANSCODER_OBJ_ICON_APPLE => '_adm_dsg_txt_icon_apple', BX_DOL_TRANSCODER_OBJ_ICON_FACEBOOK => '_adm_dsg_txt_icon_facebook', BX_DOL_TRANSCODER_OBJ_ICON_FAVICON => '_adm_dsg_txt_icon_favicon' ); bx_import('BxDolImageTranscoder'); foreach($aTranscoders as $sTranscoder => $sTitle) { $oTranscoder = BxDolImageTranscoder::getObjectInstance($sTranscoder); $sImageUrl = $oTranscoder->getImageUrl($iId); if($sImageUrl === false) { $this->oDb->setParam('sys_site_icon', 0); break; } $aTmplVars['bx_repeat:images'][] = array( 'caption' => _t($sTitle), 'url' => $sImageUrl ); } $sPreview = $oTemplate->parseHtmlByName('dsr_icon_preview.html', $aTmplVars); } $aForm = array( 'form_attrs' => array( 'id' => $this->sIconFormId, 'name' => $this->sIconFormId, 'action' => BX_DOL_URL_STUDIO . 'designer.php', 'method' => 'post', 'enctype' => 'multipart/form-data', 'target' => $this->sIconIframeId ), 'params' => array( 'db' => array( 'table' => '', 'key' => '', 'uri' => '', 'uri_title' => '', 'submit_name' => 'save' ), ), 'inputs' => array( 'page' => array( 'type' => 'hidden', 'name' => 'page', 'value' => $this->sPage ), 'preview' => array( 'type' => 'custom', 'name' => 'preview', 'content' => $sPreview ), 'image' => array( 'type' => 'file', 'name' => 'image', 'caption' => _t('_adm_dsg_txt_upload_icon') ), 'save' => array( 'type' => 'submit', 'name' => 'save', 'value' => _t('_adm_btn_designer_submit'), ) ) ); $oForm = new BxTemplStudioFormView($aForm); $oForm->initChecker(); if($oForm->isSubmittedAndValid()) { echo $this->submitIcon($oForm); exit; } $aTmplVars = array( 'js_object' => $this->getPageJsObject(), 'bx_repeat:blocks' => array( array( 'caption' => '', 'panel_top' => '', 'items' => $oTemplate->parseHtmlByName('dsr_icon.html', array('icon_iframe_id' => $this->sIconIframeId, 'form' => $oForm->getCode())), 'panel_bottom' => '' ) ) ); return $oTemplate->parseHtmlByName('designer.html', $aTmplVars); } } /** @} */