У Вас в настройках PHP register_globals=ON? какеры идут к Вам!!!

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Old  
True
Модератор темы
 
True's Avatar
Default [3.8.x] Система Мнений (ajax) 91

Opinion System 1.5.0 by True.


УЛУЧШЕНИЯ В ВЕРСИИ 1.5.0 (11.11.2009):
  • Система сделана полностью на Ajax'е.
  • HTML-код полностью соответствует стандартам XHTML.
  • Возможность выбирать цвет цифр мнений из админки
  • Новые варианты стрелок (см. гифки в папке do_not_upload/images)
  • Возможность изменять максимальную длинну комментария мнения (см. в папке do_not_upload файл opinion_tool.php)
  • Мелкие изменения в эргономике дизайна
  • Исправлен баг с редактированием чужого мнения и автомаксом


УЛУЧШЕНИЯ В ВЕРСИИ 1.4.3c (2009.10.24):
  • Исправлен баг с автоминимумом и нулём, а так же с написанием кавычек.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.3b (2009.10.14):
  • Исправлен бесконечный редиррект при просмотре мнений о несуществующем участнике гостем.
  • Добавлен редиррект на страницу со статистикой при просмотре/редактировании/удалении несуществующего мнения.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.3a (2009.10.14):
  • Исправлена уязвимость в странице с POST запросом.
  • Исправлена активная XSS уязвимость.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.3 (2009.07.24):
  • Исправлена уязвимость в странице с POST запросом.
  • Добавлена возможность делить список статистики Системы на страницы (количество записей на страницу настраивается из админки).
  • Файлы в инклюдах приведены к универсальному стандарту.
  • Мелкие улучшения в дизайне вывода ошибок.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.2b (20.06.2009):
  • Исправлен баг на страничке about, когда в "пользователь о Вас" показывалось не последнее его мнение в истории, а первое.
  • Исправлен баг, когда в "пользователь о Вас" показывалось удалённое мнение, если оно было последним в истории.
  • Изменён навигационный текст над навбаром: приведён к единому стандарту, добавлены гиперссылки.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.2a (25.03.2009):
  • При проверке длинны комментария теперь не учитываются ббкоды/смайлы и пробелы в начале и конце строки (это вообще вырезается, ибо нефиг).
  • Раньше, если вы писали мнение с ббкодами, то при его редактировании вылезала html-версия вашего мнения (пример: написали Ты мужиг!, а у вас вылезало <b>Ты мужиг!</b>). Это исправлено.

УЛУЧШЕНИЯ В ВЕРСИИ 1.4.2 (16.02.2009):
  • Показ последних пяти мнений, оставленных пользователями, в страничке статистики с возможностью сворачивания
  • Возможность устанавливать минимальную длину комментария ко мнению в числе знаков
  • Возможность запретить группам / определённым пользователям просматривать Систему

ТРЕБОВАНИЯ:

Проверял на 3.6.8 и 3.7.0 - 3.8.3. Будет работать на всех перечисленных версиях.

ОПИСАНИЕ:

У каждого участника появляется возможность выставить другому участнику его "мнение" (если ему дополнительно это не запрещено в настройках групп). Мнение может изменяться от +/- 1 до +/- 20 (или даже больше) в зависимости от количества постов и времени на форуме, НО не от его суммарного мнения (!!!). Внимание: мнение от одного участника другому выставляется только один раз (но его можно в любой момент времени изменить). После этого у каждого формируется суммарный "входящий" рейтинг. Он и отображается в качестве общественного мнения о форумчанине.

Максимальная Сила "мнения" каждого форумчанина зависит от количества постов (за каждые 200 постов +1, данное количество обеспечивает хоть какую-то динамику, но накрутка себя не окупает) и от времени на форуме (за каждые три месяца +1). Таким образом, у меня, например, на моем форуме сила мнения получится + 39 за посты и + 19 за время на форуме (4 года и 9 месяцев) итого мой лимит +/- 58. Это Сила "мнения", которую я могу кинуть в плюс или в минус полностью или частично каждому на форуме.

Поясню на примере: У меня максимальная Сила мнения 58. Значит, я могу выставить УЧАСТНИКУ_1 от -58 до +58. Еще УЧАСТНИК_2 имеет отклонение в 16. Если мы оба ставим УЧАСТНИКУ_1 максимальный для каждого из нас плюс (или минус), то конечный рейтинг будет + 74 (ну или -74 если мы его жестоко ненавидим ). Если же я изменю свое мнение на -10 (возненавидев УЧАСТНИКА_1 за откровенно фОшисЦЦкий пост, но не до конца ), а УЧАСТНИК_2 оставит + 16, то финал станет +6.

