[UserWarning Mod] - Мод предупреждений от devICE

Автор devICE, 21 января 2007, 00:26:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

devICE

Итак готов мод визуальных предупреждений.
Огромное спасибо Avdenago за помощь в тестинге и искоренению недоработок. (Артём, извини что форум твой чуток запоганил :-[)
Если найдёте недоработки - писать сюда!


Последняя версия: UserWarn135_win1251.zip
Проблемы только в голове.

Avdenago

Да не вопрос.  O0

Зато мод вроде "хоть куда"... Пока все что видел и все что поправили работает.
И вы знаете солидно так все работает.
Мне нравиться. Сейчас вот поставлю его правильно и будет мне счастье...  :coolsmiley:

Олег Верещагин

А чем данный мод отличается от VisualWarning?

devICE

Тем что не притрагивается к карме... VisualWarning не очень хорошо с ней работал. Ну и кодом естественно :)
Проблемы только в голове.

Avdenago

Цитата: Олег Верещагин от 21 января 2007, 18:02:03
А чем данный мод отличается от VisualWarning?

Итак. Так сразу сходу и не ответишь. вот немного впечатлений.
По старому ВизВарну вы можете почитать отзывы на сайте.
http://www.simplemachines.ru/index.php?topic=1120.0

"Лично я, ваш покорный слуга, на данный момент не вижу особых причин ставить данный мод. Почему?
1. Не сильная функциональность данного мода. Из перечисленных особенностей эксклюзивным пока является только режим Премодерации, так как Бан и режим Только чтение предусмотрены в базовой версии, а возможность добавлять только одно текущее предупреждение также уничтожает все прелести Предупреждений.
2. Проблемы в установке и конфликт с уже установленными модами.
3. Нестабильная работа. При тестировании были замечены критические и не очень ошибки в моде. При этом тест проходил на RC3 с поддержкой и без UTF8 - и каждый раз ошибки были разными.
4. Ошибки при работе с русскими словами - при написании Текста пояснения на русском периодически выскакивала соответсвующая ошибка ведущая к файлу данного мода.
5. Разговоры о возможном взломе форума через данный мод."

Эти вот пункты пока к данному моду не отностяться.

Что касается нашего Варна (надо бы ему имя другое придумать, чтобы не путать; )
то мы имеем очень удобное средство.
Существует пять уровней предупреждений, автоматом накаждый уровень делаються санкции - напр на третий - ридонли. То есть. Изначально уровень у пользователя 0. провинился - предупреждение - сразу из поста сообщения - на картинке около аватары этот уровень отобразиться... И так далее.
То есть мы имеем на самом деле простой (пока еще) мод, но очень удобный.
При этом сделан он немного грамотней в смысле работы в Админке - отдельный пункт и так далее...

Есть может быить еще и недоработки, и хотелось бы немного расщирения функционала.

Плюс еще настраиваемая под себя графическая составляющая(правда пока ручками(. Хотите желтые-красные карточки - хотите плюсики-звездочки - просто сменить файлы в соотв. папке. Надо поместить эти карточки куда-то пожалуйста - перенесите в коде строчку в нужное место.
Притом код довольно таки простой, отткоментированный(по крайней мере должен тааким быть) и трудностей не вызывает.

Плюс. оставляйте свои пожелания и замеченные ошибки. все будет правиться и дорабатываться...

Может я немного предрасположен ибо кое каким образом и я приложил свою лепту в его создание.
Но данный мод мне нравиться своей простотой - и тем, то он соответствует моим требованиям...

kunts

А можно еще поподробней? :)
1)Какие все-таки санкции на каждом уровне?
2)Можно-ли эти санкции менять? (Например в моем случае нужно: первые 3 уровня - только визуальное предупреждение без санкций, третий - премодерация, четвертый - R/O, пятый - бан)
3)Есть ли отдельный список пользователей с предупреждениями (как вариант:  количество предупреждений в общем списке пользователей)?
4)Можно ли выдать предупреждение на определенное время? (Например, если в течении месяца после первого предупреждения пользователь вел себя прилично, то предупреждение само снимется)

