Esempio n. 1
0
 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);
 }
Esempio n. 2
0
 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'));
 }
Esempio n. 3
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);
 }
Esempio n. 4
0
 /**
  * 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);
     }
 }
Esempio n. 5
0
 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')));
 }
Esempio n. 6
0
 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'));
 }
Esempio n. 7
0
 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;
 }
Esempio n. 8
0
 /**
  * @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        );");
     }
 }