Создаем блок по инструкции ниже, кидаем папку Example из архива в папку с форумом /var/www/forum/library
Реализация проходит в два этапа:
I. Создаем свой блок в боковой панели:
Идём в панель управления, далее в внешний вид, далее выбираем иконку "Шаблоны", после чего нажимаем кнопку + Создать новый шаблон, придумываем имя, например у нас шаблон назван - ServerStatus. И добавляем в него следующий код:
Сохраняем.
Далее открываем шаблон forum_list и в удобное для Вас место вставляем:
II. Вызов .php файла непосредственно из шаблона.
В XenForo 1.2 был введён новый тег <xen:callback>, который позволяет вызывать php файлы непосредственно из шаблонов.
Создаём файл index.php с таким содержимым:
И кладём его по пути: /var/www/forum/library/Example/Banner/index.php
Создаём файл banner.php с таким содержимым:
Инструкция актуальна только для XenForo 1.2 и выше, в старых версиях эта конструкция работать не будет!
Реализация проходит в два этапа:
I. Создаем свой блок в боковой панели:
Идём в панель управления, далее в внешний вид, далее выбираем иконку "Шаблоны", после чего нажимаем кнопку + Создать новый шаблон, придумываем имя, например у нас шаблон назван - ServerStatus. И добавляем в него следующий код:
Код:
<div class="section">
<div class="secondaryContent">
<h3>Статус сервера</h3>
<xen:callback class="Example_Banner_index" method="getHtml"></xen:callback>
</div>
</div>
Далее открываем шаблон forum_list и в удобное для Вас место вставляем:
Код:
<xen:include template="ServerStatus" />
Если Вы хотите добавить свою боковую панель под блоком "Пользователи онлайн", то в шаблоне forum_list найдите:
Код:
Код:
Код:
Код:
Код:
Код:
Код:
И ниже добавьте:<xen:sidebar>
<xen:edithint template="sidebar.css" />
Код:
Если Вам нужно разместить нашу боковую панель ниже статистики форума, то всё в том же шаблоне (forum_list) найдите:<xen:include template="ServerStatus" />
Код:
И ниже добавляем:<!-- block: forum_stats -->
<div class="section">
<div class="secondaryContent statsList" id="boardStats">
<h3>{xen:рhrase forum_statistics}</h3>
<div class="pairsJustified">
<dl class="discussionCount"><dt>{xen:рhrase discussions}:</dt>
<dd>{xen:number $boardTotals.discussions}</dd></dl>
<dl class="messageCount"><dt>{xen:рhrase messages}:</dt>
<dd>{xen:number $boardTotals.messages}</dd></dl>
<dl class="memberCount"><dt>{xen:рhrase members_count}:</dt>
<dd>{xen:number $boardTotals.users}</dd></dl>
<dl><dt>{xen:рhrase latest_member}:</dt>
<dd><xen:username user="$boardTotals.latestUser" /></dd></dl>
<!-- slot: forum_stats_extra -->
</div>
</div>
</div>
<!-- end block: forum_stats -->
Код:
Ну и наконец, если Вам нужно добавить новую боковую панель под блок "Поделиться этой страницей, то в шаблоне forum_list находим:<xen:include template="ServerStatus" />
Код:
И ниже добавляем:<xen:include template="sidebar_share_page">
<xen:set var="$url">{xen:link canonical:index}</xen:set>
</xen:include>
Код:
<xen:include template="ServerStatus" />
II. Вызов .php файла непосредственно из шаблона.
В XenForo 1.2 был введён новый тег <xen:callback>, который позволяет вызывать php файлы непосредственно из шаблонов.
Создаём файл index.php с таким содержимым:
PHP:
<?php
class Example_Banner_index {
public static function getHtml() {
include '/var/www/forum/library/Example/Banner/banner.php';
return $output;
}
}
?>
Создаём файл banner.php с таким содержимым:
PHP:
<?php
//Специально для http://kn1fe-zone.ru
$config = array
(
'host' => 'localhost',
'user' => 'root',
'pass' => 'pass',
'name' => 'pw',
'link' => 'ip',
'port' => '29000',
);
$link = mysql_connect($config['host'], $config['user'], $config['pass']);
mysql_select_db($config['name'], $link);
$fp = fsockopen($config['link'], $config['port'], $err, $err, 1);
if(!$fp)
$servstatus = '<font color="red">Offline.</font>';
else
$servstatus = '<font color="green">Online.</font>';
$online = mysql_query("select count(*) from point where zoneid='1'");
$on = mysql_fetch_row($online);
$on[0] = $on[0];
$query = mysql_query("select userid from auth where rid = '0'");
$count = 0;
$off_count = 0;
while($o2 = mysql_fetch_array($query))
{
$online = mysql_query("select * from point where uid='".$o2[0]."'and zoneid='1'");
$o = mysql_fetch_row($online);
$query2 = mysql_query("select name from users where id = '".$o2[0]."'");
while($o3 = mysql_fetch_array($query2))
{
if ($o[3] == 1)
{
$count++;
}
else
{
$off_count++;
}
}
}
$Query = mysql_query("SELECT * from users");
$akkov = mysql_num_rows($Query);
echo <<<html
<center>
<b>Сервер: $servstatus<br/>
Кол-во в сети: $on[0]<br/>
Кол-во GM в сети: $count<br/>
Аккаунтов на сервере: $akkov<br/>
html;
mysql_close();
?>