P.S. Ставить пока не рискую, ибо уже стоит vWarn Mod. Причем ручками изуродованный до неузнаваемости. :)

Avdenago

1. Из ридми:
"Имеет пять уровней предупреждений и наказаний.
1. Предупреждение первого уровня. Пользователь не получает наказания.
2. Предупреждение второго уровня. Пользователь получет молчанку сроком на 3 дня.
3. Предупреждение третьего уровня. Пользователь получает молчанку сроком на 7 дней.
4. Предупреждение четвёртого уровня. Пользователь получает бан сроком на 7 дней.
5. Предупреждение пятого уровня. Пользователь получает бан сроком на 90 дней.
"

2. Пока нет, но над этим работа ведеться. Премодерации в данном моде нет. Может быть временно а может быть и совсем.
(почему совсем - потому что я не вижу в этом смысла - но это мое личное мнение - проще послать пользователя в ридонли на пару дней/недель чем вычитывать десятки/сотни постов.)

3. Отдельный список предупрежденных пользователей есть в меню Предупреждений - в данном списке отражаеться пользователь, его инфа и оттуда можно управлять предупреждениями. Количество предупреждений в общем списке нет.

4. Предупреждение автоматом не снимаеться. Снимаеться только санкции установленные на время.



devICE

В процессе:
1. Ручное управление уровнями, т.е. вы сами сможете создавать столько уровней сколько вам нужно.
2. Мод будет переименован в UserWarn.

Предмодерацию делать не буду по двум причинам:
1. Банальное отсутствие смысла, удобнее дать пользователю молчанку или бан.
2. Не знаю пока как это организовать.
Проблемы только в голове.

Avdenago

Ну по поводу Премодерации хочу сделать одно мааленькое предложение.

Может стоить такую функцию как проверять первое ообщение пользователя? ведь спамера можно и по первому сообщению вычислить...
НО. с другой стороны. Пришел юзер - и хочет сразу рьяно общаться он же зарегился - пишет пишет, а мессадж сразу не появляеться - БАГИ! :)

devICE

Небуду пока всем этим заморачиваться :) Сейчас за уровни возьмусь. Ломает-то как после отдыха :)
Проблемы только в голове.

kunts

Хмм... Ну с премодерацией позиция понятна. А время жизни предупреждения, все-таки, можно сделатЬ?

devICE

Не знаю, может быть. Просто мне легче самому понизить или повысить предупреждение, чем делать автоматически. К каждому пользователю свой подход нужен, имхо.
Проблемы только в голове.

kunts

У меня перед глазами vWarn мод.
Там при выдаче предупреждения задается его длительность (в т.ч. -1 - бесконечно). И больше ты об этом предупреждении не думаешь.
А вручную это нужно помнить, что вот этот исправился и ему бы понизить уровень надо. А вот этот закоренелый - ему еще добавить...
При наличии нескольких админов и кучи пользователей просто нереально всех запоминать, а копаться каждый раз в истории сильно непроизводительно.

devICE

Вот когда с уровнями разберусь, тогда и подумаю. А делать копию старого мода у меня нет желания :)
Проблемы только в голове.

kunts

vWarn я указал только для информации. Т.ч. "копия" тут ни при чем.
Но хозяин, как известно, барин. :)

rewue

Не ставится мод. Просит дать ему права на изменение файлов. права 777, но ему не нравится - говорит зайди и укажи через форум -захожу, он так и остается на уровне логина и пароля.
... потому что мы живем на последнем, седьмом, слое Сумрака...


Alder

Немного не нравится,что когда у пользователя нет предупреждений полоска выглядит смещенной вправо. А так огроменное спасибо за мод!
Пара пожеланий - ввод причины предупреждения и возможность отправки ЛС пользователю о предупреждении.

Avdenago

