Exemplo n.º 1
0
 function init()
 {
     parent::init();
     $oContentField = new AnwContentFieldSettings_select(self::FIELD_LANG_DEFAULT);
     $asEnumValues = array();
     $asLangs = AnwComponent::globalCfgLangs();
     foreach ($asLangs as $sLang) {
         $sLangName = $sLang . " - " . Anwi18n::langName($sLang);
         $asEnumValues[$sLang] = $sLangName;
     }
     $oContentField->setEnumValues($asEnumValues);
     $this->addContentField($oContentField);
     $oContentField = new AnwContentFieldSettings_string(self::FIELD_LANGS);
     $oContentField->addAllowedPattern("!^.{" . Anwi18n::MINLEN_LANG . "," . Anwi18n::MAXLEN_LANG . "}\$!");
     $oContentMultiplicity = new AnwContentMultiplicity_multiple();
     $oContentField->setMultiplicity($oContentMultiplicity);
     $this->addContentField($oContentField);
     $oContentField = new AnwContentFieldSettings_select(self::FIELD_TIMEZONE_DEFAULT);
     $anEnumValues = array();
     $anTimezones = AnwUsers::getTimezones();
     foreach ($anTimezones as $nTimezone) {
         $sTimezoneName = Anwi18n::timezoneName($nTimezone);
         $anEnumValues[$nTimezone] = $sTimezoneName;
     }
     $oContentField->setEnumValues($anEnumValues);
     $this->addContentField($oContentField);
 }
 function init()
 {
     parent::init();
     //lang policy
     $oContentField = new AnwContentFieldSettings_radio(self::FIELD_POLICY);
     $asEnumValues = array(self::POLICY_ALL_LANGS => $this->getComponent()->t_contentfieldsettings("policy_all_langs"), self::POLICY_SELECTED_LANGS => $this->getComponent()->t_contentfieldsettings("policy_selected_langs"));
     $oContentField->setEnumValues($asEnumValues);
     $oContentField->setDefaultValue(self::POLICY_ALL_LANGS);
     $this->addContentField($oContentField);
     //langs selection
     $oContentField = new AnwContentFieldSettings_checkboxGroup(self::FIELD_LANGS);
     $asLangs = AnwComponent::globalCfgLangs();
     $asEnumValues = array();
     foreach ($asLangs as $sLang) {
         $sLangName = $sLang . " - " . Anwi18n::langName($sLang);
         $asEnumValues[$sLang] = $sLangName;
     }
     $oContentField->setEnumValues($asEnumValues);
     $oMultiplicity = new AnwContentMultiplicity_multiple();
     $oMultiplicity->setSortable(false);
     $oContentField->setMultiplicity($oMultiplicity);
     $this->addContentField($oContentField);
 }
Exemplo n.º 3
0
 function getAvailableLangs()
 {
     $asAvailableLangs = AnwComponent::globalCfgLangs();
     $asPages = $this->getPages();
     foreach ($asAvailableLangs as $i => $sLang) {
         if (isset($asPages[$sLang])) {
             unset($asAvailableLangs[$i]);
         }
     }
     return $asAvailableLangs;
 }
Exemplo n.º 4
0
 static function langExists($sLang)
 {
     return in_array($sLang, AnwComponent::globalCfgLangs());
 }
Exemplo n.º 5
0
 function selectLang($langs = null, $selectedlang = null)
 {
     $HTML = '';
     if (!$langs) {
         $langs = AnwComponent::globalCfgLangs();
     }
     if (!$selectedlang) {
         $selectedlang = AnwCurrentSession::getLang();
     }
     foreach ($langs as $lang) {
         $selected = $lang == $selectedlang ? ' selected="selected"' : "";
         $sSrcFlag = Anwi18n::srcFlag($lang);
         $HTML .= "<option value=\"" . $this->xQuote($lang) . "\"{$selected} style=\"background-image:url('{$sSrcFlag}');\">{$this->g_('lang_' . $lang)}</option>";
     }
     return $HTML;
 }
Exemplo n.º 6
0
 static function detectPreferredLang()
 {
     $asAllowedLangs = AnwComponent::globalCfgLangs();
     if (AnwEnv::_SERVER("HTTP_ACCEPT_LANGUAGE")) {
         $asAcceptedLangs = explode(",", AnwEnv::_SERVER("HTTP_ACCEPT_LANGUAGE"));
         foreach ($asAcceptedLangs as $sLangItem) {
             $asLangItem = explode(';', $sLangItem);
             $sAcceptedLang = strtolower($asLangItem[0]);
             if (in_array($sAcceptedLang, $asAllowedLangs)) {
                 return $sAcceptedLang;
             }
         }
     }
     throw new AnwUnexpectedException("No preferred lang is supported");
 }