public function page() { if (!OW::getRequest()->isAjax()) { OW::getNavigation()->activateMenuItem(OW_Navigation::ADMIN_SETTINGS, 'admin', 'sidebar_menu_item_main_settings'); } $language = OW::getLanguage(); $menu = $this->getMenu(); $this->addComponent('menu', $menu); if (!OW::getRequest()->isAjax()) { OW::getDocument()->setHeading(OW::getLanguage()->text('admin', 'heading_page_settings')); OW::getDocument()->setHeadingIconClass('ow_ic_file'); } $form = new Form('page_settings'); $form->setEnctype(Form::ENCTYPE_MULTYPART_FORMDATA); $this->addForm($form); $headCode = new Textarea('head_code'); $headCode->setLabel($language->text('admin', 'page_settings_form_headcode_label')); $headCode->setDescription($language->text('admin', 'page_settings_form_headcode_desc')); $form->addElement($headCode); $bottomCode = new Textarea('bottom_code'); $bottomCode->setLabel($language->text('admin', 'page_settings_form_bottomcode_label')); $bottomCode->setDescription($language->text('admin', 'page_settings_form_bottomcode_desc')); $form->addElement($bottomCode); $favicon = new FileField('favicon'); $favicon->setLabel($language->text('admin', 'page_settings_form_favicon_label')); $favicon->setDescription($language->text('admin', 'page_settings_form_favicon_desc')); $form->addElement($favicon); $enableFavicon = new CheckboxField('enable_favicon'); $form->addElement($enableFavicon); $submit = new Submit('save'); $submit->setValue($language->text('admin', 'save_btn_label')); $form->addElement($submit); $faviconPath = OW::getPluginManager()->getPlugin('base')->getUserFilesDir() . 'favicon.ico'; $faviconUrl = OW::getPluginManager()->getPlugin('base')->getUserFilesUrl() . 'favicon.ico'; $this->assign('faviconSrc', $faviconUrl); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); OW::getConfig()->saveConfig('base', 'html_head_code', $data['head_code']); OW::getConfig()->saveConfig('base', 'html_prebody_code', $data['bottom_code']); if (!empty($_FILES['favicon']['name'])) { if ((int) $_FILES['favicon']['error'] === 0 && is_uploaded_file($_FILES['favicon']['tmp_name']) && UTIL_File::getExtension($_FILES['favicon']['name']) === 'ico') { if (file_exists($faviconPath)) { @unlink($faviconPath); } @move_uploaded_file($_FILES['favicon']['tmp_name'], $faviconPath); if (file_exists($_FILES['favicon']['tmp_name'])) { @unlink($_FILES['favicon']['tmp_name']); } } else { OW::getFeedback()->error($language->text('admin', 'page_settings_favicon_submit_error_message')); } } OW::getConfig()->saveConfig('base', 'favicon', !empty($data['enable_favicon'])); OW::getFeedback()->info($language->text('admin', 'settings_submit_success_message')); } else { OW::getFeedback()->error($language->text('admin', 'settings_submit_error_message')); } $this->redirect(); } $headCode->setValue(OW::getConfig()->getValue('base', 'html_head_code')); $bottomCode->setValue(OW::getConfig()->getValue('base', 'html_prebody_code')); $enableFavicon->setValue((int) OW::getConfig()->getValue('base', 'favicon')); $this->assign('faviconEnabled', OW::getConfig()->getValue('base', 'favicon')); $script = "\$('#{$enableFavicon->getId()}').change(function(){ if(this.checked){ \$('#favicon_enabled').show();\$('#favicon_desabled').hide(); \$('{$favicon->getId()}').attr('disabled', true);}else{ \$('#favicon_enabled').hide();\$('#favicon_desabled').show(); \$('{$favicon->getId()}').attr('disabled', false);} });"; OW::getDocument()->addOnloadScript($script); }