Положение полоски и вообще сама полоска может быть скоро приобретут новый вид. полоску то вообще можно самому какую угодна нарисовать...

Alder

Цитата: Avdenago от 24 января 2007, 23:19:08
Положение полоски и вообще сама полоска может быть скоро приобретут новый вид. полоску то вообще можно самому какую угодна нарисовать...
про полоску я понимаю :) Просто по дефолту не очень смотрится она.Но это мелочь :)

Alder

Вылез глюк - при попытке понизить (или удалить) уровень предупреждения через админку мод ничего не делает,а в логи пишет вот такую ошибку:
"8: Undefined variable: scripturl
Файл: /usr/home/alder/www/Sources/VWarn.php"
Что за переменная и куда ее добавить?

devICE

Попробуйте добавить $scripturl в список глобальных переменных в первой строчке функции VWarnList() в файле...
Проблемы только в голове.

Alex_T

есть вопрос - что конкретно (и куда) нужно добавить в файлик index.template.php - просто при установке мод сообщил, что не может внечти в него изменения :(

devICE

Выкладываю чуть модифицированную версию. Выловил пару ошибок. Скоро буду делать управление уровнями.
P.S.: По поводу изменения. Зайдите в modification.xml и посмотрите.
Проблемы только в голове.

devICE

Проблемы только в голове.

alex

И так начнем.
При установке мода, в файл Display.template.php идет вставка следующих строк:

<operation>
<search position="before"><![CDATA[   // Maybe they want to report this post to the moderator(s)?
if ($context['can_report_moderator'])
echo '<a href="', $scripturl, '?action=reporttm;topic=', $context['current_topic'], '.', $message['counter'], ';msg=', $message['id'], '">', $txt['rtm1'], '</a> &nbsp;';]]></search>
<add><![CDATA[if (($message['member']['group_id'] != 1) && ($message['member']['group_id'] != 2) && ($message['member']['group_id'] != ''))                           
if ($context['allow_admin'])
echo '<a href="', $scripturl, '?action=modifywarn;sa=up;uid=', $message['member']['id'], ';topic=', $context['current_topic'], '.', $context['start'], ';m=', $message['id'], ';sesc=', $context['session_id'], '">' . $txt['w2'] . '</a> &nbsp;';]]></add>
</operation>

форум выдает ошибку
8: Undefined index: group_id
Файл: /Themes/default/Display.template.php (main sub template - eval?)
Строка: 511
это строка if (($message['member']['group_id'] != 1) && ($message['member']['group_id'] != 2) && ($message['member']['group_id'] != ''))   
Как исправить?




devICE

попробуйте ['group_id'] поменять на ['group']['id']
Проблемы только в голове.

alex

тогда другая ошибка
8: Uninitialized string offset: 0
Файл: /Themes/default/Display.template.php (main sub template - eval?)
Строка: 512




devICE

Проблемы только в голове.

alex

Мне кажется я понял, отчего ошибка.
"Гость" как таковой не имеет ['member']['group_id'].
Там где в теме есть посты "гостя" отдута и идут ошибки.
Там где нет "гостя" все нормально.
А 512 строка - опечатка это так и осталась 511.




devICE

Вот почему у меня ошибок не было... У меня просто гости не могут оставлять сообщения... В общем подумаю ещё как у гостей полоску эту убрать...
Проблемы только в голове.

alex

Цитата: devICE от 18 февраля 2007, 22:52:41
Вот почему у меня ошибок не было... У меня просто гости не могут оставлять сообщения... В общем подумаю ещё как у гостей полоску эту убрать...
Напоминаю. А то база от этой ошибки раздувается.....




devICE

Попробуй добавить условие !empty($member['group_id']) или если не сработает $member['group_id'] != ""
Проблемы только в голове.

alex

Цитата: devICE от 24 февраля 2007, 08:36:05
Попробуй добавить условие !empty($member['group_id']) или если не сработает $member['group_id'] != ""
Это я попробовал сразу - не помогает.
Да и еще.
Цитата: devICE от 18 февраля 2007, 22:52:41
Вот почему у меня ошибок не было... У меня просто гости не могут оставлять сообщения... В общем подумаю ещё как у гостей полоску эту убрать...
Это не полоска, а ссылка "предупредить"




devICE

#33
На какую строку ругается? И в каком файле...
Проблемы только в голове.

alex

8: Undefined index: group_id
Файл: /Themes/default/Display.template.php (main sub template - eval?)
Строка: 511
if (($message['member']['group_id'] !="") &&($message['member']['group_id'] != 1) && ($message['member']['group_id'] != 2))                           




devICE

#35
if (($message['member']['group']['group_id'] != 1) && ($message['member']['group']['group_id'] != 2) && ($message['member']['group']['group_id'] != ''))

вот на это замени попробуй...

P.S. СТОП! Пока не делай так... Сейчас ещё поковыряю!

Вот попробуй

if (($message['member']['group_id'] != 1) && ($message['member']['group_id'] != 2) && ($message['member']['is_guest'] == 1))
Проблемы только в голове.

alex

Теперь другая ошибка
8: Uninitialized string offset: 0
Файл: /Themes/default/Display.template.php (main sub template - eval?)
Строка: 511




devICE

Мне в асю постучи, быстрее будет ;)
Проблемы только в голове.

