Икар |
Отправлено: 19 декабря 2010 — 20:43
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
Дядя Митя пишет:Икар пишет:Тогда можно будет тему переносить в список дополнений.
Переносить и как-то это всё оформить более понятно, так чтоб как по одной инструкции а не прочитав несколько страниц. Посмотрите как оформленны другие моды на форуме и постарайтесь сделать так. Просто все уже привыкли к стилю изложения.
Дядь Митя - все мои манипуляции изложены в первых двух сообщениях темы.
Для внедрения нужно проделать 5 шагов - это много в сравнении с другими дополнениями.
=================================================
=================================================
Ю-ху-ху!!! Получилось словить ботов!!! (см. прикрепленную картинку)
=================================================
=================================================
Прошу модераторов перенести первые МОИ два сообщения (где рассказано про установку) этой темы в Дополнения. Описание для Invision2 подкорректирую и займусь внедрением у себя этого дополнения под дистрибутивный стиль. Все манипуляции постараюсь подробно описать.(Отредактировано автором: 19 декабря 2010 — 21:22) |
|
|
Umbr |
Отправлено: 20 декабря 2010 — 06:45
|
Full Member
Покинул форум
Сообщений всего: 208
Дата рег-ции: Июнь 2009
Откуда: СССР
Репутация: 6
|
У меня вопросы по описанию установки:
Икар пишет:1) Добавляем новый класс
В какое место ставить?
Цитата:3) (для стиля Invision2), - в других стилях этого НЕ СДЕЛАЕТЕ!
Предыдущие стоки подходят или только те которые следуют дальше?
Полностью "заремарить текс"т, это перед каждой строкой прописать // или достаточно ставить их перед определённым блоком?
Это добавление "привлекает" роботов или просто и фиксирует их вход?
Можно ли всё оформить в классическом варианте: "найдите - замените"?
С уважением. |
|
|
Икар |
Отправлено: 20 декабря 2010 — 08:40
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
Umbr пишет:У меня вопросы по описанию установки:
Икар пишет:1) Добавляем новый класс
В какое место ставить?
Строки текста показаны обычным шрифтом, что следует добавить и конкретно куда - выделено.
Umbr пишет:
Цитата:3) (для стиля Invision2), - в других стилях этого НЕ СДЕЛАЕТЕ!
Предыдущие стоки подходят или только те которые следуют дальше?
Пункт 3) только для стиля Invision2, для других стилей - этот пункт пропускаем.
Umbr пишет:
Полностью "заремарить текст", это перед каждой строкой прописать // или достаточно ставить их перед определённым блоком? Можно ли всё оформить в классическом варианте: "найдите - замените"?
Если Вам удобнее, то вместо "заремарьте" - читайте "удалите". Я текст ремарю, поскольку, возможно, когда-нибудь потребуется посмотреть - что было в классическои исполнении. Что конкретно ремарить - показано в кодах, в строках начинающихся с //.
Umbr пишет:
Это добавление "привлекает" роботов или просто фиксирует их вход?
Просто фиксирует вход и показывает присутствие. |
|
|
Икар |
Отправлено: 29 декабря 2010 — 16:55
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
Рад, что получилось объяснить установку доступно.
Да, есть такое, что боты с разными ip появляются в списке дважды.
Решение с ходу такое (нет времени проверить, но попробуй):
В тексте Тексте функции OnlineLog() из /include/ fm.class.php находим код:
CODE:if (!empty($info['b'])){
$info['id'] = $this->_IP;
$this->_OnlineIds[$info['id']] = 1;
$info['n'] = $info['b'];
$class = "robot";
$output[] = '<a class="'.$class.'" title="'.$info['b'].'">'.$info['n'].'</a>';
$this->_OnlineRobots++;
break 1;
}
else
{
$this->_OnlineGuest++;
break 1;
}
и меняем
CODE:$info['id'] = $this->_IP;
на
CODE:$info['id'] = $info['b'];
В этом случае должно пропасть задвоение бота.
Но при наведении на бота исчезнет показ ip, а будет показ названия Бота.(Отредактировано автором: 29 декабря 2010 — 16:56) |
|
|
electron |
Отправлено: 29 декабря 2010 — 18:35
|
ExBB Team
Покинул форум
Сообщений всего: 3917
Дата рег-ции: Февр. 2009
Репутация: 341
|
сдается мне, в инструкции , в том пункте, где описаны изменения в файле style.css закралась ошибочка - вместо
CODE:.robot, a:link.moder, a:visited.moder, a:active.moder, a:hover.moder {color: yellow;}
надо дописывать
CODE:.robot, a:link.robot, a:visited.robot, a:active.robot, a:hover.robot {color: yellow;}
автор , я прав?
и еще. в файле board_body.tpl я добавлял бы не
CODE:<td class="row1">{$countonline}<br/><div>{$fm->_MembersOutput}</div><a href="tools.php?action=online" title="{$fm->LANG['ViewFullList']}"><b>{$fm->LANG['WhoOnline']}</b></a> [ <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>, {$fm->LANG['User']} ]{$todayvisit}{$userstop}</td>
а вот такой:
CODE:<td class="row1">{$countonline}<br/><div>{$fm->_MembersOutput}</div><a href="tools.php?action=online" title="{$fm->LANG['ViewFullList']}"><b>{$fm->LANG['WhoOnline']}</b></a> [ <span class="admin">{$fm->LANG['Admin']}</span>, <span class="supmoder">{$fm->LANG['SuperModer']}</span>, <span class="moder">{$fm->LANG['Moderator']}</span>, {$fm->LANG['User']} ] , <span class="robot">{$fm->LANG['Robot']}</span> {$todayvisit}{$userstop}</td>
а то получается что бот главнее пользователя.
кстати, попробовал сегодня мод, вылезает такая же ошибка как у gudman |
|
|
gudman |
Отправлено: 29 декабря 2010 — 18:45
|
ExBB Team Supermoderator
Покинул форум
Сообщений всего: 351
Дата рег-ции: Дек. 2009
Репутация: 19
|
electron пишет:сдается мне, в инструкции , в том пункте, где описаны изменения в файле style.css закралась ошибочка - вместо
точно так, я хотел напсать об этом... у себя делал как в нижней строке у вас!
electron пишет:кстати, попробовал сегодня мод, вылезает такая же ошибка как у gudman
забегая вперед скажу, что с Александром мы все ошибки сегодня попроавили!
Он завтра обещал все опубликовать в теме.... (Отредактировано автором: 29 декабря 2010 — 19:03) |
|
|
Икар |
Отправлено: 30 декабря 2010 — 10:34
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
electron пишет:Икар пишет:CODE:error_reporting (0);
не знаю кому как, а мне это ни о чем не говорит...
Когда установил форум, то сразу же заметил, что в рабочей версии форума выводятся все ошибки. Это делается в файле include / common.php функцией
CODE:error_reporting (E_ALL);
(описание этой функции можете почитать например тут:
CODE:http://www.phpclub.net/manrus/f/error-reporting.html
)
ИМХО: в рабочей версии так быть не должно - зачем светить пути файлов в ошибках, когда что-либо работает не так - технические ошибки хостера или ещё какие-либо глюки.
Поэтому я отключил все ошибки, изменив покаазнную строчку на
CODE:error_reporting (0);
Ошибки пропали!!!
Выводимая ошибка не является критической, а просто предупреждение (которое выводит php в режиме error_reporting (E_ALL). Предупреждения отключаются - исправлением на error_reporting (0); |
|
|
Икар |
Отправлено: 30 декабря 2010 — 12:24
|
Newbie
Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2010
Репутация: 4
|
У error_reporting (...); много функций, можно самые критичные ошибки оставить, а оповещения отключить.
Спойлер (Отобразить)Цитата:Сообщения об Ошибках
E_NOTICE
По умолчанию уведомления не выводятся и указывают, что скрипт обнаружил нечто, что может указывать на ошибку, но может также являться и нормальным выполнением скрипта. Например, попытка доступа к значению переменной, которое не установлено, или вызов stat() в файле, который не существует.
E_WARNING
По умолчанию предупреждения выводятся, но не прерывают выполнение скрипта. Они указывают на наличие проблемы, которая должна быть отловлена скриптом до выполнения вызова. Например, вызов ereg() с неверным регулярным выражением.
E_ERROR
Ошибки также выводятся по умолчанию, и выполнение скрипта останавливается после возврата из функции. Они указывают на ошибки, которые не могут быть устранены внутренними методами, как, например проблемы распределения памяти.
E_PARSE
Ошибки разбора могут генерироваться только разборщиком. Код выводится здесь только для полноты данных.
E_CORE_ERROR
Похоже на E_ERROR, за исключением того, что оно генерируется ядром PHP. Функции не должны генерировать этот тип ошибок.
E_CORE_WARNING
Похоже на E_WARNING, за исключением того, что оно генерируется ядром PHP. Функции не должны генерировать этот тип ошибок.
E_COMPILE_ERROR
Похоже на E_ERROR, за исключением того, что оно генерируется машиной Zend Scripting Engine. Функции не должны генерировать этот тип ошибок.
E_COMPILE_WARNING
Похоже на E_WARNING, за исключением того, что оно генерируется машиной Zend Scripting Engine. Функции не должны генерировать этот тип ошибок.
E_USER_ERROR
Похоже на E_ERROR, за исключением того, что оно генерируется в PHP-коде с использованием PHP-функции trigger_error(). Функции не должны генерировать этот тип ошибок.
E_USER_WARNING
Похоже на E_WARNING, за исключением того, что оно генерируется с использованием PHP-функции trigger_error(). Функции не должны генерировать этот тип ошибок.
E_USER_NOTICE
Похоже на E_NOTICE, за исключением того, что оно генерируется с использованием PHP-функции trigger_error(). Функции не должны генерировать этот тип ошибок.
E_ALL
Все вышеперечисленные. Использование этого уровня error_reporting будет выводит все сообщения об ошибках.
Как видно из сообщения об ошибке - E_NOTICE нужно исключить из показываемых ошибок, т.е. указать все типы показываемых ошибок, за исключение этого. Синтаксис можно подсмотреть в ссылке.
Скорее всего сообщение появляется из-за того, что я id присваиваю не число (= номеру пользователя), а ip или как в последнем случае (что бы не было задвоения) - имя робота.
(Добавление)
gudman пишет:
забегая вперед скажу, что с Александром мы все ошибки сегодня попроавили!
Он завтра обещал все опубликовать в теме....
С удовольствием почитаю... фу, блин, хотя б не одному мне мозгой шевелить... (Отредактировано автором: 30 декабря 2010 — 12:31) |
|
|
|