/** * Updates user settings configuration * * @return boolean */ public function process($post, $plugins) { $values = $this->getValues(); $config = OW::getConfig(); if ($plugins['photo']) { $config->saveConfig('attachments', 'photo_share', empty($values['photo_share']) ? 0 : 1); if (!empty($values['photo_share'])) { $languageService = BOL_LanguageService::getInstance(); $langKey = $languageService->findKey('attachments', 'default_photo_album_name'); 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($values['photo_album_name'])); } } } if ($plugins['video']) { $config->saveConfig('attachments', 'video_share', empty($values['video_share']) ? 0 : 1); } if ($plugins['links']) { $config->saveConfig('attachments', 'link_share', empty($values['link_share']) ? 0 : 1); } return true; }
public function process() { $values = $this->getValues(); $languageService = BOL_LanguageService::getInstance(); $langKey = $languageService->findKey('uavatars', 'default_photo_album_name'); 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($values['photo_album_name'])); } return true; }
/** * Updates user settings configuration * * @return boolean */ public function process($post) { $values = $this->getValues(); $config = OW::getConfig(); $config->saveConfig('utags', 'copy_photo', empty($values['copy_photo']) ? 0 : 1); $config->saveConfig('utags', 'crop_photo', empty($values['crop_photo']) ? 0 : 1); if (!empty($values['copy_photo'])) { $languageService = BOL_LanguageService::getInstance(); $langKey = $languageService->findKey('utags', 'default_photo_album_name'); 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($values['photo_album_name'])); } } return true; }
/** * 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; }
public function index() { $languageService = BOL_LanguageService::getInstance(); if (empty($_GET['language'])) { $language = $languageService->getCurrent(); } else { $language = $languageService->findByTag($_GET['language']); } $this->assign('label', $language->getLabel()); $this->assign('tag', $language->getTag()); $current = $languageService->getCurrent(); $this->assign('origLabel', $current->getLabel()); $this->assign('origTag', $current->getTag()); $this->assign('languageSwitchUrl', OW::getRequest()->buildUrlQueryString(null, array('language' => null))); $this->assign('lang_switch_url', OW::getRequest()->buildUrlQueryString(null, array('langId' => null, 'page' => null))); $this->assign('section_switch_url', OW::getRequest()->buildUrlQueryString(null, array('prefix' => null, 'page' => null))); $this->assign('searchFormActionUrl', OW::getRequest()->buildUrlQueryString(null, array('prefix' => !empty($_GET['prefix']) ? $_GET['prefix'] : null, 'language' => !empty($_GET['language']) ? $_GET['language'] : null, 'search' => null, 'page' => null, 'in_keys' => null))); $this->assign('langs', $languageService->getLanguages()); $this->assign('language', $language); if (isset($_POST['command']) && $_POST['command'] == 'edit-values') { $arr = empty($_POST['values']) ? array() : $_POST['values']; foreach ($arr as $key => $value) { if (strlen($value) < 1) { continue; } /* @var $entity BOL_LanguageValue */ $entity = $languageService->findValue($language->getId(), $key); $entity->setValue($value); $languageService->saveValue($entity, false); } $arr = empty($_POST['missing']) ? array() : $_POST['missing']; foreach ($arr as $prefixStr => $value) { foreach ($value as $key2 => $value2) { if (strlen(trim($value2)) == 0) { continue; } $keyDto = $languageService->findKey($prefixStr, $key2); $dto = new BOL_LanguageValue(); $dto->setLanguageId($language->getId())->setValue($value2)->setKeyId($keyDto->getId()); $languageService->saveValue($dto, false); } } $languageService->generateCache($language->getId()); OW::getFeedback()->info(OW::getLanguage()->text('admin', 'languages_values_updated')); $this->redirect(); } $this->assign('prefixes', $languageService->getPrefixList()); $this->assign('current_prefix', empty($_GET['prefix']) ? '' : $_GET['prefix']); $this->assign('current_search', isset($_GET['search']) && strlen($_GET['search']) ? $_GET['search'] : 'Search..'); $this->assign('isSearchResults', empty($_GET['search']) ? false : true); $page = empty($_GET['page']) ? 1 : $_GET['page']; $rpp = 20; $first = ($page - 1) * $rpp; $count = $rpp; if (isset($_GET['search']) && strlen($_GET['search'])) { $search = $_GET['search']; if (!empty($_GET['in_keys'])) { $this->assign('searchInKeys', 'y'); $list = $this->getReordered($languageService->findKeySearchResultKeyList($language->getId(), $first, $count, $search), $language->getId()); $item_count = $languageService->countKeySearchResultKeys($language->getId(), $search); } else { $list = $this->getReordered($languageService->findSearchResultKeyList($language->getId(), $first, $count, $search), $language->getId()); $item_count = $languageService->countSearchResultKeys($language->getId(), $search); } } elseif (!empty($_GET['prefix'])) { $prefix = $_GET['prefix']; switch ($prefix) { case 'missing-text': $list = $this->getReordered($languageService->findMissingKeys($language->getId(), $first, $count), $language->getId()); $item_count = $languageService->findMissingKeyCount($language->getId()); break; case 'all': $list = $this->getReordered($languageService->findLastKeyList($first, $count), $language->getId()); $item_count = $languageService->countAllKeys(); break; default: $list = $this->getReordered($languageService->findLastKeyList($first, $count, $prefix), $language->getId()); $item_count = $languageService->countKeyByPrefix($prefix); break; } } else { $list = $this->getReordered($languageService->findLastKeyList($first, $count), $language->getId()); $item_count = $languageService->countAllKeys(); } $pages = ceil($item_count / 20); $paging = new BASE_CMP_Paging($page, $pages, 5); $this->assign('paging', $paging->render()); //~~ $this->assign('list', $list); $prefixes = $languageService->getPrefixList(); $this->assign('prefixes', $prefixes); $this->addForm(new AddKeyForm($prefixes, $language, $this->isDevMode())); }
/** * Updates user settings configuration * * @return boolean */ public function process($post, $plugins) { $values = $this->getValues(); $config = OW::getConfig(); $config->saveConfig('uheader', 'cover_height', intval($values['cover_height'])); if ($plugins['photo']) { $config->saveConfig('uheader', 'photo_share', empty($values['photo_share']) ? 0 : 1); if (!empty($values['photo_share'])) { $languageService = BOL_LanguageService::getInstance(); $langKey = $languageService->findKey('uheader', 'default_photo_album_name'); 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($values['photo_album_name'])); } } } OW::getConfig()->saveConfig("uheader", "tpl_view_mode", $post["tpl_view_mode"]); return true; }
public function index() { $language = OW::getLanguage(); if (OW::getRequest()->isAjax() && OW::getRequest()->isPost()) { $langService = BOL_LanguageService::getInstance(false); if (isset($_POST['title'])) { $titleLangVal = $langService->getValue($langService->getCurrent()->getId(), 'oaseo', 'page_default_title'); if ($titleLangVal === null) { $key = $langService->findKey('oaseo', 'page_default_title'); $titleLangVal = new BOL_LanguageValue(); $titleLangVal->setKeyId($key->getId()); $titleLangVal->setLanguageId($langService->getCurrent()->getId()); } $titleLangVal->setValue(trim($_POST['title'])); $langService->saveValue($titleLangVal); } if (isset($_POST['desc'])) { $titleLangVal = $langService->getValue($langService->getCurrent()->getId(), 'oaseo', 'page_default_desc'); if ($titleLangVal === null) { $key = $langService->findKey('oaseo', 'page_default_desc'); $titleLangVal = new BOL_LanguageValue(); $titleLangVal->setKeyId($key->getId()); $titleLangVal->setLanguageId($langService->getCurrent()->getId()); } $titleLangVal->setValue(trim($_POST['desc'])); $langService->saveValue($titleLangVal); } if (isset($_POST['keywords'])) { $titleLangVal = $langService->getValue($langService->getCurrent()->getId(), 'oaseo', 'page_default_keywords'); if ($titleLangVal === null) { $key = $langService->findKey('oaseo', 'page_default_keywords'); $titleLangVal = new BOL_LanguageValue(); $titleLangVal->setKeyId($key->getId()); $titleLangVal->setLanguageId($langService->getCurrent()->getId()); } $titleLangVal->setValue(trim($_POST['keywords'])); $langService->saveValue($titleLangVal); } exit(json_encode(array('message' => $language->text('oaseo', 'general_meta_submit_message')))); } $form = new Form('global_meta_form'); $form->setAjax(); $form->setAjaxResetOnSuccess(false); $form->bindJsFunction(Form::BIND_SUCCESS, "function(data){OW.info(data.message);}"); $title = new TextField('title'); $title->setLabel($language->text('oaseo', 'title_label')); $title->setDescription($language->text('oaseo', 'meta_edit_form_title_desc')); $title->setValue($language->text('oaseo', 'page_default_title')); $form->addElement($title); $desc = new Textarea('desc'); $desc->setLabel($language->text('oaseo', 'desc_label')); $desc->setDescription($language->text('oaseo', 'meta_edit_form_desc_desc')); $desc->setValue($language->text('oaseo', 'page_default_desc')); $form->addElement($desc); $kewords = new TextField('keywords'); $kewords->setLabel($language->text('oaseo', 'keywords_label')); $kewords->setDescription($language->text('oaseo', 'meta_edit_form_keyword_desc')); $kewords->setValue($language->text('oaseo', 'page_default_keywords')); $form->addElement($kewords); $submit = new Submit('submit'); $submit->setValue(OW::getLanguage()->text('admin', 'save_btn_label')); $form->addElement($submit); $this->addForm($form); }
public function importPrefix($xml, $refreshCache = false, $importOnlyActivePluginPrefix = false) { if (false === ($prefixesXml = $xml->xpath("/prefix"))) { return false; } $service = $this; $languageTag = (string) $prefixesXml[0]->attributes()->language_tag; $prefixName = strval($prefixesXml[0]->attributes()->name); if ($importOnlyActivePluginPrefix && !in_array($prefixName, $this->getExceptionPrefixes())) { $plugin = BOL_PluginService::getInstance()->findPluginByKey($prefixName); if (empty($plugin)) { return false; } } if (null === ($language = $service->findByTag($languageTag))) { $language = new BOL_Language(); $language->setTag($languageTag)->setLabel((string) $prefixesXml[0]->attributes()->language_label)->setOrder($service->findMaxOrder() + 1)->setStatus('inactive'); $language->setRtl((string) $prefixesXml[0]->attributes()->language_rtl); $service->save($language); } if (null === ($prefix = $service->findPrefix($prefixName))) { $prefix = new BOL_LanguagePrefix(); $prefix->setPrefix($prefixName)->setLabel(strval($prefixesXml[0]->attributes()->label)); $service->savePrefix($prefix); } $keysXml = $prefixesXml[0]->xpath('child::key'); foreach ($keysXml as $keyXml) { if (null === ($key = $service->findKey((string) $prefixesXml[0]->attributes()->name, (string) $keyXml->attributes()->name))) { $key = new BOL_LanguageKey(); $key->setKey((string) $keyXml->attributes()->name)->setPrefixId($prefix->getId()); $service->saveKey($key); } if (null === ($value = $service->findValue($language->getId(), $key->getId()))) { $value = new BOL_LanguageValue(); $value->setLanguageId($language->getId())->setKeyId($key->getId())->setValue((string) $keyXml->value); $service->saveValue($value, false); } if ($refreshCache) { $this->generateCache($language->getId()); } } }
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 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); }
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')); }