Exemplo n.º 1
0
 /**
  * Adds or updates new key and value
  *
  * @param int $languageId
  * @param string $prefix
  * @param string $key
  * @param string $value
  * @param bool $generateCache
  *
  * @return BOL_LanguageValue
  *
  * @throws LogicException
  */
 public function addOrUpdateValue($languageId, $prefix, $key, $value, $generateCache = true)
 {
     $prefixDto = $this->prefixDao->findByPrefix($prefix);
     if ($prefixDto == null) {
         throw new LogicException("Prefix `{$prefix}` not found!");
     }
     $keyDto = $this->findKey($prefix, $key);
     if ($keyDto === null) {
         $keyDto = new BOL_LanguageKey();
         $keyDto->setPrefixId($prefixDto->id)->setKey($key);
         $this->keyDao->save($keyDto);
     }
     $valueDto = $this->findValue($languageId, $keyDto->id);
     if ($valueDto === null) {
         $valueDto = new BOL_LanguageValue();
     }
     $valueDto->setLanguageId($languageId)->setKeyId($keyDto->getId())->setValue($value);
     $this->valueDao->save($valueDto);
     if ($generateCache) {
         $this->generateCache($valueDto->languageId);
     }
     return $valueDto;
 }
Exemplo n.º 2
0
 /**
  * Add new lang key
  *
  * @param int $prefixId
  * @param string $key
  * @return BOL_LanguageKey
  */
 public function addKey($prefixId, $key)
 {
     $dto = new BOL_LanguageKey();
     $dto->setKey($key);
     $dto->setPrefixId($prefixId);
     BOL_LanguageKeyDao::getInstance()->save($dto);
     return $dto;
 }
Exemplo n.º 3
0
 public function index($params)
 {
     $id = (int) $params['id'];
     $this->assign('id', $id);
     $menu = BOL_NavigationService::getInstance()->findMenuItemById($id);
     if ($menu === null) {
         throw new Redirect404Exception();
     }
     $navigationService = BOL_NavigationService::getInstance();
     $document = $navigationService->findDocumentByKey($menu->getDocumentKey());
     if ($document === null) {
         $document = new BOL_Document();
         $document->setKey($menu->getDocumentKey());
         $document->setIsStatic(true);
     }
     $service = BOL_NavigationService::getInstance();
     $form = new EditLocalPageForm('edit-form', $menu);
     if (OW::getRequest()->isPost() && $form->isValid($_POST)) {
         $data = $form->getValues();
         //--
         $visibleFor = 0;
         $arr = !empty($data['visible-for']) ? $data['visible-for'] : array();
         foreach ($arr as $val) {
             $visibleFor += $val;
         }
         $service->saveMenuItem($menu->setVisibleFor($visibleFor));
         $uri = str_replace(UTIL_String::removeFirstAndLastSlashes(OW::getRouter()->getBaseUrl()), '', UTIL_String::removeFirstAndLastSlashes($data['url']));
         $document->setUri(UTIL_String::removeFirstAndLastSlashes($uri));
         $navigationService->saveDocument($document);
         $languageService = BOL_LanguageService::getInstance();
         $plugin = OW::getPluginManager()->getPlugin('base');
         //- name
         $langKey = $languageService->findKey($plugin->getKey(), $menu->getKey());
         if (!empty($langKey)) {
             $langValue = $languageService->findValue($languageService->getCurrent()->getId(), $langKey->getId());
             if ($langValue === null) {
                 $langValue = new BOL_LanguageValue();
                 $langValue->setKeyId($langKey->getId());
                 $langValue->setLanguageId($languageService->getCurrent()->getId());
             }
             $languageService->saveValue($langValue->setValue($data['name']));
         }
         //- title
         $langKey = $languageService->findKey($plugin->getKey(), 'local_page_title_' . $menu->getKey());
         if (!empty($langKey)) {
             $langValue = $languageService->findValue($languageService->getCurrent()->getId(), $langKey->getId());
             if ($langValue === null) {
                 $langValue = new BOL_LanguageValue();
                 $langValue->setKeyId($langKey->getId());
                 $langValue->setLanguageId($languageService->getCurrent()->getId());
             }
             $languageService->saveValue($langValue->setValue($data['title']));
         }
         //- meta tags
         $langKey = $languageService->findKey($plugin->getKey(), 'local_page_meta_tags_' . $menu->getKey());
         if (empty($langKey)) {
             $langKey = new BOL_LanguageKey();
             $langKey->setKey('local_page_meta_tags_' . $menu->getKey());
             $langKey->setPrefixId($languageService->findPrefixId($plugin->getKey()));
             $languageService->saveKey($langKey);
         }
         $langValue = $languageService->findValue($languageService->getCurrent()->getId(), $langKey->getId());
         if ($langValue === null) {
             $langValue = new BOL_LanguageValue();
             $langValue->setKeyId($langKey->getId());
             $langValue->setLanguageId($languageService->getCurrent()->getId());
         }
         $languageService->saveValue($langValue->setValue($data['meta-tags']));
         //- content
         $langKey = $languageService->findKey($plugin->getKey(), 'local_page_content_' . $menu->getKey());
         if (!empty($langKey)) {
             $langValue = $languageService->findValue($languageService->getCurrent()->getId(), $langKey->getId());
             if ($langValue === null) {
                 $langValue = new BOL_LanguageValue();
                 $langValue->setKeyId($langKey->getId());
                 $langValue->setLanguageId($languageService->getCurrent()->getId());
             }
             $languageService->saveValue($langValue->setValue($data['content']));
         }
         //~
         $languageService->generateCache($languageService->getCurrent()->getId());
         $adminPlugin = OW::getPluginManager()->getPlugin('admin');
         OW::getFeedback()->info(OW::getLanguage()->text($adminPlugin->getKey(), 'updated_msg'));
         $this->redirect();
         //--
     }
     $this->addForm($form, $menu);
 }
Exemplo n.º 4
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'));
 }
Exemplo n.º 5
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'));
 }