public function slugs() { $language = OW::getLanguage(); if (OW::getRequest()->isAjax() && OW::getRequest()->isPost()) { if (isset($_POST['plugins']) && is_array($_POST['plugins'])) { OW::getConfig()->saveConfig('oaseo', OASEO_BOL_Service::CNF_SLUG_PLUGINS, json_encode($_POST['plugins'])); } if (isset($_POST['redirect'])) { OW::getConfig()->saveConfig('oaseo', OASEO_BOL_Service::CNF_SLUG_OLD_URLS_ENABLE, (bool) $_POST['redirect']); } if (isset($_POST['words'])) { OW::getConfig()->saveConfig('oaseo', OASEO_BOL_Service::CNF_SLUG_FILTER_COMMON_WORDS, json_encode(array_map('mb_strtolower', array_map('trim', explode(',', $_POST['words']))))); } exit(json_encode(array('message' => $language->text('oaseo', 'slugs_submit_message')))); } $data = $this->service->getSlugData(); $pluginKeys = array_keys($data); $event = new BASE_CLASS_EventCollector('admin.add_auth_labels'); OW::getEventManager()->trigger($event); $labelData = $event->getData(); $dataLabels = empty($labelData) ? array() : call_user_func_array('array_merge', $labelData); $finalData = array(); foreach ($dataLabels as $pluginKey => $pluginInfo) { if (in_array($pluginKey, $pluginKeys)) { $finalData[$pluginKey] = $pluginInfo['label']; } } $form = new Form('slugs_form'); $form->setAjax(); $form->setAjaxResetOnSuccess(false); $form->bindJsFunction(Form::BIND_SUCCESS, "function(data){OW.info(data.message);}"); $plugins = new CheckboxGroup('plugins'); $plugins->setLabel($language->text('oaseo', 'slug_plugins_label')); $plugins->setDescription($language->text('oaseo', 'slug_plugins_desc')); $plugins->setOptions($finalData); $plugins->setValue(json_decode(OW::getConfig()->getValue('oaseo', OASEO_BOL_Service::CNF_SLUG_PLUGINS), true)); $form->addElement($plugins); $redirect = new CheckboxField('redirect'); $redirect->setLabel($language->text('oaseo', 'slug_redirect_label')); $redirect->setDescription($language->text('oaseo', 'slug_redirect_desc')); $redirect->setValue(OW::getConfig()->getValue('oaseo', OASEO_BOL_Service::CNF_SLUG_OLD_URLS_ENABLE)); $form->addElement($redirect); $words = new Textarea('words'); $words->setLabel($language->text('oaseo', 'slug_words_label')); $words->setDescription($language->text('oaseo', 'slug_words_desc')); $wordsList = json_decode(OW::getConfig()->getValue('oaseo', OASEO_BOL_Service::CNF_SLUG_FILTER_COMMON_WORDS)); if (is_array($wordsList)) { $valString = implode(', ', $wordsList); } else { $valString = ''; } $words->setValue($valString); $form->addElement($words); $submit = new Submit('submit'); $submit->setValue(OW::getLanguage()->text('admin', 'save_btn_label')); $form->addElement($submit); $this->addForm($form); }
public function maintenance() { $language = OW::getLanguage(); $this->setPageHeading($language->text('admin', 'maintenance_page_heading')); $this->setPageTitle($language->text('admin', 'maintenance_page_title')); $form = new Form('maintenance'); $maintananceEnable = new CheckboxField('maintenance_enable'); $maintananceEnable->setLabel($language->text('admin', 'maintenance_enable_label')); $maintananceEnable->setDescription($language->text('admin', 'maintenance_enable_desc')); $form->addElement($maintananceEnable); $intro = new Textarea('maintenance_text'); $intro->setLabel($language->text('admin', 'maintenance_text_label')); $intro->setDescription($language->text('admin', 'maintenance_text_desc')); $form->addElement($intro); $submit = new Submit('save'); $submit->setValue($language->text('admin', 'permissions_index_save')); $form->addElement($submit); $this->addForm($form); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); $langService = BOL_LanguageService::getInstance(); $key = $langService->findKey('admin', 'maintenance_text_value'); if ($key === null) { $prefix = $langService->findPrefix('admin'); $key = new BOL_LanguageKey(); $key->setKey('maintenance_text_value'); $key->setPrefixId($prefix->getId()); $langService->saveKey($key); } $value = $langService->findValue($langService->getCurrent()->getId(), $key->getId()); if ($value === null) { $value = new BOL_LanguageValue(); $value->setKeyId($key->getId()); $value->setLanguageId($langService->getCurrent()->getId()); } $value->setValue($data['maintenance_text']); $langService->saveValue($value); OW::getConfig()->saveConfig('base', 'maintenance', (bool) $data['maintenance_enable']); OW::getFeedback()->info($language->text('admin', 'maintenance_submit_success_message')); $this->redirect(); } } $form->getElement('maintenance_text')->setValue($language->text('admin', 'maintenance_text_value')); $form->getElement('maintenance_enable')->setValue((bool) OW::getConfig()->getValue('base', 'maintenance')); }
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); }
/** * Class constructor * */ public function __construct($questionId) { $this->questionId = (int) $questionId; $language = OW::getLanguage(); parent::__construct('add_qst_values_form'); $this->setId('add_qst_values_form'); $this->setAjax(); $qstCommand = new HiddenField('command'); $qstCommand->setValue('submit_add_values_form'); $this->addElement($qstCommand); $qstQuestionId = new HiddenField('questionId'); $qstQuestionId->setValue((int) $questionId); $this->addElement($qstQuestionId); $qstValues = new Textarea('qst_add_values'); $qstValues->addAttribute('class', $qstValues->getName()); $qstValues->setLabel($language->text('admin', 'questions_add_values_label')); $qstValues->setDescription($language->text('admin', 'questions_add_values_description')); $qstValues->setRequired(); $this->addElement($qstValues); $qstValuesSubmit = new Submit('add_qst_submit'); $qstValuesSubmit->addAttribute('class', 'ow_button ow_ic_save'); $qstValuesSubmit->setValue($language->text('admin', 'questions_add_values_submit_button')); $this->addElement($qstValuesSubmit); if (!OW::getRequest()->isAjax()) { $js = " owForms['add_qst_values_form'].bind( 'success',\n function( json )\n {\n \$('#add_qst_values_form input[name=questionId]').val('" . $questionId . "');\n \$('#add_qst_values_form input[name=command]').val('submit_add_values_form');\n if( json.result == true )\n {\n window.addValueBox.close();\n\n OW.info(json.notice);\n window.editQuestion.displayAddValues( json.values );\n }\n else\n {\n OW.error(json.error);\n }\n\n } ); "; OW::getDocument()->addOnloadScript($js); } }
public function __construct($name, BOL_MenuItem $menu) { parent::__construct($name); $navigationService = BOL_NavigationService::getInstance(); $document = $navigationService->findDocumentByKey($menu->getDocumentKey()); if ($document === null) { $document = new BOL_Document(); $document->setKey($menu->getDocumentKey()); } $language = OW_Language::getInstance(); $languageService = BOL_LanguageService::getInstance(); $currentLanguageId = $languageService->getCurrent()->getId(); $plugin = OW::getPluginManager()->getPlugin('base'); $adminPlugin = OW::getPluginManager()->getPlugin('admin'); $nameTextField = new TextField('name'); $langValueDto = $languageService->getValue($currentLanguageId, $plugin->getKey(), $menu->getKey()); $langValue = $langValueDto === null ? '' : $language->text($plugin->getKey(), $menu->getKey()); $this->addElement($nameTextField->setValue($langValue)->setLabel(OW::getLanguage()->text('admin', 'pages_edit_local_menu_name'))->setRequired()); $titleTextField = new TextField('title'); $langValueDto = $languageService->getValue($currentLanguageId, $plugin->getKey(), 'local_page_title_' . $menu->getKey()); $langValue = $langValueDto === null ? '' : $language->text($plugin->getKey(), 'local_page_title_' . $menu->getKey()); $this->addElement($titleTextField->setValue($langValue)->setLabel(OW::getLanguage()->text('admin', 'pages_edit_local_page_title'))->setRequired(true)); $urlTextField = new TextField('url'); $urlTextField->addValidator(new LocalPageUniqueValidator($document->getUri())); $this->addElement($urlTextField->setValue($document->getUri())->setLabel(OW::getLanguage()->text('admin', 'pages_edit_local_page_url'))->setRequired(true)); $visibleForCheckboxGroup = new CheckboxGroup('visible-for'); $visibleFor = $menu->getVisibleFor(); $options = array('1' => OW::getLanguage()->text('admin', 'pages_edit_visible_for_guests'), '2' => OW::getLanguage()->text('admin', 'pages_edit_visible_for_members')); $values = array(); foreach ($options as $value => $option) { if (!($value & $visibleFor)) { continue; } $values[] = $value; } $this->addElement($visibleForCheckboxGroup->setOptions($options)->setValue($values)->setLabel(OW::getLanguage()->text('admin', 'pages_edit_local_visible_for'))); $metaTagsTextarea = new Textarea('meta-tags'); $langValueDto = $languageService->getValue($currentLanguageId, $plugin->getKey(), 'local_page_meta_tags_' . $menu->getKey()); $langValue = $langValueDto === null ? '' : $language->text($plugin->getKey(), 'local_page_meta_tags_' . $menu->getKey()); $this->addElement($metaTagsTextarea->setLabel('Page meta tags')->setValue($langValue)->setDescription(OW::getLanguage()->text('admin', 'pages_page_field_meta_desc'))->setId('meta-tags')); $contentTextArea = new Textarea('content'); $contentTextArea->setDescription(OW::getLanguage()->text('admin', 'pages_page_field_content_desc', array('src' => OW::getThemeManager()->getCurrentTheme()->getStaticImagesUrl() . 'question.png', 'url' => '#'))); $langValueDto = $languageService->getValue($currentLanguageId, $plugin->getKey(), 'local_page_content_' . $menu->getKey()); $langValue = $langValueDto === null ? '' : $language->text($plugin->getKey(), 'local_page_content_' . $menu->getKey()); $this->addElement($contentTextArea->setLabel(OW::getLanguage()->text('admin', 'pages_edit_local_page_content'))->setValue($langValue)->setId('content')); $saveSubmit = new Submit('save'); $this->addElement($saveSubmit->setValue($language->text($adminPlugin->getKey(), 'save_btn_label'))); }
public function maintenance() { $language = OW::getLanguage(); $this->setPageHeading($language->text('admin', 'maintenance_page_heading')); $this->setPageTitle($language->text('admin', 'maintenance_page_title')); $form = new Form('maintenance'); $maintananceEnable = new CheckboxField('maintenance_enable'); $maintananceEnable->setLabel($language->text('admin', 'maintenance_enable_label')); $maintananceEnable->setDescription($language->text('admin', 'maintenance_enable_desc')); $form->addElement($maintananceEnable); $intro = new Textarea('maintenance_text'); $intro->setLabel($language->text('admin', 'maintenance_text_label')); $intro->setDescription($language->text('admin', 'maintenance_text_desc')); $form->addElement($intro); // splash screen $splashScreenEnable = new CheckboxField('splash_screen'); $splashScreenEnable->setLabel($language->text('admin', 'splash_enable_label')); $splashScreenEnable->setDescription($language->text('admin', 'splash_enable_desc')); $form->addElement($splashScreenEnable); $intro = new Textarea('intro'); $intro->setLabel($language->text('admin', 'splash_intro_label')); $intro->setDescription($language->text('admin', 'splash_intro_desc')); $form->addElement($intro); $buttonLabel = new TextField('button_label'); $buttonLabel->setLabel($language->text('admin', 'splash_button_label')); $buttonLabel->setDescription($language->text('admin', 'splash_button_label_desc')); $form->addElement($buttonLabel); $leaveUrl = new TextField('leave_url'); $leaveUrl->setLabel($language->text('admin', 'splash_leave_url_label')); $leaveUrl->setDescription($language->text('admin', 'splash_leave_url_desc')); $leaveUrl->addValidator(new UrlValidator()); $form->addElement($leaveUrl); $submit = new Submit('save'); $submit->setValue($language->text('admin', 'permissions_index_save')); $form->addElement($submit); $this->addForm($form); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { $data = $form->getValues(); $langService = BOL_LanguageService::getInstance(); $key = $langService->findKey('admin', 'maintenance_text_value'); if ($key === null) { $prefix = $langService->findPrefix('admin'); $key = new BOL_LanguageKey(); $key->setKey('maintenance_text_value'); $key->setPrefixId($prefix->getId()); $langService->saveKey($key); } $value = $langService->findValue($langService->getCurrent()->getId(), $key->getId()); if ($value === null) { $value = new BOL_LanguageValue(); $value->setKeyId($key->getId()); $value->setLanguageId($langService->getCurrent()->getId()); } $value->setValue($data['maintenance_text']); $langService->saveValue($value); OW::getConfig()->saveConfig('base', 'maintenance', (bool) $data['maintenance_enable']); // save splash screen $key = $langService->findKey('admin', 'splash_intro_value'); if ($key === null) { $prefix = $langService->findPrefix('admin'); $key = new BOL_LanguageKey(); $key->setKey('splash_intro_value'); $key->setPrefixId($prefix->getId()); $langService->saveKey($key); } $value = $langService->findValue($langService->getCurrent()->getId(), $key->getId()); if ($value === null) { $value = new BOL_LanguageValue(); $value->setKeyId($key->getId()); $value->setLanguageId($langService->getCurrent()->getId()); } $value->setValue($data['intro']); $langService->saveValue($value); $key = $langService->findKey('admin', 'splash_button_value'); if ($key === null) { $prefix = $langService->findPrefix('admin'); $key = new BOL_LanguageKey(); $key->setKey('splash_button_value'); $key->setPrefixId($prefix->getId()); $langService->saveKey($key); } $value = $langService->findValue($langService->getCurrent()->getId(), $key->getId()); if ($value === null) { $value = new BOL_LanguageValue(); $value->setKeyId($key->getId()); $value->setLanguageId($langService->getCurrent()->getId()); } $value->setValue($data['button_label']); $langService->saveValue($value); $url = trim($data['leave_url']); if (!empty($url) && !strstr($url, 'http')) { $url = 'http://' . $url; } OW::getConfig()->saveConfig('base', 'splash_leave_url', $url); OW::getConfig()->saveConfig('base', 'splash_screen', (bool) $data['splash_screen']); OW::getFeedback()->info($language->text('admin', 'maintenance_submit_success_message')); $this->redirect(); } } $form->getElement('maintenance_text')->setValue($language->text('admin', 'maintenance_text_value')); $form->getElement('maintenance_enable')->setValue((bool) OW::getConfig()->getValue('base', 'maintenance')); // splash screen $form->getElement('intro')->setValue($language->text('admin', 'splash_intro_value')); $form->getElement('button_label')->setValue($language->text('admin', 'splash_button_value')); $form->getElement('leave_url')->setValue(OW::getConfig()->getValue('base', 'splash_leave_url')); $form->getElement('splash_screen')->setValue((bool) OW::getConfig()->getValue('base', 'splash_screen')); }
private function getAdsForm($name) { $language = OW::getLanguage(); $form = new Form($name); $title = new TextField('title'); $title->setLabel($language->text('ads', 'ads_add_banner_title_label')); $title->setRequired(true); $form->addElement($title); $bannerCode = new Textarea('code'); $bannerCode->setRequired(true); $bannerCode->setLabel($language->text('ads', 'ads_add_banner_code_label')); $bannerCode->setDescription($language->text('ads', 'ads_add_banner_code_desc')); $form->addElement($bannerCode); if ($this->adsService->getLocationEnabled()) { $countSelect = new Multiselect('select_country'); $countSelect->setLabel($language->text('ads', 'ads_add_banner_country_label')); $countSelect->setDescription($language->text('ads', 'ads_add_banner_country_desc')); $countSelect->setOptions(BOL_GeolocationService::getInstance()->getAllCountryNameListForCC3()); $form->addElement($countSelect); } else { $this->assign('locDisabled', true); } $submit = new Submit('submit'); $submit->setValue($language->text('ads', 'ads_add_banner_submit_label')); $form->addElement($submit); return $form; }
/** * @return Constructor. */ public function __construct($metaData, $uri, $frontend = true) { parent::__construct(); $this->metaService = OASEO_BOL_Service::getInstance(); $language = OW::getLanguage(); $uriArray = parse_url($uri); $uri = !empty($uriArray['path']) ? $uriArray['path'] : ''; // need to get uri if url provided if (substr($uri, 0, 7) == 'http://') { $uri = substr($uri, strlen(OW_URL_HOME)); } elseif (UTIL_String::removeFirstAndLastSlashes(substr($uri, 0, strlen(OW_URL_HOME) - 7)) == UTIL_String::removeFirstAndLastSlashes(substr(OW_URL_HOME, 7))) { $uri = UTIL_String::removeFirstAndLastSlashes(substr($uri, strlen(OW_URL_HOME) - 7)); } else { $uri = trim($uri); } $metaData['routeData'] = $this->metaService->getRouteData($uri); $dispatchAttrs = $this->metaService->getDispatchParamsForUri($uri); if ($dispatchAttrs === false) { $this->assign('no_compile', true); return; } $entry = $this->metaService->getEntryForDispatchParams($dispatchAttrs); if ($entry !== null) { $metaArr = json_decode($entry->getMeta(), true); if (isset($metaArr['title'])) { $titleString = $metaArr['title']; } if (isset($metaArr['keywords'])) { $keywords = $metaArr['keywords']; } if (isset($metaArr['desc'])) { $descString = $metaArr['desc']; } } if (!isset($titleString)) { $titleString = $metaData['title']; } if (!isset($keywords)) { $keywords = explode(',', $metaData['keywords']); $keywords = array_map('trim', $keywords); } if (!isset($descString)) { $descString = $metaData['desc']; } $form = new Form('meta_edit'); $form->setAction(OW::getRouter()->urlFor('OASEO_CTRL_Base', 'updateMeta')); $form->setAjax(); $form->setAjaxResetOnSuccess(false); $this->addForm($form); $title = new TextField('title'); $title->setLabel($language->text('oaseo', 'meta_edit_form_title_label')); $title->setDescription($language->text('oaseo', 'meta_edit_form_title_fr_desc')); $title->setValue($titleString); $form->addElement($title); $keyword = new OA_CCLASS_TagsField('keywords'); $keyword->setLabel($language->text('oaseo', 'meta_edit_form_keyword_label')); $keyword->setDescription($language->text('oaseo', 'meta_edit_form_keyword_fr_desc')); $keyword->setValue($keywords); $form->addElement($keyword); $desc = new Textarea('desc'); $desc->setLabel($language->text('oaseo', 'meta_edit_form_desc_label')); $desc->setDescription($language->text('oaseo', 'meta_edit_form_desc_fr_desc')); $desc->setValue($descString); $form->addElement($desc); $hidTitle = new HiddenField('hidTitle'); $hidTitle->setValue($titleString); $form->addElement($hidTitle); $hidKeyword = new HiddenField('hidKeywords'); $hidKeyword->setValue(implode('+|+', $keywords)); $form->addElement($hidKeyword); $hidDesc = new HiddenField('hidDesc'); $hidDesc->setValue($descString); $form->addElement($hidDesc); if (!empty($metaData['routeData']) && $uri && $dispatchAttrs['controller'] != 'BASE_CTRL_StaticDocument') { $this->assign('urlAvail', true); $urlField = new OASEO_UrlField('url'); $urlField->setValue($metaData['routeData']['path']); $urlField->setLabel($language->text('oaseo', 'meta_edit_form_url_label')); $urlField->setDescription($language->text('oaseo', 'meta_edit_form_url_desc')); $form->addElement($urlField); $routeName = new HiddenField('routeName'); $routeName->setValue($metaData['routeData']['name']); $form->addElement($routeName); } $uriEl = new HiddenField('uri'); $uriEl->setValue($uri); $form->addElement($uriEl); $submit = new Submit('submit'); $submit->setValue($language->text('oaseo', 'meta_edit_form_submit_label')); $form->addElement($submit); $id = uniqid(); $this->assign('id', $id); $this->assign('frontend', $frontend); $form->bindJsFunction('success', "function(data){if(data.status){OW.info(data.msg);window.oaseoFB.close();}else{OW.error(data.msg);}}"); if ($frontend) { OW::getDocument()->addOnloadScript("\$('#aoseo_button_{$id}').click(\n function(){\n window.oaseoFB = new OA_FloatBox({\n \$title: '{$language->text('oaseo', 'meta_edit_form_cmp_title')}',\n \$contents: \$('#oaseo_edit_form_{$id}'),\n width: 900,\n icon_class: 'ow_ic_gear'\n });\n }\n );"); } }