Inner poll для Drupal 7. Прикрепляйте опросы к любому документу ;)
Прислано: Irbis
сб, 21/01/2012 - 14:53
День добрый.
Портировал Inner poll для Drupal 7, для моего любимого www.drupal.ru. Прикрепляйте опросы к любому документу ;).
При портировании кое-где немного изменил логику и вывел количество воздержавшихся.
Поля в БД совместимы с версией для Drupal 6, только добавились новые индексы.
Перевод модуля содержится в архиве модуля.
Ищу тех кто поможет разместить модуль на drupal.org.
Особенности модуля
- Все действия пользователей сохраняются без перезагрузки страницы (хмм, возможно, пора уже перестать считать AJAX фишкой);
- автор опроса может разрешить (или не разрешить) пользователям отменять свои голоса голоса;
- автор опроса может открывать/закрывать опрос, а так же устанавливать дату автоматического закрытия опроса;
- автор опроса может разрешить/запретить множественный выбор;
- автор опроса, если он не является модератором, может править вопрос опроса только до тех пор, пока в опросе нет ни одного голоса;
- автор опроса, если он не является модератором, может править ответ на вопрос только до тех пор, пока за этот ответ нет ни одного голоса;
- опрос может содержать до 999 вариантов ответа;
- пользователи не могут просматривать результаты опроса до тех пор пока не проголосуют, для неопределившихся с решением есть кнопка "Воздержаться", после нажатия которой будут показаны результаты, но при этом пользователь потеряет возможность голосовать в этом опросе;
- администратор сайта может раздавать права на голосование, создание опросов, редактирование опросов, редактирование опросов даже в случае если в них уже есть голоса;
Пояснение к пунктам 5 и 6. Они нужны для того, чтобы авторы не вносили кардинальных изменений в опрос тогда, когда другие юзеры уже отдали в них свои голоса. Например, был опрос "Любите ли вы клубнику", на который получены ответы "Да" — 95%, "Нет" — 5%, а затем ушлый автор сменил вопрос на "Смотрите ли вы порнографию".
Примечания
- Не стал прикручивать кэш, так как в кэш можно класть всю страницу сторонними средствами при необходимости (обработка AJAX живёт на своих URL).
- Не реализован файл тестов, если кто напишет, буду благодарен.
- Отсутствует шаблон вывода контента так как количество выводимых данных мало и многое можно темизировать с помощью *.css.
Загрузка
Ссылка: Inner poll для Drupal 7.
- Irbis's blog
- Для комментирования войдите или зарегистрируйтесь
Главный косяк версии для шестёрки пофикшен?
Когда анонимы могут голосовать, когда им голосовать нельзя?
- Для комментирования войдите или зарегистрируйтесь
Главный косяк версии для шестёрки пофикшен?
Когда анонимы могут голосовать, когда им голосовать нельзя?
У меня на D7 всё работает корректно, если у Вас на D7 удастся воспроизвести такую ситуацию, то просто отпишите мне сюда и я поправлю.
- Для комментирования войдите или зарегистрируйтесь
Спасибо! В закладки.
- Для комментирования войдите или зарегистрируйтесь
Ага, судя по коду бага есть.
Функция inner_poll_vote_js(), туда треба добавить проверку user_access('vote on inner polls') для анонима или, что наверно будет более правильным, переписать hook_menu() вот так:
$items['inner_poll/vote_js'] = array( 'title' => 'Inner poll vote js', 'page callback' => 'inner_poll_vote_js', 'access arguments' => array('vote on inner polls'), 'type' => MENU_CALLBACK, );
Иначе даже при закрытой возможности анонимного голосования - голосование анонимом посылом специальных запросов возможно.
- Для комментирования войдите или зарегистрируйтесь
Ага, судя по коду бага есть.
Упс, проглядел. Поправил, обновил архивы. Спасибо.
- Для комментирования войдите или зарегистрируйтесь
Поставил для пробы! Вылезла куча ошибок:
1. После включения постоянно выдает (кеш чистил, тему менял)
2. Когда создал опрос, и пробую проголосовать:
Пишет "Вы воздержались", хотя я голосовал.
- Для комментирования войдите или зарегистрируйтесь
Поставил для пробы! Вылезла куча ошибок
Извиняюсь, не тот билд разместил после добавления проверки: user_access('vote on inner polls') для анонима, выходные блин :(.
Перезалил, потестил, проверил - всё работает. Прошу попробовать :).
- Для комментирования войдите или зарегистрируйтесь
Спасибо, надо будет попробовать.
- Для комментирования войдите или зарегистрируйтесь
Значит мне не повезло)))
Теперь все как должно!
Еще пожелание:
Заменить фиксированную ширину, та что у настройках "Ширина блока с опросом" на 100%, чтоб было красиво на разных темах с разной шириной блока выводить! Ну и ширину полос гистограммы тоже вычислять у процентах! Как у стандартного модуля "Poll"
Еще как по мне то текст К материалу прикреплен опрос на тему «Чи подобаєтся вам це опитування?»: нужно чтоб выглядел как К материалу прикреплен опрос на тему: «Чи подобаєтся вам це опитування?»
- Для комментирования войдите или зарегистрируйтесь
Думаю, что стоит завести проект, так как у меня в загашниках есть версия под 5ку :)
Заодно может кто-нить начнет пользоваться модулем да и багрепорты с патчами проще принимать.
- Для комментирования войдите или зарегистрируйтесь
Еще пожелание
Спасибо за пожелания, постараемся в будущем сделать :).
стоит завести проект
Андрей, спасибо за помощь ;).
- Для комментирования войдите или зарегистрируйтесь
Немного почистил phpdoc коменты и конвертнул окончания строк из винды
Взять нужную ветку можно из git
- Для комментирования войдите или зарегистрируйтесь
Оценка материалов Друзья помогите пожалуйста срочно
- Для комментирования войдите или зарегистрируйтесь
andypost@drupal.org, вы не подскажите как сделать мульти выбор, но ограничить его 3 значениями, и в то же время сделать обязательными выбор трех значений?
И как бы еще повесить голосование в блок?
- Для комментирования войдите или зарегистрируйтесь








Комментарии