public function getMetadataForColumn($sColumnIdentifier)
 {
     $aResult = array('is_sortable' => true);
     switch ($sColumnIdentifier) {
         case 'id':
             $aResult['heading'] = false;
             $aResult['field_name'] = 'string_key';
             $aResult['display_type'] = ListWidgetModule::DISPLAY_TYPE_DATA;
             break;
         case 'string_key':
             $aResult['heading'] = TranslationPeer::getString('wns.string.string_key');
             break;
         case 'text_truncated_current':
             $aResult['heading'] = TranslationPeer::getString('wns.string.string_text.heading', null, 'Text', array('language_id' => AdminManager::getContentLanguage()));
             break;
         case 'languages_available':
             $aResult['heading'] = TranslationPeer::getString('wns.languages_filled');
             $aResult['is_sortable'] = false;
             break;
         case 'delete':
             $aResult['heading'] = ' ';
             $aResult['display_type'] = ListWidgetModule::DISPLAY_TYPE_ICON;
             $aResult['field_name'] = 'trash';
             $aResult['is_sortable'] = false;
             break;
     }
     return $aResult;
 }
 public function deleteRow($aRowData, $oCriteria)
 {
     $oLanguage = LanguagePeer::doSelectOne($oCriteria);
     if ($oLanguage->getIsDefault()) {
         throw new LocalizedException('wns.language.delete_default.denied');
     }
     if ($oLanguage->getIsDefaultEdit()) {
         throw new LocalizedException('wns.language.delete_default.denied');
     }
     if (LanguagePeer::doCount(new Criteria()) < 2) {
         throw new LocalizedException('wns.language.delete_last.denied');
     }
     $sLanguageId = $oLanguage->getId();
     foreach (LanguageObjectQuery::create()->filterByLanguageId($sLanguageId)->find() as $oLanguageObject) {
         $oHistory = $oLanguageObject->newHistory();
         $oHistory->save();
         $oLanguageObject->delete();
     }
     $iResult = $oLanguage->delete();
     $oReplacementLanguage = LanguageQuery::create()->findOne();
     if (AdminManager::getContentLanguage() === $sLanguageId) {
         AdminManager::setContentLanguage(Settings::getSetting("session_default", AdminManager::CONTENT_LANGUAGE_SESSION_KEY, $oReplacementLanguage->getId()));
     }
     if (Session::language() === $sLanguageId) {
         Session::getSession()->setLanguage(Settings::getSetting("session_default", Session::SESSION_LANGUAGE_KEY, $oReplacementLanguage->getId()));
     }
 }
 public function languageData()
 {
     $oLanguage = LanguageQuery::create()->findPk($this->sLanguageId);
     $aResult = $oLanguage->toArray();
     $aResult['LanguageName'] = $oLanguage->getLanguageName();
     $aResult['CreatedInfo'] = Util::formatCreatedInfo($oLanguage);
     $aResult['UpdatedInfo'] = Util::formatUpdatedInfo($oLanguage);
     $sLanguageKey = LanguagePeer::STATIC_STRING_NAMESPACE . '.' . $this->sLanguageId;
     // check existence of translation string in its own language
     if (TranslationPeer::getString($sLanguageKey, $this->sLanguageId, '') === '') {
         $sMessage = TranslationPeer::getString('wns.check_static_strings', AdminManager::getContentLanguage(), 'Please check strings', $aParameters = array('string_key' => $sLanguageKey));
         $aResult['LanguageStringMissing'] = $sMessage;
     }
     return $aResult;
 }
