Реклама | Adv
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
  • Rotator
Сообщения форума
Реклама | Adv
Недавно меня попросили прикрутить к модулю статистики отображение по ротам в клане. Набросал, на коленке небольшой код, вроде работает. С косяками, но работает.
Но хочу предупредить, ники игроков и номера роты надо будет писать самостоятельно, в отдельном файле. Но может еще кому нибудь пригодится.
В общем, по пунктам.

1) Зайти в директорию function и создать там файл user.php

2) Открыть main.php

Найти код:

//MYSQL
include_once(ROOT_DIR.'/function/mysql.php');
//Connecting to MySQL

Сразу после этой строки добавить:
    if(file_exists(ROOT_DIR.'/function/user.php')){
include_once(ROOT_DIR.'/function/user.php');
}

3) В папке css открыть style.css и в конец файла добавить:
.rota {
background-image: url(./images/r.jpg);
color: white;
width: 17px;
height: 21px;
padding-top: 1px;
margin: 0px;
font-size: 8pt;
font-weight: bold;
font-family:arial;
}


4) Скачать http://m9co.16mb.com/images/r.jpg и записать в папку images своего модуля.

5) Открываем созданный user.php. В самое начало файла вставляем код:
<?php
function show_rota($name,$rota) {
$result = 0;
foreach($rota as $lvl => $squad) {
if(in_array($name,$squad)) { $result = $lvl; }
}
return $result;
}
?>


6) Дальше начинаем добавлять информацию о том кто к какой роте принадлежит. В том же файле user.php опять в самое начало, обязательно выше того что вы вставили в предыдущем пункте, вставляем:
<?
$rota = array ();

$rota['1'][] = 'Exinaus';
$rota['3'][] = 'Uninstalllol';
$rota['5'][] = 'Pois0n';
$rota['5'][] = 'Wertt';
?>


Тут я вставил кусок кода, который использовал для примера у себя, но я думаю остальным будет проще понять и редактировать, чем мне объяснять с нуля.
Итак, принадлежность к роте одного мембера записывается одной строкой: $rota['1'][] = 'Exinaus'; соотв. 1 - номер роты в клане, ну а второе ник пользователя. Вторая пустая скобка должна оставаться пустой, всегда, так надо.
$rota = array (); должно быть обязательно, не зависимо от того есть ли записи ниже или нет.

7) Начинаем добавлять отображение рот на вкладках. Я покажу для примера только на одной - "Общие результаты", для остальных необходимо добавлять по аналогии. И еще, для вкладки Состав описанное ниже не сработает, там все устроено немного по другому.

Итак, "Общие результаты" находится в файле overall.php в папке tabs, открываем и ищем код:
    <table id="overall" class="tablesorter wid" cellspacing="1">              
<thead> // ключевая строка для поиска
<tr>
//<--- Место вставки
<th><?php echo $lang['name']; ?></th>

В указанное место вставляем:
                <th>&nbsp;</th>


Находим дальше
        <tbody> // ключевое слово для поиска
<?php foreach($res as $name => $val){ ?>
<tr>
// место вставки
<td><a href="<?php echo $config['base'].$name.'/'; ?>"
target="_blank"><?php echo $name; ?></a></td>
<?php foreach($val['overall'] as $result){ ?>

В указанное место вставляем:
                      <td align="center" style="padding: 0px !important;">
<?php $squad = show_rota($name,$rota); if($squad) { ?><div class="rota"><? echo $squad; ?></div><?php } ?>
</td>

8) Возвращаем сортировку по никам:
смотрим в начало файла, там есть строки типа: <table id="overall" class="tablesorter wid" cellspacing="1">, вот самое важное что написано в id="", в данном случае там overall.
Открываем файл header.php находим там фразу: #overall (в начале обычно добавляется решетка).
Должно найти строку:
            $("#overall").tablesorter({sortList:[[0,0]], widgets: ['zebra']}); 

Вот в 0,0 первое число увеличиваем на 1, получится:
            $("#overall").tablesorter({sortList:[[1,0]], widgets: ['zebra']}); 
Реклама | Adv