Бесплатный компонент ВИКТОРИНА для любой версии

+56
4.14K
Случайно нашел на винчестере ужасно старый скрипт викторины.
На авторство и оригинальность ни в коем случае не претендую, я просто решил примастырить этот скриптец к InstantCMS.
Код правил только для того, чтобы получился рабочий компонент.

Установка компонента стандартная.
— Закачиваем файлы на сервер,
— В админке выбираем "Установить компоненты" -> Компонент "Викторина" для InstantCMS.

ДЕМО

На демо-сайте можно зайти под логинами:
test1, test2, test3
Пароль: 123456

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
+2
nedoriko nedoriko 11 лет назад #
спасибо. может пригодится. только вот мне кажется что он с этой викториной будет конфликтовать
0
Александр I Александр I 11 лет назад #
Конфликт будет только из-за одинакового названия компонента.
Можно поправить название (в файлах тоже) и все будет работать.
0
nedoriko nedoriko 11 лет назад #
залез сейчас переименовывать в viktorina и обнаружил что в многих местах уже итак прописано viktorina а не viсtorina
вошем вот файл временное место для зипа но почемуто он у меня не отображается. гдето чтото сделал не так
0
nedoriko nedoriko 11 лет назад #
все. сам разобрался. оказывается выводил не правильно.
0
letsgo letsgo 11 лет назад #
Зачем скрываете викторину от незарегистрированных?
0
Александр I Александр I 11 лет назад #
Можно много чего дописать в коде, и админку, и редактирование вопросов, и добавление вопросов пользователями, и добавление картинок к вопросам, и показывать викторину незарегистрированным, и...
Код правил только для того, чтобы получился рабочий компонент.
+1
Майкл Майкл 11 лет назад #
Отличный компонент!
Ещё бы реализовать это всё

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

и было бы вообще не превзойденная вещь!!!
+2
WALTERZ WALTERZ 11 лет назад #
Напишите какие доработки хотите видеть?
0
Александр Корн Александр Корн 11 лет назад #
Мне кажется самое необходимое - редактирование вопросов из админки и массовое добавление вопросов из файла через админку
+1
WALTERZ WALTERZ 11 лет назад #
Это уже есть.
Также сделал разделение на категории вопрсов и просмотр результатов пройденных вопросов.

Но обновиться с этой версии не получится, компонент переписан почти полностью.
0
Александр Корн Александр Корн 11 лет назад #
Шикарно. Есть еще одна идея. Насколько я помню рейтинг существует. Так вот, если меня кто нибудь опережает в рейтинге, то мне приходит сообщение типа "пользователь ххх обогнал вас в рейтинге викторины". Или что-то подобное.
И теперь самое главное, когда и на каких условиях будет доступна ваша версия этого компонента?
+1
WALTERZ WALTERZ 11 лет назад #
Бесплатно. Когда закончу пока не знаю, работаю над ним в свободное время.
На данный момент:
-создание вопросов
-просмотр вопросов (+фильтрация, возможность удаления, скрытия и редактировать)
-создание категорий
-просмотр категорий (+фильтрация, возможность удаления, скрытия и редактирования)
-просмотр категорий (+фильтрация, возможность удаления, скрытия и редактирования)
-страница с вопросами (+пагинация)
-небольшие настройки
-модуль вывода результатов (рейтинг)
-небольшие доработки самой системы голосования

Если есть идеи - буду рад.
+1
WALTERZ WALTERZ 11 лет назад #
P.S.
я подумываю саму систему голосов новую написать, на одной странице все вопросы + возможность подсказки (задается в админке). Это позволит пользователю перейти на другой вопрос чтобы не терять времени. Ах да, и время на тестирование ограничить. А то и сам код скрипта мне не нравиться. Если будет достаточно большой функционал, то будет ЕЩЁ платная версия.
+2
Александр Корн Александр Корн 11 лет назад #
Супер. Еще привязать это к рейтингу (или биллингу в платной версии). В любом случае уже сейчас судя по описанию достоцный продукт. С нетерпением жду первой версии
+1
Александр Корн Александр Корн 11 лет назад #
отлично... еще бы номер вопроса добавить... и вопрос - время влияет на что-нибудь?
0
Александр I Александр I 11 лет назад #
еще бы номер вопроса добавить...
см. мой коммент выше.

