Новости Joomla на русском
Главная Новости Форум Статьи и обзоры Вопросы и Ответы
Joomla! по-русски
Вышла стабильная версия Joomla 2.5.1! Исправлено 32 ошибки (2 ошибки безопасности низкого уровня), увеличена скорость работы Joomla на Windows Azure, исправлены ошибки в функциях пакетной обработки и поиска. Библиотека MooTools обновлена до версии 1.4.3. Разработчики настоятельно рекомендуют обновиться до Joomla 2.5.1. Пакет русской локализации Joomla 2.5 уже доступен для загрузки.
 
Tuesday, 07 February 2012 Главная arrow Статьи и обзоры arrow Улучшаем встроенную статистику Joomla
Категории
Статьи
Обзоры
Модификации и хаки
Для разработчиков
Joomla!® CMS
Russian Joomla Translation Team
Безопасность
Популярные статьи

Advego.ru - наполнение сайтов информацией

Замечание

Joomla!® является торговой маркой компании Open Source Matters inc в США и др. странах. Название Joomla! и его вариации, такие как J, Joom и т.д., используются в рамках ограниченной лицензии, определённой компанией Open Source Matters. Проект Joomlaportal не относится к компании Open Source Matters или проекту Joomla! Точки зрения представленные на данном сайте не являются официальными точками зрения Joomla Project или Open Source Matters.

Торговая марка Joomla® и логотип используются в рамках ограниченной лицензии, предоставленной Open Source Matters.

Улучшаем встроенную статистику Joomla

04.01.2006 | smartСтатьи и обзоры / Модификации и хаки

Как известно в Joomla имеется встроенная статистика посещений сайта. Однако статистика по браузерам оставляет желать лучшего: слишком часто встречаются неизвестные браузеры. Румамбер SergeR предложил хак для улучшения качества определения типов браузеров во встроенной статистике Joomla.

Установка данного хака никак не повлияет на уже имеющуюся статистику, потому что Joomla сохраняет в базу данных не само значение USER_AGENT, а текстовые строки с названиями браузеров. Однако вся последующая статистика по браузерам, будет содержать значительно меньше неизвестных браузеров.

  1. Загружаем архив с библиотекой phpSniff 2.1.4 (7.4kb)
  2. Извлекаем из архива файл phpSniff.class.php и копируем его в дирекорию includes/
  3. В файле includes/agent_browser.php находим код:
     
    $browsersAlias = array (
    и заменяем его на:
     
    $browsersAlias = array (
    'msie' => 'Microsoft Internet Explorer',
    'netscape' => 'netscape'
  4. В файле includes/joomla.php находим функцию mosGetBrowser:
     
    function mosGetBrowser( $agent ) {
      require( 'includes/agent_browser.php' );
     
      if (preg_match( "/msie[\/\sa-z]*([\d\.]*)/i", $agent, $m )
      && !preg_match( "/webtv/i", $agent )
      && !preg_match( "/omniweb/i", $agent )
      && !preg_match( "/opera/i", $agent )) {
        // IE
        return "MS Internet Explorer $m[1]";
      } else if (preg_match( "/netscape.?\/([\d\.]*)/i", $agent, $m )) {
        // Netscape 6.x, 7.x ...
        return "Netscape $m[1]";
      } else if (preg_match("/mozilla[\/\sa-z]*([\d\.]*)/i", $agent, $m)
      && !preg_match( "/gecko/i", $agent )
      && !preg_match( "/compatible/i", $agent )
      && !preg_match( "/opera/i", $agent )
      && !preg_match( "/galeon/i", $agent )
      && !preg_match( "/safari/i", $agent )) {
        // Netscape 3.x, 4.x ...
        return "Netscape $m[1]";
      } else {
        // Other
        $found = false;
        foreach ($browserSearchOrder as $key) {
          if (preg_match( "/$key.?\/([\d\.]*)/i", $agent, $m )) {
            $name = "$browsersAlias[$key] $m[1]";
            return $name;
            break;
          }
        }
      }
     
      return 'Unknown';
    }
    и замените ее следующим кодом:
     
    function mosGetBrowser( $agent ) {
      require( 'includes/agent_browser.php' );
      require_once('includes/phpSniff.class.php');
     
      $client = new phpSniff($agent);
      $client_long_name = $client->property('long_name');
     
      if (array_key_exists($client_long_name, $browsersAlias)){
        $name = $browsersAlias[$client_long_name];
      } else {
        $name = $client_long_name;
      }
      $name .= ' ' . $client->property('version');
      return($name);
    }
 
< Пред.   След. >
Загрузить Joomla!® CMS

Joomla 2.5

Joomla 2.5.1

Joomla 2.5.0 Joomla 2.5.1

Локализация Joomla 2.5

Пакет русской локализации Joomla 2.5.1

Joomla 1.7

Joomla 1.7.5

Joomla 1.7.3 Russian
(русифицированная версия)

Joomla 1.7.4 Joomla 1.7.5

Локализация Joomla 1.7

Пакет русской локализации Joomla 1.7.5

Joomla 1.5

Joomla 1.5.25

Joomla 1.5.25 Russian
(русифицированная версия)

Joomla 1.5.24 Joomla 1.5.25

Локализация Joomla 1.5

Русский язык для лицевой панели (site)
Русский язык для административной панели (admin)

Как обновить Joomla 1.0
до версии Joomla 1.5?

Документация

Joomla 1.7 FAQ
Joomla 1.5 FAQ
Joomla 1.0 FAQ


Русская версия Joomla

Joomla 1.7 Russian
Joomla 1.5 Russian