NAME

Vote - интерактивное голосование в Internet, с поддержкой неограниченного количества проводимых опросов.


CONFIGURATION


Configuration file

Для проведения какого либо опроса необходимо создать файл с данными об опросе, файл имеет такой формат:

 # Текст вопроса ?
 # 1 - Первый вариант ответа
 # 2 - Второй вариант ответа
 # 3 - Третий вариант ответа
 # n - N-й вариант ответа

файл должен находится в директории $VoteDir и иметь следующие права доступа:

при использовании su exec на сервере права для файлов с данными для опроса должны быть 600 иначе 666 ( хотя для второго варианта лично я бы даже не стал ставить этот скрипт на публичном сервере из за возможности изменить и сам вопрос и ответы на него... ).

В ИМЕНИ ФАЙЛА ДОПУСКАЮТСЯ ТОЛЬКО ЦИФРЫ ОТ 0 ДО 9 ( количество цифр не ограничено, т.е. например 1, 2, 98989 и т.д. ). Этот номер передается из формы, при запуске скрипта. ( параметр vid ).

Для работы программы так же нужно настроить следующие переменные внутри скрипта:


$VoteDir

Путь к директории в которой лежат файлы с вопросами/ответами.

При включенной опции $Dump2Html на директории $VoteDir должны быть следующие права доступа:

Если используется su exec то 700

Если не используется то 777

При создании соответствующих файлов вручную ( X.inc или X.html ) у них должны быть права доступа такие же как и у файла с данными для опроса, а доступ к директории на запись можно не разрешать - этот способ предпочтительней. ( см. Configuration file )


$Action

URL скрипта голосования, используется при генерации формы для голосования.


$PageTitle

Заголовок окна.


$Dump2Html

Если эта переменная установлена в 1 то данные после добавления каждого ответа на вопрос сбрасываются в файл ( имя файла генерируется из vid и расширения '.inc' в директории $VoteDir ), который затем может вставляться посредствам SSI.

Если эта переменная установлена в 2 то данные после добавления каждого ответа на вопрос сбрасываются в файл ( имя файла генерируется из vid и расширения '.html' в директории $VoteDir ).

Это сделано для некоторой разгрузки сервера при частом просмотре статистики голосовавших.

Директории должны находится в `зоне видимости' WEB сервера.


Style

Для настройки внешнего вида применяются стили ( css ).

По умолчанию стили берутся из файла '/styles/vote.css' - если программа работает _БЕЗ_ SSI, иначе стили должны быть описаны в самом .shtml файле.

При генерации отчетов используются следующие html элементы:

H1

Сообщение об ошибках и cообщение об 'успешном голосовании'

TABLE ( TR / TH / TD / CAPTION )

Таблица со статистикой.

FORM

Форма в котором расположена кнопка 'Проголосовать'

SELECT

Список с перечнем возможных ответов

INPUT

Кнопка с надписью 'Проголосовать'.

Все элементы для голосования имеют класс .vote

Т.е. например для задания размера шрифта сообщений об ошибках нужно написать в .css файле примерно следующее:

H1.vote { font-size: 110%; }


SUBROUTINES


user_ho_save

 Сохраняет мнение пользователя по какому либо вопросу.

 При записи не проверяется есть ли ответ который дает
 пользователь, в числе возможных, данная операция проделывается
 в ходе генерации статистики отзывов.

 Из формы надо передать параметры:
  vid - индекс опроса
  aid - индекс ответа на вопрос

 Оба параметра можно передать также так:
 например скрипт лежит в http://...cgi-bin/vote.cgi
 тогда http://...cgi-bin/vote.cgi/1/2/go.html
 будет означать, что ответили на вопрос с индексом
 1 ( vid ) и вариант ответа 2 ( aid )


user_ho_view

Просмотр результатов голосования. Запускается по умолчанию, если не установлена переменная $Dump2Html.


NOTE

Администрирование ( в смысле создание опросов через WEB администратором ) не сделано по причине того, что _Я_ считаю глупостью реализовывать еще раз то, что реализовано в ftp клиенте и Вашем любимом текстовом редакторе. Да и безопаснее... IMHO.

В общем кому надо напишет на коленке за 5 минут... Мне эта возможность не была нужна.


AUTHOR

 Okunev Igor V.  mailto:igor@prv.mts-nn.ru
                 http://www.mts-nn.ru/~gosha