#!/usr/bin/perl

use strict;
use vars qw{%Form $Self $d $Password};
require '/home/webmangr/cgi-box/polls/common.pm';

$Self = '/cgi-box/polls/setup';
$Password = 'choose1';

&Decode();
&Connect();
&Authenticate();
&Main();

sub Authenticate {

  if(($ENV{HTTP_COOKIE} =~ /pollsp=([^ ;]+)/ && $1 eq $Password) || ($Form{LOGIN} == 1 && $Form{PASSWORD} eq $Password)) {
    &SetCookie("pollsp=$Password");
  } else {
    &Show('login');
  };

};

sub Main {

  if($Form{SAVE}) {
    if($Form{REQUIRED} < 1) 	 { $Form{ERROR} = 'Please complete the number of selections required.'; };
    if($Form{ITEMS} eq '') 	 { $Form{ERROR} = 'Please complete the selections section.'; };
    if($Form{DESCRIPTION} eq '') { $Form{ERROR} = 'Please complete the description section.'; };
    if($Form{TITLE} eq '') 	 { $Form{ERROR} = 'Please complete the title.'; };
    if($Form{ERROR} ne '') 	 { &Show('add'); };
    my(@Options,$Option,$Count,$Poll);
    foreach $Option (split("\n",$Form{ITEMS})) {
      $Option =~ s/^ +//;
      if($Option ne '') {
        $Count++;
        push @Options, $Option;
      };
    };
    $d->insert("INSERT INTO PL_POLLS (TITLE,DESCRIPTION,OPTIONS,TEMPLATE,REQUIRED,ACTIVE,STAMP)  VALUES(?,?,?,?,?,'Y',UNIX_TIMESTAMP())",$Form{TITLE},$Form{DESCRIPTION},int($Count),$Form{TEMPLATE},$Form{REQUIRED});
    $d->select("SELECT MAX(ID) FROM PL_POLLS",\$Poll);
    $d->row();
    foreach $Option (@Options) {
      $d->insert("INSERT INTO PL_OPTIONS (POLL,DETAIL) VALUES(?,?)",$Poll,$Option);
    };

  } elsif($Form{STATUS}) {
    my $Poll = int($Form{STATUS});
    my($Active);
    $d->select('SELECT ACTIVE FROM PL_POLLS WHERE ID=?',\$Active,$Poll);
    $d->row();
    if($Active eq 'Y') { $Active = 'N'; } else { $Active = 'Y'; };
    $d->execute('UPDATE PL_POLLS SET ACTIVE=? WHERE ID=?',$Active,$Poll);

  } elsif($Form{CANCEL}) {

  } elsif($Form{ADD}) {
    if(!$Form{REQUIRED}) { $Form{REQUIRED} = '1'; };
    &Show('add');

  } elsif($Form{DELETE}) {
    my $Poll = int($Form{DELETE});
    $d->execute('DELETE FROM PL_POLLS WHERE ID=?',$Poll);
    $d->execute('DELETE FROM PL_OPTIONS WHERE POLL=?',$Poll);
    $d->execute('DELETE FROM PL_TRACKS WHERE POLL=?',$Poll);

  } elsif($Form{SHOW}) {
    &Poll($Form{SHOW});
    &Show('poll');

  };

  &Show('main');

};
