oDb = new BxDolStudioPolyglotQuery(); $this->sPage = BX_DOL_STUDIO_PGT_TYPE_DEFAULT; if(is_string($sPage) && !empty($sPage)) $this->sPage = $sPage; $this->sEtSettingEditor = 'sys_std_pgt_etemplates_editor'; $this->sEtcContent = '
' . _t('_adm_pgt_txt_et_c_content') . '
'; } public function checkAction() { $sAction = bx_get('pgt_action'); if($sAction === false) return false; $sAction = bx_process_input($sAction); $oLanguages = BxDolStudioLanguagesUtils::getInstance(); $aResult = array('code' => 1, 'message' => _t('_adm_pgt_err_cannot_process_action')); switch($sAction) { case 'get-page-by-type': $sValue = bx_process_input(bx_get('pgt_value')); if(empty($sValue)) break; $this->sPage = $sValue; $aResult = array('code' => 0, 'content' => $this->getPageCode()); break; case 'enable-editor': $iValue = false; if(($iValue = bx_get('pgt_value')) !== false) $iValue = bx_process_input($iValue, BX_DATA_INT); else break; if(setParam($this->sEtSettingEditor, $iValue ? 'on' : '')) $aResult = ['code' => 0, 'reload' => 1]; break; /* * Available URL params: * pgt_action = recompile - action name * pgt_language - ID or name(en, ru, etc) of language. */ case 'recompile': $sLanguage = bx_process_input(bx_get('pgt_language')); if($oLanguages->compileLanguage($sLanguage)) $aResult = array('code' => 0, 'content' => _t('_adm_pgt_scs_recompiled')); else $aResult = array('code' => 2, 'content' => _t('_adm_pgt_err_cannot_recompile_lang')); break; /* * Available URL params: * pgt_action = restore - action name * pgt_language - ID or name(en, ru, etc) of language. * pgt_module - ID or Module Uri (@see sys_modules table). Leave empty for 'System' language file. */ case 'restore': $sLanguage = bx_process_input(bx_get('pgt_language')); $sModule = bx_process_input(bx_get('pgt_module')); if($oLanguages->restoreLanguage($sLanguage, $sModule)) $aResult = array('code' => 0, 'content' => _t('_adm_pgt_scs_restored')); else $aResult = array('code' => 2, 'content' => _t('_adm_pgt_err_cannot_restore_lang')); break; } return $aResult; } /** * TODO: Remove (after UNA 14) if new version is working fine. */ public function submitEtemplatesHtmlOld(&$oForm) { $sUnsubscribe = "{unsubscribe}"; $sHeader = $oForm->getCleanValue('et_hf_header'); $sFooter = $oForm->getCleanValue('et_hf_footer'); if(strpos($sHeader, $sUnsubscribe) === false && strpos($sFooter, $sUnsubscribe) === false) return $this->getJsResult('_adm_pgt_err_et_hf_save_unsubscribe'); $bResult = false; $bResult |= $this->oDb->setParam('site_email_html_template_header', $sHeader); $bResult |= $this->oDb->setParam('site_email_html_template_footer', $sFooter); if(!$bResult) return $this->getJsResult('_adm_pgt_err_et_hf_save'); return $this->getJsResult('_adm_pgt_scs_et_hf_save', true, true, BX_DOL_URL_STUDIO . 'polyglot.php?page=' . BX_DOL_STUDIO_PGT_TYPE_ETEMPLATES_HTML); } public function submitEtemplatesHtml(&$oForm) { $sUnsubscribe = "{unsubscribe}"; $sContent = $oForm->getCleanValue('content'); if(strpos($sContent, $sUnsubscribe) === false) return $this->getJsResult('_adm_pgt_err_et_hf_save_unsubscribe'); list($sHeader, $sFooter) = explode($this->sEtcContent, $sContent); $bResult = false; $bResult |= $this->oDb->setParam('site_email_html_template_header', $sHeader); $bResult |= $this->oDb->setParam('site_email_html_template_footer', $sFooter); if(!$bResult) return $this->getJsResult('_adm_pgt_err_et_hf_save'); return $this->getJsResult('_adm_pgt_scs_et_hf_save', true, true, BX_DOL_URL_STUDIO . 'polyglot.php?page=' . BX_DOL_STUDIO_PGT_TYPE_ETEMPLATES_HTML); } } /** @} */