Grek

Гость или не гость проверяется другим способом, гораздо легче. Пишу по памяти, так что могу ошибаться, но смысл ты поймешь
$member[is_guest]

Соответственно  if $member[is_guest]
                             {пошла процедура}
                        else
                             {вторая процедура, если условие не совпало}

либо такая конструкция $member[is_guest] ? {процедура} : {процедура, если условие не совпало}

ну или !$member[is_guest]

devICE

Grek
1. тут надо не надо проверять гость ли пользователь... тут идёт проверка на группу пользователя оставившего сообщение.
2. выслал тебе на мыло мод - смотри :)
Проблемы только в голове.

devICE

Всё я запутался окончательно... Мод ни в какую не хочет нормально работать... Вот тут http://www.mozhga.ru/downloads/VisWarn.zip последняя версия (работает полноценно, просто управление уровнями не пашет)... Кто поймёт как искоренить проблему с добавлением уровней прошу написать мне...
Проблемы только в голове.

Lusika

#41
А у меня тоже не ставится:
качала версию вот отсюда http://www.mozhga.ru/downloads/VisWarn.zip
Вот чего ругается:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TABLE IF EXISTS  myprefix_warning_levels' at line 2
Файл: ....forum/public_html/Packages/temp/sql.php
Строка: 7

Примечание: Возможно Вашей базе данных требуется обновление. Версия файлов Вашего форума SMF 1.1.2, тогда как версия Вашей базы данных 1.1.1. Для устранения ошибки обновите, пожалуйста, форум.

И почему оно решила что версия БД 1.1.1 когда у меня сразу был оставлен 1.1.2, я его не обновляла?

Gover

У меня была аналогичная ситуация при попытке установит мод. Пришлось вручную добавлять таблицы в базу данных.
Как много лишних слов, как мало лишниг денег...<br />Все победы в жизни начинаются с победы над собой.

Geolog

Перед тем как ставить на хосте я всегда тестирую локально.
В общем такая проблема.
При попытке установить форум ругается на отсутствие прав на запись, локально то какие права могут быть?
у кого нибуть была такая трабла?
Нет такого слова я не могу. Сумел один, смогут и другие.
Не смог никто, Будь Первым!

Lusika

