本文整理汇总了PHP中R::GetLang方法的典型用法代码示例。如果您正苦于以下问题:PHP R::GetLang方法的具体用法?PHP R::GetLang怎么用?PHP R::GetLang使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类R
的用法示例。
在下文中一共展示了R::GetLang方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Init
/**
* Инициализация модуля
*
*/
public function Init()
{
E::ModuleHook()->Run('lang_init_start');
$this->sDefaultLang = Config::Get('lang.default');
$this->aLangPaths = F::File_NormPath(Config::Get('lang.paths'));
// Проверку на языки делаем, только если сайт мультиязычный
if (Config::Get('lang.multilang')) {
// Время хранение языка в куках
$nSavePeriod = F::ToSeconds(Config::Get('lang.save'));
$sLangKey = is_string(Config::Get('lang.in_get')) ? Config::Get('lang.in_get') : 'lang';
// Получаем язык, если он был задан в URL
$this->sCurrentLang = R::GetLang();
// Проверка куки, если требуется
if (!$this->sCurrentLang && $nSavePeriod) {
$sLang = (string) E::ModuleSession()->GetCookie($sLangKey);
if ($sLang) {
$this->sCurrentLang = $sLang;
}
}
if (!$this->sCurrentLang) {
$this->sCurrentLang = Config::Get('lang.current');
}
} else {
$this->sCurrentLang = Config::Get('lang.current');
}
// Проверяем на случай старого обозначения языков
$this->sDefaultLang = $this->_checkLang($this->sDefaultLang);
$this->sCurrentLang = $this->_checkLang($this->sCurrentLang);
if ($this->sCurrentLang && Config::Get('lang.multilang') && $nSavePeriod) {
// Пишем в куки, если требуется
E::ModuleSession()->SetCookie($sLangKey, $this->sCurrentLang, $nSavePeriod);
}
$this->InitLang();
}
示例2: Init
/**
* Инициализация модуля
*
*/
public function Init()
{
E::ModuleHook()->Run('lang_init_start');
$this->sDefaultLang = Config::Get('lang.default');
$this->aLangPaths = F::File_NormPath(Config::Get('lang.paths'));
$this->bDeleteUndefinedVars = Config::Get('module.lang.delete_undefined');
// Allowed languages
$aLangsAllow = (array) Config::Get('lang.allow');
// Проверку на языки делаем, только если сайт мультиязычный
if (Config::Get('lang.multilang')) {
// Время хранение языка в куках
$iSavePeriod = F::ToSeconds(Config::Get('lang.save'));
$sLangKey = is_string(Config::Get('lang.in_get')) ? Config::Get('lang.in_get') : 'lang';
// Получаем язык, если он был задан в URL
$this->sCurrentLang = R::GetLang();
// Проверка куки, если требуется
if (!$this->sCurrentLang && $iSavePeriod) {
$sLang = (string) E::ModuleSession()->GetCookie($sLangKey);
if ($sLang) {
$this->sCurrentLang = $sLang;
}
}
if (!$this->sCurrentLang) {
$this->sCurrentLang = Config::Get('lang.current');
}
} else {
$this->sCurrentLang = Config::Get('lang.current');
$iSavePeriod = 0;
$sLangKey = null;
}
// Current language must be in allowed languages
if (!in_array($this->sCurrentLang, $aLangsAllow)) {
$this->sCurrentLang = reset($aLangsAllow);
}
// Проверяем на случай старого обозначения языков
$this->sDefaultLang = $this->_checkLang($this->sDefaultLang);
$this->sCurrentLang = $this->_checkLang($this->sCurrentLang);
if ($this->sCurrentLang && Config::Get('lang.multilang') && $iSavePeriod) {
// Пишем в куки, если требуется
E::ModuleSession()->SetCookie($sLangKey, $this->sCurrentLang, $iSavePeriod);
}
$this->InitLang();
}
示例3: RootUrl
/**
* Если загружена конфигурация, то возвращает корневой URL проекта,
* в противном случае - адрес веб-сайта выполняемого приложения
*
* @param mixed $xAddLang
*
* @return string|null
*/
public static function RootUrl($xAddLang = false)
{
if (!empty(self::$_root['url'][$xAddLang])) {
$sUrl = self::$_root['url'][$xAddLang];
} elseif (class_exists('Config', false) && ($sUrl = Config::Get('path.root.url'))) {
// Если требуется, то добавляем в URL язык
if ($xAddLang && Config::Get('lang.in_url') && class_exists('Router', false)) {
// Если строковый параметр, то это язык
if (is_string($xAddLang)) {
$sLang = $xAddLang;
} else {
// иначе язык берем из роутера
$sLang = R::GetLang();
}
if ($sLang) {
$sUrl = static::NormPath($sUrl . '/' . $sLang . '/');
}
}
self::$_root['url'][$xAddLang] = $sUrl;
} elseif (isset($_SERVER['HTTP_HOST'])) {
$sUrl = F::UrlScheme(true) . $_SERVER['HTTP_HOST'];
} else {
$sUrl = null;
}
if ($sUrl && substr($sUrl, -1) != '/') {
$sUrl .= '/';
}
return $sUrl;
}