вопрос - время влияет на что-нибудь?
Время потраченное на ответы влияет на общее количество баллов. Чем больше времени тратишь на ответы, тем меньше баллов получаешь.
Например, Федор ответил правильно на 14 вопросов и Василий ответил правильно на 14 вопросов.
Федор затратил 100 сек., а Василий 99 сек.
Василий получит больше баллов.
+1
Александр Корн Александр Корн 11 лет назад #
Спасибо за такой подробный ответ ))) На второй вопрос ответ я бы понял и после первого предложения. )))
Но в любом случае, спасибо за ответ и огромное спасибо за Вашу работу!
0
Def Def 11 лет назад #
а в адинке можно задавать викторину и в викторине задавать вопросы?

или это единая БД вопросов статичных?
0
Александр I Александр I 11 лет назад #
Админки нет.
Всего в базе 1857 вопросов, которые редактировать, добавлять и удалять можно только напрямую в БД.
0
Dost Dost 11 лет назад #
Все просто. Выглядит симпатично.+
0
Александр Александр 11 лет назад #
Автору + здорово
+1
lezginka.ru lezginka.ru 11 лет назад #
+
доделать, добавление/редактирование вопросов явно не лишнее :)
0
EVV EVV 11 лет назад #
А кто-нибудь знает, как в таблице результатов сделать никнейм ссылкой на профиль?
0
Александр I Александр I 11 лет назад #
EVV, поменяйте строку 17
Код PHP:
  1. $user = $_SESSION['user']['nickname'];
на
Код PHP:
  1. $user = "<a href='users/".$_SESSION['user']['login']."' target='_blank'>".$_SESSION['user']['nickname']."</a>";
+1
EVV EVV 11 лет назад #
Спасибо, всё работает) +
0
irbis irbis 11 лет назад #
Проблема выскочила!
При изменении этих строк в викторину пускают неавторизованных пользователей!
В результате таблица результатов с пустым именем!
Как исправить?
0
irbis irbis 11 лет назад #
в общем сделал так:
Код PHP:
  1. $user = $_SESSION['user']['nickname'];
оставил как есть, а перед:
Код PHP:
  1. $sql=<<<END
  2. INSERT INTO cms_viktorina_users (num, user, email, ip, ball, date_a, date_b, vopros, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, o1, o2, o3, o4, o5, o6, o7, o8, o9, o10, o11, o12, o13, o14, o15, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, y15, yes, no, session)
  3. VALUES (
  4. "", "$user", "$email", "$ip", 0, "$date_a", "$date_b", 0, $sql_a 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "$session"
  5. );
  6. END;
добавил строку:
Код PHP:
  1. $userdb = "<a href='/users/".$_SESSION['user']['login']."' target='_blank'>".$user."</a>";
и в выше указанном запросе изменил "$user" на "$userdb"
0
Александр I Александр I 11 лет назад #
Замените строку 17 (исходного файла) на
Код PHP:
  1. if ($_SESSION['user']['login']){
  2. $user = "<a href='users/".$_SESSION['user']['login']."' target='_blank'>".$_SESSION['user']['nickname']."</a>";
  3. } else {
  4. $user = "Гость";
  5. }
