форум vBSupport.ru > vBulletin > vBulletin 4.0.x-4.1.х > Хаки, моды и скрипты 4.0.x-4.1.х
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа 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.
Уважаемые пользователи!

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

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

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
Evp
Простоузер
Default Модуль создания тестов на форуме (CheatON Testing Module)
5

Собственно говоря для нужд своего форума делаю, решил поделиться с людьми, может кто заметит чего не заметил я, предложит что-то дельное. Это мой первый модуль для vBulletin, более кривого АПИ я в жизни конечно не встречал.:-((( Убиться можно пока вкуришь что к чему. С точки зрения безопасности, можно не переживать, код старался делать максимально безопасным, все что считывается от пользователей это true или false, за исключением блока внутри тега [EXAMINE], но и там парсер писал ручной а не регулярными выражениями. Все запросы к базе пропускаются через mysql_real_escape, поэтому инъекций нет (ну насколько я проверил за собой)... Распространяется бесплатно, единственным условием является присутствие ссылки внизу, в копирайтах.

То что в папке Uploads закинуть на сервер. После этого в админке "Перестроить -> Битовые поля"
Импортировать продукт product-con_test.xml

Как это работает....
Группе в "права групп", можно присвоить разрешение использования BB-тега [EXAMINE]. Использование этого тега и является основой для создания теста в теме форума. В одном сообщении может быть только один тест!
При потом, пользователи видят сообщение форума, в котором есть текст с чекбоксами и кнопочкой Answer. Выбирают правильные на их взгляд ответы, и жмут кнопочку. Модуль проверяет правильные/неправильные ответы, в результате создает сообщение от имени пользователя в котором написано сдал он или не сдал тест.
Вместе с тем, создается еще одна таблица на форуме, куда пишутся все попытки сдачи, в которых фиксируется время, полученный бал, пройден/не пройден, процент правильных ответов и т.д. поскольку это нужно для задания параметров задержек между сдачами, возможности сдачи вообще и т.д.
Управлять сообщениями могут только группы учителей (редактировать), для всех других в том числе модераторов, возможности редактирования нет, есть только возможность удалить тест.
Когда тест просматривает группа "преподавателей", то чекбоксы отмечены в соответствии с правльными ответами, все остальные будут видеть пустые.
Модуль сырой, поэтому выкидываю больше для ознакомительных целей, чем для использования на практике (пока). Планирую доделать в течение месяца.


Внутри тега [EXAMINE] используются другие теги. Вот их список.
Формат теста

[teachers]# групп учителей через запятую[/teachers] - Группа(ы) которым будут видны ответы пользователей и правильно отмеченные чекбоксы
[students]# групп студентов через запятую[/students] - Группы которым будет разрешено сдавать тесты (позже напишу еще подвеску чтоб можно было делать дефолтные установки)
[pass_percent]% правильных ответов к зачету[/pass_percent] - процент правильных ответов, по которому засчитывается "тест сдан"
[record_fails]Сохранять ли посты с неправильными ответами[/record_fails] - сохранять или не сохранять для отображения (в списке на подобие репутации, сделаю позже)
[min_level]Минимальный уровень для сдачи[/min_level] - минимальный уровень (класс, как хотите назовите) пользователя, для допуска к тесту, 0 если не задан
[level_up]Поднять уровень на следующий при сдаче[/level_up] - до какого уровня (класса) поднимется пользователь при удачной сдаче

[eq]Вопрос 1
[ea]Ответ 1.1[/ea]
[ea][valid]Ответ 1.2[/valid][/ea] - ответ который должен быть "да"
[ea]ответ 1.3[/ea]
[/eq]

[eq]Вопрос 2
[ea]Ответ 2.1[/ea]
[ea][valid]Ответ 2.2[/valid][/ea] - ответ который должен быть "да"
[ea]ответ 2.3[/ea]
[/eq]



Замеченные глюки.
1. При прохождении теста пользователем, не отображаются правильные/неправильные ответы, видимо из-за кеширования но их можно посмотреть в "Опции темы -> версия для печати"
2. В некоторых местах перепутаны языки анг/рус, не разобрался до конца как подружить с русской локализацией.

-------------------------------------
Тест для примера:

Bla-bla-bla [examine]Examine for .... students.[teachers]1,6,2123[/teachers]aasdd [students]9,1,13,6[/students][pass_percent]95[/pass_percent]
[min_level]0[/min_level][level_up]5[/level_up]
[record_fails]yes[/record_fails]
[pass_interval]1[/pass_interval]
[eq]Question one[ea][valid]answer 1-1[/valid][/ea][ea]answer 1-2[/ea][ea][valid]Answer 1-3[/valid][/ea][/eq] next1 next1 next1
[eq]Question two[ea]answer 1[/ea][ea]answer 2[/ea][ea][valid]Answer 3[/valid][/ea][/eq] finish finish
[eq]Question three[ea]answer 1[/ea][/eq][/examine]finish

Вобщем если кому-то нужен, то по мере доработки буду выкидывать, ну а если нет, то...

cheaton-testing-0.1alpha.zip

Click image for larger version

Name:	IMG_25042011_184742.jpg
Views:	85
Size:	31.3 KB
ID:	22725

Click image for larger version

Name:	IMG_25042011_184755.jpg
Views:	55
Size:	26.4 KB
ID:	22726

Click image for larger version

Name:	IMG_25042011_184821.jpg
Views:	47
Size:	21.8 KB
ID:	22727

Last edited by Evp : 04-25-2011 at 08:36 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
kerk
k0t
 
kerk's Avatar
Default
0

1. зачем делать несколько модулей на одном хуке?
2. если код модуля занимает больше 20-30 строк кода, его лучше делать отдельным файлом, а в модуле подключать этот файл
 
 
Evp
Простоузер
Default
0

Quote:
Originally Posted by kerk View Post
1. зачем делать несколько модулей на одном хуке?
2. если код модуля занимает больше 20-30 строк кода, его лучше делать отдельным файлом, а в модуле подключать этот файл
1. Для удобства разработки. Админка vBulletin-а не самая лучшая IDE для того чтоб в ней плодить код, собственно как и отлаживать. Поэтому делалось по кускам и потом своидлось в одно. Кроме того, каждый модуль имеет свою логическую функцию. Один для отображения теста, другой для отображения результатов тестирования юзера, третий для отображения доп. шаблона в постбите и так далее.

2. Можно и отдельным файлом, проблем-то. Изначально так и было, просто включил все в продукт для удобства пользователя. Если хочется вынести в отдельный файл, вынести не проблема, основной класс находится модуле IncludeMainClass на хуке global_start, копипаст в файл и отдельный файл скинуть на сервер, строка инклуда для примера там есть.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

про отдельный файл я к тому, что все модули/плагины вобла вытаскивает из БД и держит в кэше
и если хаков на форуме много (и код модулей большой), то это может повлиять на производительность форума

Quote:
Originally Posted by Evp View Post
Кроме того, каждый модуль имеет свою логическую функцию
вот именно, логическую
при добавлении модуля есть такое поле "порядок выполнения", там что стоит у всех этих модулей? (на 90% уверен, что у всех стоит 5) =)
к примеру, код одного модуля должен выполняться позже другого, но порядок не выставлен корректно (или вообще оставлен по дефолту)
поэтому и говорю, что в одном продукте, на однин хук лучше вешать один модуль (разделять комментами или еще как...)
 
 
Evp
Простоузер
Default
0

Quote:
Originally Posted by kerk View Post
про отдельный файл я к тому, что все модули/плагины вобла вытаскивает из БД и держит в кэше
и если хаков на форуме много (и код модулей большой), то это может повлиять на производительность форума
Ну подсос файла с диска при каждом обращении тоже не положительно сказывается на производительности, особенно на хостингах где куча разных сайтов дергает из фс свое, начиная от скриптов и заканчивая картинками огромных размеров, а бд на отдельных серверах имеет меньшую нагрузку. На вкус и цвет как говорится. А в целом пофиг, у меня ни на что не сказалось, и как я выше написал, кому надо тот и вынесет, а все в одном для удобства установки, хоть этому и мешает еще один файл который надо заливать.

Quote:
Originally Posted by kerk View Post
вот именно, логическую
при добавлении модуля есть такое поле "порядок выполнения"
, там что стоит у всех этих модулей? (на 90% уверен, что у всех стоит 5) =)
к примеру, код одного модуля должен выполняться позже другого, но порядок не выставлен корректно (или вообще оставлен по дефолту)
поэтому и говорю, что в одном продукте, на однин хук лучше вешать один модуль (разделять комментами или еще как...)
Об этом я не заморачивался, а порядок выполнения у них один и тот же потому что в целом каждый из них выполняет свою отдельную функцию. Если пост анализируется на содержание тега самого теста или ответа юзера, то все равно должно быть выполнено и одно и другое (пока), я не заморачивался с логическим анализом для поднятия собственных флагов и т.д. Поэтому заморачиваться о порядке исполнения хуков небыло смысла. Пока в нем есть еще более важные вещи касающиеся функционала, которые нужно доделывать, так что приоритет меня волнует меньше всего... Вот...

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

Кстати, может ты в курсе, насчет вот этого трабла "1. При прохождении теста пользователем, не отображаются правильные/неправильные ответы, видимо из-за кеширования но их можно посмотреть в "Опции темы -> версия для печати"" - решается пререстроением кеша сообщений, но как сделать чтоб кеш небыло необходимости перестраивать? Т.е. смысл в том, что пользователь отвечает на тест, и создается сообщение с закрытым тегом, который скрывает текст ответов от пользователя, но потом учителя его тоже не видят, до тех пор, пока не перестроишь кеш, в то же время в версии для печати видят нормально все как положено.

Last edited by Evp : 04-26-2011 at 10:16 AM.
 
 
kerk
k0t
 
kerk's Avatar
Default
0

сообщения кэшируются опять же для производительности, что бы каждый раз не парсить ббкоды
а на странице "для печати" выводится из БД ас из, потому как менее нагруженная страница
 


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 09:05 AM.


Powered by vBulletin® Version VipeR Edition
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.