Еще один пример: Если я о ком-то плохо думаю, то кидаю ему, допустим -5. После этого, он догадался, что я понизил его репутацию, написал мне матерное ПС, чем я, естественно, недоволен. После этого я изменил - 5 на - 10. Если товарищ в будущем исправится, я изменю мнение еще раз, но на этот раз в положительную сторону. А вот если бобер захочет накрутить себе рейтинг, то масимум чего он добьется - это получение максимального плюса от пяти своих друзей/мультакков в размере +2/+3 от каждого (это если они на форуме уже давно). Ну и смысл?.. Это + 10/15, что равно плюсу одного ветерана.

Можно в группах выставить разрешение оставлять мнения например после 100 постов, чтобы избежать создания мультакков для "+1 в репку". Кроме того, станет невозможным сам факт накрутки, т.к. мнение выставляется один раз.

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

В Систему встроена статистика, доступная по адресу /opinion.php. В ней отсортированы пользователи по весу мнений и величине их рейтингов (2 таблицы)

Можно поставить "автоминимум" или "автомаксимум", и тогда при увеличении силы мнения участника Система автоматически обновит его мнения о тех, кому он выставил "автомат". Дата мнений при этом не изменится, извещение пользователям не придет. Те, кому выставлены автозначения, отмечены синей звездочкой у цифр мнений о них. Пересчет автомакса происходит каждый час. Если считаете, что для Вашего форума это нужно делать реже - просто измените расписание пересчета.

Для того, чтобы выразить мнение об участнике, надо нажать на зеленую стрелку, или на зеленые/красные цифры рейтинга, если мнение о нем уже кто-то составил, под его аватарой на любом из постов, или в профиле участника, или в статистике мнений.

Еще один важный момент: такая система требует минимального контроля со стороны модеров и Админа, что хорошо, т.к. у них и так дел достаточно. Система прекрасно работает (и я даже рекомендую это) в паре со стандартной встроенной системой репутации, а так же системой спасиб. Они прекрасно дополняют друг друга. Это проверено более чем трехлетним опытом эксплуатации на одном немаленьком ресурсе и тремя месяцами эксплуатации на моём форуме.

Система представлена на 2 языках - русском и английском.

Есть возможность показывать конкретное мнение. Для этого надо нажать на номер мнения, который показывается справа у каждого мнения (после значка #).


В Систему встроена гибкая система модерирования, можно:

* Просматривать историю изменений любого мнения с самого начала работы Системы
* Удалять мнения
* Редактировать мнения
* Откатывать мнение до значения предыдущего оставленного, если оно конечно есть.
* Возвращать любое мнение из истории в активное состояние (оно заместит текущее и сдвинет его вниз)
* После любого действия модератора остаётся запись в Истории о дате изменения и нике того, кто редактировал мнение
* О любом изменении мнения участнику приходит извещение в ПМ (отключаемо)


ДЕМО:

http://forums.realax.ru/opinion.php
http://forums.realax.ru/opinion.php?do=about&userid=121

АПГРЕЙД:

Просто перезагрузите все файлы из папки upload на Ваш сервер и импортируйте продукт с опцией "перезапись". Рекомендую на всякий случай сделать перед этим бэкап базы. Это бывает полезно. ;)
Удалите файл /includes/opinion/opinionPostQuerriesAndPm.php (для версий, вышедших до 1.4.3).

Внимание! Если вы апгрейдитесь с 1.4.х до 1.5.х и при этом ранее изменяли шаблоны, перед апгрейдом верните шаблоны Системы в исходное состояние.

ДАЛЬНЕЙШИЕ УСОВЕРШЕНСТВОВАНИЯ:

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

БЛАГОДАРНОСТИ, ИСТОРИЯ, КОПИРАЙТЫ:

Хотелось бы поблагодарить администратора форума vbsupport Kerk'a за личный пример отличной поддержки форумов и програмных продуктов, а так же за те знания, которые я почерпнул из его постов во время написания Системы мнений. Без этого человека Система бы была более примитивной.

Выражаю благодарность товарищам PGP , SAS1024, CityCat, UFOCorp, mailbrush - за отлов багов и полезные советы по улучшению Системы. Oсобое спасибо - Romchik® - за помощь со стандартом XHTML, всестороннем тестированием и и за новые идеи. А так же за новые стрелочки!