Цитата: Gover от 26 марта 2007, 12:36:39
У меня была аналогичная ситуация при попытке установит мод. Пришлось вручную добавлять таблицы в базу данных.
таблицы вручную добавила, но ругаться всё равно продолжает...:-(
И я так поняла, что рурагется он на такую строчку:
DROP TABLE IF EXISTS " . $db_prefix . "warning_levels", __FILE__, __LINE__)

а конкретнее на эти, __FILE__, __LINE__
для чего оно вообще нужно?

Lusika

#45
В общем поставила я этот модуль - просто вообще убрала из sql.php
db_query("
   DROP TABLE IF EXISTS " . $db_prefix . "visual_warnings
   DROP TABLE IF EXISTS " . $db_prefix . "warning_levels", __FILE__, __LINE__);
И поставилось... только в упор не вижу, где этим можно управлять из админки

Совсем ничего в админке не появляется  :( :-[
Правда появилась мысль, что он где-то что-то не там меняет... потому что картинки - пнг-шки уровня нарушения он тоже сначала непонятно куда засунул, но не в мою текущую тему, в неё я руками добавляла эти картинки, может он и админку "не нашёл"?

И ещё, может подскажете, где-чего можно изменить, чтоб этот индикатор нарушения отображался или сразу под кармой, или под аватаркой - а то сейчас он отображается под кнопкой статуса Online/Offline - ни туда, ни сюда...



devICE

Мод вносит эти картинки только в дефолтную тему. Управление в админке http://site/smf/index.php?action=vwarn. Или ищи пункт предупреждения. Свяжись со мной по асе.
Проблемы только в голове.

devICE

Ну вот я и обновил мод.

Что нового:
1. Полностью переписан код.
2. Добавлено управление уровнями (по дефолту их шесть 0-5).
3. Удалены подписи уровней.

Ну вот вроде и всё :) Кто протестит - отпишитесь!

P.S.: Мод пока только в кодировке win1251
P.P.S.: Перед установкой этой версии, старую желательно бы удалить, т.к. изменились даже имена файлов мода!
Проблемы только в голове.

Loac

#48
- чего бы хотелось
. Если нету пре-ий, не выводить полоску, или сделать это настраиваемым. Можно, конечно, самому, вместо картинки, сувать прозрачный gif 1x1 px, но это не серьезно.
. Указывать причину предупреждения
иметь возможность изменить/удалить уровень
. Отправка сообщения пользователю про добавлении ему пре-я
. Чтобы в общем списке пре-й имя предупрежденного было активно, в смысле, чтобы можно было перейти к его профилю.
. В списке уровней выводить пикчу, которая к ним относится
. Не плохо бы в возможные действия, на определенном уровене, назначать/исключать пользователя из групп. Лучше, чтобы можно было галочками выбрать из всех доступных (из какой исключить, в какую назначить). Например провинился пользоваель 10 раз, и его исключили из юзверей, которым доступен раздел с эксклюзивами.
. Так же неплохо иметь поле с сумарным кол-вом пре-й у пользователя.

- баги
. Если попытаться из админки добавить пре-е не существующему пользователю, вывалится ошибка MySQL
. Если попытаться добавить уже существующий уровень, выпадет ошибка MySQL
. Если добавлять пре-я путем вписывания имени пользователя в списке пре-й, то уровень увеличивается, однако санкций в виде бана не применяется
. Если использовать из админки, функции понизить/увеличить уровень, то кол-во банов только увеличивается. Мне кажется, что логичнее было бы, чтобы бан был один, но в нем бы изменялись его параметры (время, частичный/полный и т.п.)
. Если удалить пре-я, баны остаются. Не уверен, что баг, может и фича :D, если фича, лучше сделать этот момент настраиваемым
. Может я слепой, но не нашел галочки в правах доступа, чтобы дать возможность раздовать пре-я модераторам.
. Если попытаться добавить уровень оставив поля для ввода пустыми, выпадет ошибка MySQL

Geolog

В общем поставил локально попробовал увеличить уровень предупреждений в результакте: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , , , , , , , '', '', 0), (9, 0, 0, 0, 0, 0, 0, 0, 0, '', 'tony
Файл: z:\home\бла бла бла\www\forums\Sources\UserWarn.php
Строка: 154

глянул- уровень повысился.

только заметил: и сразу стал 4
Нет такого слова я не могу. Сумел один, смогут и другие.
Не смог никто, Будь Первым!