MediaWiki/Botclasses.php
Статистика сайта MediaWiki в теме оформления
Статистику сайта на движке MediaWiki можно отображать на страницах с помощью специальных волшебных слов. Но они не действуют, если мы хотим отображать её где-нибудь в теме оформления (скине) вне текста статьи. В этом случае необходимо использовать API движка и запрашивать требуемые значения напрямую. Для этого необходимо написать соответствующий PHP код.
Можно использовать вспомогательный скрипт botclasses.php, положив его в каталог с темой оформления. Для использования этих классов используем небольшой промежуточный скрипт wikistat.php
, который распространяется вместе с botclasses.php
. Укажем в нём параметры подключения к сайту. В самой теме оформления в нужном месте вызовем php функцию, указав какая именно статистика нам нужна
- Пример получения статистики. Количество статей:
require_once( "botclasses.php" ); //include bot functions <?php echo wiki_statistics('articles'); ?>
- Пример HTML кода со статистикой количества статей, загруженных файлов и количества статей в категории "Города".
<?php require_once( "botclasses.php" ); ?> <p><a href="/semantic/Служебная:Все_страницы" title="Показать все статьи">Статей</a>: <b><?php echo wiki_statistics('articles'); ?></b>, <a href="/semantic/Служебная:Список_файлов" title="Показать список всех загруженных файлов">Файлов</a>: <b><?php echo wiki_statistics('images'); ?> </b></p> <a href="/semantic/Шаблон:Основные_порталы" title="Показать количество статей в категории Города">Городов</a>: <b><?php echo wiki_statistics('category', 'Города'); ?></b>, </p>
Список всех возможных статистических показателей можно увидеть в функции wiki_statistics()
:
- activeusers - активные участники
- admins - администраторы
- articles - статьи
- category - категории
- edits - правки
- images - загруженные файлы
- pages - страницы
- users - участники
Ошибка записи во временную папку /tmp/
Если на хостинге запрещена запись в системную временную папку, то в нужно исправить две строки настройки curl:
curl_setopt($this->ch,CURLOPT_COOKIEJAR, '/tmp/cluewikibot.cookies.'.$this->uid.'.dat'); curl_setopt($this->ch,CURLOPT_COOKIEFILE,'/tmp/cluewikibot.cookies.'.$this->uid.'.dat');
заменив /tmp/ на соответствующий каталог. Например, если у пользователя временный каталог находится по пути /home/www/user/temp/, то строки должны быть заменены на следующие:
curl_setopt($this->ch,CURLOPT_COOKIEJAR, '/home/www/user/temp/cluewikibot.cookies.'.$this->uid.'.dat'); curl_setopt($this->ch,CURLOPT_COOKIEFILE,'/home/www/user/temp/cluewikibot.cookies.'.$this->uid.'.dat');
См. также
- Страница помощи изначального botclasses.php, написанного Крисом Г. (Chris G.).