Так же просьба: не убирайте копирайты. Систему я сделал для всех адекватных пользователей vbsupport абсолютно безвозмездно и буду благодарен за ответную вежливость. Поддержку Системы буду так же осуществлять только тем, кто оставил копирайты.

True
2009.11.11
http://forums.realax.ru

Скрины и сама Система - в аттачах, инструкция по установке - в Ридми в архиве.

Ребят, очень бы хотелось услышать рекомендации по оптимизации, улучшению безопасности итд. Специально для этого оставил побольше комментов в коде, чтобы было понятней что и как там происходит.
Attached Thumbnails
about.jpg   edit.jpg   history.jpg   postbit.jpg   stats.JPG  

adminka.jpg  
Attached Files
File Type: rar opinion_1.5.0.rar (392.4 KB, 306 views)
File Type: xml opinion_eng.xml (8.0 KB, 6 views)

Last edited by True : 11-07-2016 at 07:31 PM.
 
Old  
PGP
Специалист
 
PGP's Avatar
Default 1

Обнаружена бага при работе в UTF-8 =) Или я не нашел просто об этом упоминания.
Если форум работает в UTF-8, то в файле opinion.php на строке 863.
Убираем вот это:
PHP Code:
if ($ajax) {
                
$comment iconv("UTF-8""WINDOWS-1251"$_POST[comment]);
                
$touser=fetch_userinfo($touserid);
                
$tousername $touser['username'];
            } else {
                
$comment $_POST[comment];
            } 
Вместо него вставляем вот это:
PHP Code:
$comment $_POST[comment]; 
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
kerk
k0t
 
kerk's Avatar
Default 1

я обычно проверяю, какая кодировка используется
и если нЕ утф, то конвертим... =)
 
Old  
True
Модератор темы
 
True's Avatar
Default 0

Quote:
Originally Posted by SAS1024 View Post
ты еще будешь дорабатывать свою систему мнений?
Буду, буду. ЧТо-то всё никак до неё не доберусь.. Изменяю булке с инвижном помаленьку.

kerk, всё верно, я потом к этому тоже пришёл, правда уже в другом хаке. Когда поднабрался опыта. В След. версии Системы добавлю эту проверку.
 
Old  
NightWish
Продвинутый
Default 0

А для 4рки такого нет? Если нет, то не планируется?
Очень классное дополнение.
 
Old  
nop
Продвинутый
Default 0

Отличный хак! Пользуюсь им уже длительное время.
Сейчас вплотную занялся оптимизацией всего и вся, и обратил внимание, что уйму ошибок падает в логи от этого хака. Последние:

Code:
=====================================================

Database error in vBulletin 3.8.0:

Invalid SQL:

                INSERT INTO opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory)
                VALUES (273600, 5302, 201457, 24, 1390803923, 'op', 0, 0, 0);

MySQL Error   : Duplicate entry '273600' for key 'PRIMARY'
Error Number  : 1062
Request Date  : Monday, January 27th 2014 @ 10:25:23 AM
Error Date    : Monday, January 27th 2014 @ 10:25:24 AM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=201457
IP Address    : 37.229.31.148
Username      : zazor
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.7.4:

Invalid SQL:

                INSERT INTO opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory)
                VALUES (273824, 323456, 141986, 3, 1390844533, 'op', 0, 2, 0);

MySQL Error   : Duplicate entry '273824' for key 'PRIMARY'
Error Number  : 1062
Request Date  : Monday, January 27th 2014 @ 09:42:13 PM
Error Date    : Monday, January 27th 2014 @ 09:42:14 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=141986
IP Address    : 5.248.233.140
Username      : OdysseylBl
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.7.4:

