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.).