Beispiel #4
0
 protected function initLanguage()
 {
     $this->sOldSessionLanguage = Session::language();
     if (isset($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]) && LanguageQuery::languageExists($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY])) {
         AdminManager::setContentLanguage($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]);
         unset($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]);
         LinkUtil::redirect(LinkUtil::link(Manager::getRequestedPath(), get_class()));
     } else {
         if (!LanguageQuery::languageExists(AdminManager::getContentLanguage())) {
             AdminManager::setContentLanguage($this->sOldSessionLanguage);
         }
         if (!LanguageQuery::languageExists(AdminManager::getContentLanguage())) {
             LinkUtil::redirectToManager('', "AdminManager");
         }
     }
     Session::getSession()->setLanguage(AdminManager::getContentLanguage());
 }
Beispiel #5
0
 public function exclude($mExclude = false)
 {
     if (!$mExclude) {
         return $this;
     }
     if ($mExclude === 'default') {
         $mExclude = Settings::getSetting("session_default", Session::SESSION_LANGUAGE_KEY, 'de');
     } else {
         if ($mExclude === 'current') {
             $mExclude = Session::language();
         } else {
             if ($mExclude === 'edit') {
                 $mExclude = AdminManager::getContentLanguage();
             } else {
                 if ($mExclude instanceof Language) {
                     $mExclude = $mExclude->getId();
                 }
             }
         }
     }
     return $this->filterById($mExclude, Criteria::NOT_EQUAL);
 }
Beispiel #6
0
 public function getLanguage($bObject = false)
 {
     $sResult = $this->getAttribute(self::SESSION_LANGUAGE_KEY);
     if ($bObject) {
         $sResult = LanguageQuery::create()->findPk($sResult);
         if (!$sResult) {
             //If an object was explicitly requested, most likely, it’s supposed to be a content language
             $sResult = LanguageQuery::create()->findPk(AdminManager::getContentLanguage());
         }
     }
     return $sResult;
 }
 public function getContentLanguage()
 {
     return AdminManager::getContentLanguage();
 }
 public function createPage($iParentId, $sPageName)
 {
     $oParentPage = PageQuery::create()->findPk($iParentId);
     if ($oParentPage == null) {
         $oParentPage = PagePeer::getRootPage();
     }
     $sPageTitle = $sPageName;
     $sPageName = StringUtil::normalizeToASCII($sPageName);
     if (!$sPageName) {
         // If all we have are special chars, leave the page name as is and only normalize minimally
         $sPageName = $sPageTitle;
     }
     $sPageName = StringUtil::normalizePath($sPageName);
     if (PagePeer::pageIsNotUnique($sPageName, $oParentPage)) {
         $oFlash = Flash::getFlash();
         $oFlash->addMessage('page.name_unique_required');
         $oFlash->finishReporting();
         throw new ValidationException($oFlash);
     }
     $oPage = new Page();
     $oPage->setName($sPageName);
     $oPageString = new PageString();
     $oPageString->setLanguageId(AdminManager::getContentLanguage());
     $oPageString->setIsInactive(false);
     $oPageString->setLinkText(null);
     $oPageString->setPageTitle($sPageTitle);
     $oPage->addPageString($oPageString);
     $oPage->setPageType('default');
     $oPage->setTemplateName($oParentPage->getTemplateName());
     $oPage->setIsInactive(true);
     $oPage->insertAsLastChildOf($oParentPage);
     return $oPage->save();
 }
 public function adminRemoveObject($iObjectId, $bForce = false)
 {
     $oCurrentContentObject = $this->contentObjectById($iObjectId);
     if (!Session::getSession()->getUser()->mayEditPageStructure($oCurrentContentObject->getPage())) {
         return false;
     }
     if ($bForce) {
         $oCurrentContentObject->sortIntoNew();
         $oCurrentContentObject->delete();
         return true;
     }
     if ($this->sLanguageId === null) {
         $this->sLanguageId = AdminManager::getContentLanguage();
     }
     $oCurrentLanguageObject = $oCurrentContentObject->getLanguageObject($this->sLanguageId);
     if ($oCurrentLanguageObject === null) {
         return true;
     }
     $oCurrentLanguageObject->newHistory(false)->save();
     $oCurrentLanguageObject->delete();
     return true;
 }