Invalid SQL:

            SELECT SUM(value) as stats_averall, count(value) as quantity
            FROM (
                        SELECT value 
                        FROM (
                                SELECT `fromuserid` , `touserid` , `dateline` , `value` , `deleted`
                                FROM `opinion`
                                WHERE `touserid` = 
                                AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
                        GROUP BY `fromuserid`
                ) as temp2;

MySQL Error   : 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 'AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
        ' at line 8
Error Number  : 1064
Request Date  : Tuesday, January 28th 2014 @ 03:56:03 PM
Error Date    : Tuesday, January 28th 2014 @ 03:56:03 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=353406
IP Address    : 78.85.73.134
Username      : nick
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.7.4:

Invalid SQL:

            SELECT SUM(value) as stats_averall, count(value) as quantity
            FROM (
                        SELECT value 
                        FROM (
                                SELECT `fromuserid` , `touserid` , `dateline` , `value` , `deleted`
                                FROM `opinion`
                                WHERE `touserid` = 
                                AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
                        GROUP BY `fromuserid`
                ) as temp2;

MySQL Error   : 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 'AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
        ' at line 8
Error Number  : 1064
Request Date  : Tuesday, January 28th 2014 @ 03:56:16 PM
Error Date    : Tuesday, January 28th 2014 @ 03:56:16 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=353406
IP Address    : 78.85.73.134
Username      : nick
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.8.0:

Invalid SQL:

            SELECT SUM(value) as stats_averall, count(value) as quantity
            FROM (
                        SELECT value 
                        FROM (
                                SELECT `fromuserid` , `touserid` , `dateline` , `value` , `deleted`
                                FROM `opinion`
                                WHERE `touserid` = 
                                AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
                        GROUP BY `fromuserid`
                ) as temp2;

MySQL Error   : 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 'AND `deleted` IS NULL
                                ORDER BY `dateline` DESC
                        ) AS temp
        ' at line 8
Error Number  : 1064
Request Date  : Tuesday, January 28th 2014 @ 03:56:31 PM
Error Date    : Tuesday, January 28th 2014 @ 03:56:32 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=353406
IP Address    : 78.85.73.134
Username      : nick
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.8.0:

Invalid SQL:

                INSERT INTO opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory)
                VALUES (273992, 25286, 33041, 23, 1390910416, 'qqq', 1, 0, 0);

MySQL Error   : Duplicate entry '273992' for key 'PRIMARY'
Error Number  : 1062
Request Date  : Tuesday, January 28th 2014 @ 04:00:16 PM
Error Date    : Tuesday, January 28th 2014 @ 04:00:20 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=33041
IP Address    : 93.78.54.170
Username      : xBELKOx
Classname     : vb_database
MySQL Version : 
=====================================================

Database error in vBulletin 3.7.4:

Invalid SQL:

                INSERT INTO opinion (opinionid, fromuserid, touserid, value, dateline, comment, autofill, history, forcehistory)
                VALUES (274118, 227842, 219682, -8, 1390938917, 'qqq', -1, 1, 0);

MySQL Error   : Duplicate entry '274118' for key 'PRIMARY'
Error Number  : 1062
Request Date  : Tuesday, January 28th 2014 @ 11:55:17 PM
Error Date    : Tuesday, January 28th 2014 @ 11:55:18 PM
Script        : http://www.mysite.ru/forum/opinion.php
Referrer      : http://www.mysite.ru/forum/opinion.php?do=about&userid=219682
IP Address    : 128.72.175.28
Username      : RolEs
Classname     : vb_database
MySQL Version : 
=====================================================
Подскажите, в чём дело и как исправить. Глаза мозолят..
И да, вероятная причина в том, что я чистил мнения через базу.
 
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 0

Quote:
Originally Posted by nop View Post
И да, вероятная причина в том, что я чистил мнения через базу.
угу...
автоинкремент проверь для opinionid
продуктом не пользуюсь, это предположение
 
Old  
nop
Продвинутый
Default 0

Quote:
Originally Posted by Luvilla View Post
угу...
автоинкремент проверь для opinionid
продуктом не пользуюсь, это предположение
В смысле "проверь"?
 
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 0

Quote:
Originally Posted by nop View Post
В смысле "проверь"?
в смысле - какой он? совпадает с последним существующим opinionid или на единицу больше?
 
Old  
nop
Продвинутый
Default 0

Quote:
Originally Posted by Luvilla View Post
в смысле - какой он? совпадает с последним существующим opinionid или на единицу больше?


Я то смотрю? На 1 больше.
 
Old  
Luvilla
Блондинка с электро......
 
Luvilla's Avatar
Default 0

Quote:
Originally Posted by nop View Post
Я то смотрю?
да

Quote:
Originally Posted by nop View Post
На 1 больше.
да, всё верно

а майсиквел не тормозит? нет варианта, что запрос уходит дважды?

я не увидела, что там ещё сообщение об ошибке, другого вида
интересно....
WHERE `touserid` =
почему в запросе нет значения touserid (вопрос риторический!)
глянь в таблице - поле во всех строках заполнено?
 
 

Tags
мнение, мнения

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 04:16 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.