Система голосования - Tabella

Автор: Федорченко Антон (antf@inbox.ru)

Версия: 1.0a (тестовая)

Язык: PHP4

Тип лицензии: GPL

Последнее обновление: 20.02.2005


Название скрипта:

Tabella (лат.) - дощечка, на которой древние римляне писали имя выбранного кандидата во время голосования.


Практические цели, которые преследовал автор при написании скрипта:

  1. Знакомство с особенностями систем голосования как вида веб-приложений.
  2. Практическое применение сессий и технологии cookie.
  3. Развитие своего стиля программирования.

Особенности:

  1. Возможность активировать сразу несколько голосований на сайте.
  2. Возможность посмотреть архив голосований.
  3. Несколько режимов защиты от накрутки.
    1. Стандартный
      1. cookie (опционально)
      2. сессии (опционально)
      3. ip (опционально)
    2. Стандартный + один пароль для всех (md5). Естественно их нужно предварительно разослать участникам.
    3. Логин и пароль (md5) для каждого (предварительно разослать по email).
  4. Возможность установить режим защиты от накрутки для каждого голосования отдельно.
  5. Данные хранятся в двухмерных (текстовых) файлах. Для каждого голосования создается основой файл, где хранятся сам вопрос, варианты ответа и метаданные: файл для записи ip, файл для записи пароля, файл для записи логинов и паролей. Отдельно создается файл для общей базы логинов и паролей.

Возможности системы администрирования:

  1. Возможность добавлять новое голосование.
  2. Возможность редактировать голосование.
  3. Возможность изменять режим защиты от накрутки (повторного голосования).
  4. Возможность скрыть/отобразить голосование.
  5. Возможность удалить голосование. Основной файл не удаляется, а копируется в файл txt/backup.txt.
  6. Возможность изменить позицию голосования (поднять опустить).
  7. Интерфейс для добавления/изменения пароля - для режима один пароль для всех.
  8. Развитый интерфейс для режима один пароль для каждого, который позволяет:
    1. Добавить логин и пароль. Особый интерфейс дает возможность загрузить целую серию логинов и паролей из файла (образец файла прилагается). Поддерживается отправка логина и пароля на адрес получателя (данная возможность не тестировалась).
    2. Удалить добавленные логины и пароли.
    3. Генерировать пароли автоматически. Данная функция использует базу пользователей (логинов). Созданные логины и пароли можно сразу же разослать участникам голосования. (данная функция не тестировалась).
    4. Настроить параметры электронной почты для рассылки. Можно указать тему сообщения, адрес отправителя, а также модифицировать текст письма.

Инсталляция:

Установка: Распаковать содержимое архива в директорию localhost, или в директорию, которая ассоциируется с одним из виртуальных хостов. Для запуска системы голосования нужно открыть guestbook.php, для запуска административного блока – admin/index.php.


Возможные проблемы:

  1. Данная программа использует сессии, которые должны быть созданы до появления любой информации в окне браузера, поэтому подключите модуль session_start.inc (polls.php, vote.php) до вывода любой информации.
  2. Не все хостинги поддерживают стандартную PHP функцию отправки почты mail(), поэтому рассылка логинов и паролей может не работать.

Возможности развития проекта:

  1. Разнообразить форму представления результатов голосования. Наряду со стандартными таблицами можно использовать гистограммы и диаграммы.
  2. Мультиязыковой интерфейс.

Обратная связь:

Загрузить новые версии системы голосования Tabella, а так же ряда других полезных Web-приложений можно по адресу http://www.softtime.ru/info/downloads.php На форуме нашей IT-студии по адресу http://www.softtime.ru/forum/ вы всегда можете найти поддержку по установке и сопровождению наших Web-приложений.