0
Александр I Александр I 11 лет назад #
В моем случае не будет вопросов типа
letsgo:
Зачем скрываете викторину от незарегистрированных?
викторина не будет закрыта для незарегистрированных пользователей и они тоже смогут принять участие.
+2
Александр I Александр I 11 лет назад #
Александр Корн:
отлично... еще бы номер вопроса добавить...
Найдите
Код PHP:
  1. if($page=="end") {
после добавьте
Код PHP:
  1. unset($_SESSION['count']);
найдите
Код PHP:
  1. } else if(isset($_POST["name"]) AND isset($_POST["email"]) AND $_POST["session"]) {
после добавьте
Код PHP:
  1. $_SESSION['count'] = 1;
найдите
Код PHP:
  1. if(isset($v[1])) {
после добавьте
Код PHP:
  1. $s_count = $_SESSION['count'] ++;
найдите
Код PHP:
  1. <tr><td><h3>$row[vopros]</h3></td></tr>
перед добавьте
Код PHP:
  1. <tr><td><h3>Вопрос $s_count из 15</h3></td></tr>
0
МитяЙ МитяЙ 11 лет назад #
А как очистить рейтинг?
+2
WALTERZ WALTERZ 11 лет назад #
очистка всех результатов:
Код PHP:
  1. truncate table cms_viktorina_users
на префикс обращайте внимание
0
МитяЙ МитяЙ 11 лет назад #
А где это прописывать?
+1
WALTERZ WALTERZ 11 лет назад #
сделать нужно такой запрос. в phpmyadmin например
0
Александр Александр 11 лет назад #
замечательный, отличный компонент супер получился и мне очень очень понравился огромное вам человеческое спасибо за него))) +++++
0
Константин Г. Константин Г. 11 лет назад #
1)ненашл где настраивать?
2)где добвить новые вопросы?
0
Константин Г. Константин Г. 11 лет назад #
3)не появился в установленных компонентах
0
Константин Г. Константин Г. 11 лет назад #
В компонентах появился, но: 1)ненашл где настраивать?
2)где добвить новые вопросы?
0
Александр I Александр I 11 лет назад #
Комментарии почитать религия не позволяет?

1.
Админки нет.
Значит и настраивать негде и нечего.

2.
Всего в базе 1857 вопросов, которые редактировать, добавлять и удалять можно только напрямую в БД.
0
Константин Г. Константин Г. 11 лет назад #
Зачем так грубо? Нужно писать сразу в блог это, а не в коменты. Вам религия не позволяет в лог написать сразу?
0
lesterkey lesterkey 11 лет назад #
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
0
Евгений Евгений 10 лет назад #
На 1.10.2 выводится ошибка
Код PHP:
  1. База пуста 14 SELECT * from cms_viktorina_users WHERE vopros=1 ORDER BY ball DESC LIMIT 50
0
xxuuu xxuuu 10 лет назад #
frontend.php замените префикс базы на свой
0
Евгений Евгений 10 лет назад #
Префикс cms_ совпадает в базе и frontend.php, поэтому менять нечего. Не пойму в чем причина ошибки. На другом сайте (версия движка 1.9) действительно потребовалась замена префикса, после которой викторина заработала, а на 1.10.2 не работает
+2
lezginka.ru lezginka.ru 10 лет назад #
Скачать для версии 1.10 и выше
а под 1.10.3 поедет ?
0
Евгений Евгений 10 лет назад #
По прежнему актуально: на 1.10.2 работает?
0
Евгений Евгений 10 лет назад #
При использовании викторины заметил, что некоторые вопросы появляются очень часто, другие - совсем редко. Можно ли сделать, чтобы для каждого участника вопросы не повторялись, пока не будут сыграны все?
0
Евгений Евгений 10 лет назад #
И еще желательно, чтобы в таблицу результатов записывался только лучший результат каждого участника. То есть, если участник прошел викторину с результатом хуже прежнего, он не записывается, если лучше - записывается.
+1
Александр Александр 10 лет назад #
а что на счет 1.10.3 & поддерживаю lezginka.ru +1

Еще от автора

СтопСпам для InstantCMS первой версии
Спамеры задолбали! В теме Спамеры на сайтах Instantcms проблему обсосали на сто рядов. Очень классное решение - подтверждение регистрации по СМС.
Модуль ТОПы пользователей
Раньше модуль был бесплатный и судя по комментариям популярным. Т.к. для новых версий его постоянно приходится переделывать, модуль стал платным.
Модуль ТОПы пользователей. Бесплатный
Написать модуль ТОПы пользователей натолкнул пост на форуме ТОП комментаторов.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.