public static function getImageNameFromParam($pImage, $pDepartmentKey = null, $pLang = null, $pImagePostfix = null, $hasOnline = null) { if (!preg_match('/\\.(gif|jpg|png)$/i', $pImage)) { $image = $pImage . '.gif'; } else { $image = $pImage; } if (empty($pLang) || !Resources::IsLocaleAvailable($pLang)) { $lang = Resources::getCurrentLocale(); } else { $lang = $pLang; } if (empty($pImagePostfix)) { if (empty($hasOnline)) { $image_postfix = Operator::getInstance()->hasOnlineOperators($pDepartmentKey, $lang) ? 'on' : 'off'; } else { $image_postfix = $hasOnline ? 'on' : 'off'; } } else { $image_postfix = $pImagePostfix; } $image = preg_replace('/\\.(gif|jpg|png)/i', '_' . $image_postfix . '.\\1', $image); return "/themes/.buttons/{$lang}/{$image}"; }
public static function getCurrentLocale() { $lang = DEFAULT_LOCALE; // check get if (!empty($_REQUEST['lang']) && Resources::IsLocaleAvailable($_REQUEST['lang'])) { $lang = $_REQUEST['lang']; $_SESSION['lang'] = $_REQUEST['lang']; setcookie('WEBIM_LOCALE', $_REQUEST['lang'], time() + 60 * 60 * 24 * 1000, WEBIM_ROOT . "/"); } elseif (isset($_SESSION['lang']) && Resources::IsLocaleAvailable($_SESSION['lang'])) { // check session $lang = $_SESSION['lang']; } elseif (isset($_COOKIE['WEBIM_LOCALE']) && Resources::IsLocaleAvailable($_COOKIE['WEBIM_LOCALE'])) { // check cookie $lang = $_COOKIE['WEBIM_LOCALE']; } elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { // check accept language $requested_langs = explode(",", $_SERVER['HTTP_ACCEPT_LANGUAGE']); foreach ($requested_langs as $requested_lang) { if (strlen($requested_lang) > 2) { $requested_lang = substr($requested_lang, 0, 2); } if (Resources::IsLocaleAvailable($requested_lang)) { $lang = $requested_lang; break; } } } elseif (Resources::IsLocaleAvailable(DEFAULT_LOCALE)) { // check the default locale $lang = DEFAULT_LOCALE; } else { // can't find lang $lang = 'ru'; } return $lang; }