Exemplo n.º 1
0
 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);
 }