Userbar
Материал из Simple Chat
|
|
Адрес юзербара сети Simple Network:
http://schat.impomezia.com/userbar.png
А так он будет выглядеть:

Данные о числе пользователей (online) автоматически обновляются раз в минуту. Предложения по изменению внешнего вида приветствуются.
Создания юзербара для своей сети
PHP скрипт для созданию юзербара создавался для работы в операционной системе Gentoo Linux. Принцип работы состоит в периодическом вызове скрипта по крону (максимум раз в минуту), при этом происходит чтение xml файла со статистикой сервера и запись результирующего PNG файла.
Системные требования
- CLI PHP 5 с включенными расширениями GD, FreeType и SimpleXML, для Gentoo Linux это USE флаги gd, truetype и simplexml.
- Любой веб-сервер, например apache или nginx, поддержка PHP не обязательна.
- Любой Cron планировщик, например vixie-cron.
- IMPOMEZIA Simple Chat Daemon версии 0.5.0.994 или выше.
Установка
- Предполагается что PHP/веб-сервер/Cron/IMPOMEZIA Simple Chat Daemon уже установлены и настроены.
- В конфигурационный файл schatd.conf добавить опцию Stats=true, и перезапустить IMPOMEZIA Simple Chat Daemon.
- Скачать файлы userbar.php, userbar-template.png и hoog_mini.ttf и поместить их в любую папку на сервере.
- Отредактировать пути в файле userbar.php, это:
- путь к файлу stats.xml, находящемуся в папке с бинарником schatd,
- путь к файлам скрипта с завершающим слешем /
- путь к результирующему файлу.
- Выполните от пользователя который будет запускать скрипт команду crontab -e и добавте строчку: Указав правильный путь к userbar.php, альтернативно можно добавить эту строчку в файл /etc/crontab, но перед командой нужно будет указать пользователя.
* * * * * php /opt/schat/userbar/userbar.php
Настройка веб-сервера
Требуется дополнительная настройка веб-сервера для того чтоб указать браузерам на то как долго следует кэшировать юзербар, это необходимо для того чтобы информация о числе пользователей корректно обновлялась при просмотре. Для разных веб-серверов это делается по разному ниже приведены примеры для apache и nginx.
Apache
Предпологается что картинка находится в отдельной папке, теперь необходимо добавить в неё файл .htaccess следующего содержания:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/png "now plus 1 minutes" </IfModule>
При наличии модуля mod_expires на все изображения с Content-Type image/png в этой папке будет установлено время устаревания равное времени создания файла + 1 минута.
Nginx
В файл добавить следующий текст (внутрь блока server)
location /userbar.png { expires modified +1; }
Это установит для файла userbar.png время устаревания равное времени создания файла + 1 минута. Для поддержки параметра modified необходим nginx версии 0.7 или выше.

