Example #1
0
 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;
 }