Плагин "Голосование" (на стену)

Плагин для добавления голосования на стену в профиле

#1 25 февраля 2012 в 13:33
Продолжу тему голосований на аяксе (тема про модуль). Nikitka натолкнул на мысль об установке голосования на стену.

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

Возможности:
1. публикация неограниченного количества опросов на стене.
2. не конфликтует с модулем "mod_ajaxpolls".
3. Создание опросов "на лету", непосредственно перед публикацией.
4. Просмотр результатов всех опросов в админке — в настройках модуля mod_ajaxpolls.

Публикацию опроса на стене можно разбить на несколько простых шагов:
1. Открыть форму для добавления нового сообщения на стену и нажать на иконку голосования.

2. Заполнить название опроса и варианты ответов, нажать "опубликовать опрос".

В сообщении появится что-то вроде "[userpoll]2a38a4a9316c49e5a833517c45d31070[/userpoll]"
3.Опубликовать сообщение


Скрин результатов голосования:


Установка плагина:
1. распаковать архив
2. закинуть файлы в нужные папки (папка с плагином, иконка опроса, файл шаблона)
3. плагин использует jquery плагин nyromodal, который в дефолтном шаблоне подключается только для администратора. Чтобы голосования могли создавать все пользователи — нужно его включить.
То есть в файле template.php изменить строки:
  1.  
  2. <?php if($inUser->is_admin){ ?>
  3. <script src="/admin/js/modconfig.js" type="text/javascript"></script>
  4. <script src="/templates/_default_/js/nyromodal.js" type="text/javascript"></script>
  5. <link href="/templates/_default_/css/modconfig.css" rel="stylesheet" type="text/css" />
  6. <link href="/templates/_default_/css/nyromodal.css" rel="stylesheet" type="text/css" />
  7. <?php } ?>
  8.  

НА
  1.  
  2. <?php if($inUser->is_admin){ ?>
  3. <script src="/admin/js/modconfig.js" type="text/javascript"></script>
  4. <link href="/templates/_default_/css/modconfig.css" rel="stylesheet" type="text/css" />
  5. <?php } ?>
  6. <script src="/templates/_default_/js/nyromodal.js" type="text/javascript"></script>
  7. <link href="/templates/_default_/css/nyromodal.css" rel="stylesheet" type="text/css" />
  8.  
4. В файле cms.php в функцию parseSmiles добавить перед "
  1. return $text;
" строку
  1. $text = cmsCore::callEvent('GET_BB_MESSAGES', $text);
Это нужно для того, чтобы при обработке bb кодов вызывался плагин.

5. Установить и включить плагин.

Демо
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
. Логинзы к сожалению нет, для просмотра придется зарегистрироваться.

Буду рад любым предложениям или замечаниям по работе плагина.
Прикрепленный файл
pbbpoll_ea1a5.zip 12 Кб
#2 25 февраля 2012 в 18:18
Отличная вещь ) Как раз то чего не хватало! Большой плюс Вам!
#3 26 февраля 2012 в 03:20
Да плагин нужный но он не работает, точней проголосовать может 1 раз тот пользователь который его и создал
вот пример
slavyanskaya-news.ru/users/boets
Чистил кэш, голосовал от админа, переустанавливал ничего не дало.
#4 26 февраля 2012 в 11:31


Да плагин нужный но он не работает, точней проголосовать может 1 раз тот пользователь который его и создал
вот пример
slavyanskaya-news.ru/users/boets
Чистил кэш, голосовал от админа, переустанавливал ничего не дало.

arianfinist

Зарегистрировался у вас на сайте и проголосовал. Сейчас два проголосовавших.
Я думаю у вас проблема с тем, что не могут голосовать неавторизованные посетители. Это так и есть… потому что для незареганных не подгружается javascript. Если хотите разрешить гостям голосовать — могу придумать что-нибудь (добавить подключение скрипта в другое место).

Сейчас скрипт грузится вместе с bb кодами — а гости bb коды не видят, нет доступа для публикации на стену.

Такой вариант подгрузки скрипта был выбран специально… иначе появлялась проблема с одновременно несколькими опросами на странице.

Каждый пользователь может голосовать только раз — там проверка уникальности по ID пользователя.
#5 26 февраля 2012 в 23:27
На 1.9 полет отличный. спасибо!
#6 27 февраля 2012 в 00:01
заметил если нажать кнопку появится окно с голосованием, но если его закрыть, ничего не вводив, то на стену ставит код старого голосования
#7 27 февраля 2012 в 00:43
да, тоже заметил. при этом можно еще раз проголосовать и полуится, что уже 2 голоса
#8 27 февраля 2012 в 01:53


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

krz

Да есть такое, поясню — в окне ввода названия и варианта ответа можно создать голосование. После закрытия этого окна (независимо от того было добавлено новое голосование или нет) подгружается код для публикации последнего голосования текущего пользователя.


да, тоже заметил. при этом можно еще раз проголосовать и полуится, что уже 2 голоса

yury

Это потому что статистика хранится по id голосования — а вы, получается, ставите два голосования с одним ID. Ну это то же самое, что ставить одинаковое голосование у разных пользователей на стене — статистика будет общая.

Подумаю как красиво сделать и на неделе выложу обновленную версию.
#9 4 марта 2012 в 03:42
Кнопка появляется и в блогах, и на форуме. Опросы создаются, но выбор не сохраняется. Выбираю вариант, нажимаю "Голосовать" — голос не засчитывается. На стене работает нормально. Как исправить? или как убрать кнопку ото всюду, кроме стен?
#10 4 марта 2012 в 03:47
Black-Raven90, я понял. Исправлю эти баги во второй версии плагина
#11 17 марта 2012 в 04:33
SJen, Я думаю неплохо было бы чтобы в блогах тоже можно было голосование делать.
#12 1 июня 2012 в 09:44

SJen, Я думаю неплохо было бы чтобы в блогах тоже можно было голосование делать.

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

Кнопка появляется и в блогах, и на форуме. Опросы создаются, но выбор не сохраняется. Выбираю вариант, нажимаю "Голосовать" — голос не засчитывается

а чтоб все работало. В блогах очень нужно голосование.
#13 3 июня 2012 в 14:55
Ребят, ну допилите кто-нибудь, пожалуйста, очень нужна такая вещь, но только в блогах а не на стене. Мне кажется там не так сложно, тому кто знает php
#14 4 июня 2012 в 00:59
согласен нужная вещь
#15 4 июня 2012 в 01:39
да, жаль не доведен до конца v
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.