Икар |
Отправлено: 16 декабря 2010 — 09:26
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
4) В index.php
находим строки
CODE:sprintf($fm->LANG['OnlineDataVSHide']...
sprintf($fm->LANG['OnlineData']...
ремарим их и вставляем за ними:
CODE:sprintf($fm->LANG['OnlineDataVSHide'],$fm->exbb['membergone'],$fm->_OnlineTotal,$_OnlineRobots,$fm->_OnlineGuest,$fm->_Members,$fm->_Invisible):
sprintf($fm->LANG['OnlineData'],$fm->exbb['membergone'],$fm->_OnlineTotal,$fm->_Members,$fm->_OnlineGuest,$_OnlineRobots);
=======================================
********************************************
=======================================
Далее:
Находим переменную $online_last - ремарим и после неё вставляем:
CODE:$online_last = $countonline . ' [ <span class="admin">'.$fm->LANG['Admin'].'</span>, <span class="supmoder">'.$fm->LANG['SuperModer'].'</span>, <span class="moder">'.$fm->LANG['Moderator'].'</span>, <span class="robot">'.$fm->LANG['Robot'].'</span> ]';
=======================================
********************************************
=======================================
Далее:
находим функцию todey() (она в самом низу index.php должна быть) - ПОЛНОСТЬ ЕЁ РЕМАРИМ и заменяем на ту, что в спойлере.
Спойлер (Отобразить)CODE:
function today(&$todayvisit) {
global $today, $fm;
$robots = 0;
$members = $hiddens = 0;
$was = array();
if (empty($today['members'])) $today['members'] = array();
foreach ($today['members'] as $id => $member) {
switch ($member['s']) {
case 'ad': $class = ' class="admin"';
break;
case 'sm': $class = ' class="supmoder"';
break;
case 'mo': $class = ' class="moder"';
break;
case 'ro': $class = ' class="robot"';
break;
default: $class = '';
}
if ($member['v']) {
$hiddens++;
if (defined('IS_ADMIN') || $id == $fm->user['id']) $member['n'] .= '*';
else continue;
}
else
{
$members++;
if ($member['s'] == 'ro') $robots++;
}
if ($member['s'] != 'ro')
{$was[] = '<a href="profile.php?action=show&member='.$id.'"'.$class.'>'.$member['n'].'</a>';}
else
{$was[] = '<a title="Ip='.$id.'"'.$class.'>'.$member['n'].'</a>';}
}
$todayvisit = sprintf($fm->LANG['TodayVisit'], $today['guests'] + $members + $hiddens, $robots ,$today['guests'], $members - $robots,
($hiddens) ? sprintf($fm->LANG['HiddensOnline'], $hiddens) : '', ($was) ? '<br>'.implode(', ', $was) : '');
}
(Отредактировано автором: 16 декабря 2010 — 15:44) |
|
|
Икар |
Отправлено: 16 декабря 2010 — 16:40
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
Всю установку прописал в первых сообщениях!!!
Читаем и изменяем всё оттуда!!!
(Добавление)
nikk пишет:Икар сделал все как ты сказал, но теперь пропало Цитата:Сегодня форум посетили: ! Че делать-то??
nikk у тебя там таблица сломалась - ты тронул какой-то из тегов: <td> или <th> или <tr>...
Возвращай назад - надеюсь, копия-то есть?(Отредактировано автором: 16 декабря 2010 — 16:41) |
|
|
electron |
Отправлено: 16 декабря 2010 — 18:25
|
ExBB Team
Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009
Репутация: 341
|
1.
Икар пишет:
nikk пишет:
этих строк вообще нет в моем файле :
Вот я смотрю код Вашего форума и вижу:
<span class="moder">Модератор</span>
Эта надпись как-раз и получается из той, "Которой у вас нет"!!!
Просто не может быть, что бы у Вас той надписи не было.
она есть в исходном коде форума, но формируется она не в файле board_body.tpl , а в файле index.php в строке
CODE:$online_last = $countonline . ' [ <span class="admin">'.$fm->LANG['Admin'].'</span>, <span class="supmoder">'.$fm->LANG['SuperModer'].'</span>, <span class="moder">'.$fm->LANG['Moderator'].'</span> ]';
собственно поэтому nikk и не может ее найти
2. зачем "ремарить" строки, а потом их же дублировать но уже с изменнеиями. не понимаю...
3. есть предложение собрать всю инструкцию в один файл .txt или .doc и выложить ее в первом посте, дабы убрать ту кашу что создалась в данной теме |
|
|
Икар |
Отправлено: 16 декабря 2010 — 19:00
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
По первому вопросу - прикрепил свой board_body.tpl - строка 51 (она длинная) - вконце.
А вообще - это мелочь, которая выводит слово бот в список:
Цитата:Кто в on-line? [ Администратор, Супермодератор, Модератор, Бот, Пользователь ]
electron пишет:2. зачем "ремарить" строки, а потом их же дублировать но уже с изменнеиями. не понимаю...
Ответ в Посте выше!!!
Не дубасить, а оставить на всякий случай заремаринные, а рядом прописать нужные.
CODE://Старые строки
Новые строки
electron пишет:3. есть предложение собрать всю инструкцию в один файл .txt или .doc и выложить ее в первом посте, дабы убрать ту кашу что создалась в данной теме
Уже прописал все в первых постах.
==============================================
Протестировал нахождение бота на сайте, внеся в список ботов - Mozilla.
Зайдя на форум за гостя браузером FireFox (у которого заголовок начинается с "Mozilla...", т.е. можно сказать - проимитировал бота.
В списке посещаемых в течении последних 15 минут - Mozilla появился , но бота поисковика ещё не видел... Сегодня буду после 23.00 наблюдать. (Отредактировано автором: 16 декабря 2010 — 19:35) |
|
|
Икар |
Отправлено: 17 декабря 2010 — 00:48
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
electron Теперь и мне ясно. Тогда, как будет готово и для оригинала дистрибутива переделаю...
Сейчас же ошибочка выползла:
Вот кусок функции function _OnlineLog в /include/ fm.class.php
Спойлер (Отобразить)CODE: $onlinedata[$sessid] = array(
'ip' => $this->_IP,
'n' => $this->user['name'],
'id' => $this->user['id'],
't' => $this->_Nowtime,
'in' => $where,
'pf' => $privateID,
'st' => $status,
'v' => $visible,
'ua' => $_SERVER['HTTP_USER_AGENT'],
'b' => $this->_IsSpider
);
foreach ($onlinedata as $id=>$info) {
if ($expire > $info['t']) {
// Решение проблемы актуальной даты последнего посещения
// Если пользователь уходит без нажатия кнопки "Выход" то после сдыхания его сессии
// мы обновим инфу в профиле о дате последнего посещения :)
if (!empty($info['id']) && file_exists('members/'.$info['id'].'.php')) {
$user = $this->_Read2Write($file, 'members/'.$info['id'].'.php');
$user['last_visit'] = $info['t'];
$this->_Write($file, $user);
}
unset($onlinedata[$id]);
continue;
}
if ($info['id'] != 0 && $info['n'] == $this->user['name'] && $id != $sessid) {
unset($onlinedata[$id]);
continue;
}
$this->_OnlineIds[$info['id']] = 1;
if ($show === TRUE) {
switch ($info['id']) {
case 0:
// Правка Николая Захаренкова
// $this->_OnlineGuest++;
// break 1;
if ($info['b'] !== FALSE){
$info['id'] = $this->_IP;
$info['n'] = $this->_IsSpider;
$class = "robot";
echo $info['n'];
echo $info['id'];
$output[] = '<a class="'.$class.'" title="'.$info['id'].'">'.$info['id'].'</a>';
$this->_OnlineRobots++;
break 1;
}
else
{
$this->_OnlineGuest++;
break 1;
}
// конец правки Николая Захаренкова
default: if ($this->exbb['visiblemode'] && $info['v']=== TRUE){
$this->_Invisible++;
break 1;
}
switch ($info['st']) {
case 'ad': $class = "admin"; break;
case 'sm': $class = "supmoder"; break;
case 'mo': $class = "moder"; break;
case 'ro': $class = "robot"; break;
default: $class = "noclass"; break;
}
$output[] = '<a href="profile.php?action=show&member='.$info['id'].'" class="'.$class.'">'.$info['n'].'</a>';
$this->_Members++;
break 1;
}
}
}
Внем создаётся массив и обрабатывается вывод тех, кто сейчас присутствует на сайте. К сожалению комне зашел один только безимянный робот, которого нет в списке, и что бы его увидеть присвоил имя = его ip. Да - он появился в онлайне, НО - не вошел ни в боты, ни вгости, ни в пользователи.
Т.е. дело было так: откопировал, когда боты были ещё безимянными:
Цитата:<td class="row1">За последние 15 минут форум посетило: 2 (ботов:0, гостей: 0, зарегистрированных: 1, скрытых: 0)<br>
<div><a href="profile.php?action=show&member=1" class="admin">ikar</a> » <a class="robot" title="95.106.99.97"></a></div>
Было интересно - кто у меня тут бьётся, оказалась местная Рязанская сеть:
95.106.0.0 - 95.106.255.255 RU-INECO-20081202.
Естественно, что такого названия в списке нет.
Всё - ложусь спать! Завтра продолжу!
---------------------
пользуйтесь пожалуйста функцией спойлера при публикации большого количества текста.
модератор(Отредактировано автором: 17 декабря 2010 — 00:57) |
|
|
Дядя Митя |
Отправлено: 19 декабря 2010 — 20:11
|
Member
Покинул форум
Сообщений всего: 105
Дата рег-ции: Апр. 2010
Откуда: Россия
Репутация: 5
|
Икар пишет:Тогда можно будет тему переносить в список дополнений.
Переносить и как-то это всё оформить более понятно, так чтоб как по одной инструкции а не прочитав несколько страниц. Посмотрите как оформленны другие моды на форуме и постарайтесь сделать так. Просто все уже привыкли к стилю изложения.(Отредактировано автором: 19 декабря 2010 — 20:15) |
|
|
|