#!/usr/bin/perl
#
# This script is a part of
# Trouble Ticket Express package.
# http://www.troubleticketexpress.com
#
# COPYRIGHT: 2005, United Web Coders
# http://www.unitedwebcoders.com
#
# $Revision: 199 $
# $Date: 2006-07-16 03:12:21 -0400 (Sun, 16 Jul 2006) $
#
my $configfile;
my $VERSION = '2.22';
my $REVISION;
# ==== NOTHING TO EDIT BELOW THIS LINE. PLS DO NOT CROSS =======================
BEGIN {
if ($^O eq 'MSWin32') {
eval "use FindBin";
eval "use lib $FindBin::Bin";
chdir($FindBin::Bin);
}
$REVISION = '$Revision: 199 $';
if ($REVISION =~ /(\d+)/) {
$REVISION = $1;
}
}
use strict;
use CGI;
use TTXConfig;
use TTXMSSQLSetup;
use TTXData;
#
# Global vars
#
my $cfg;
my $query;
my %data;
print "Content-type: text/html\n\n";
header();
#
# Read config
#
$configfile = 'ttxcfg.cgi' if $configfile eq undef;
$cfg = TTXConfig->new($configfile);
runsetup() if $cfg eq undef || $cfg->error() ne undef;
if ($cfg->get('cfgref') ne undef) {
my $regcfg = TTXConfig->new($cfg->get('cfgref'));
$cfg = $regcfg;
runsetup() if $cfg->error() ne undef;
}
TTXData::set('CONFIG', $cfg);
#
# Parse input
#
$query = new CGI;
#
# Validate user if id provided
#
if ($query->param('pwd') ne undef) {
if ($cfg->get('admpwd') ne $query->param('pwd')) {
login();
}
} elsif ($cfg->get('admpwd') ne undef) {
login();
} else {
runsetup(); # Just to make sure.
}
#
# Execute command
#
my $cmd = $query->param('cmd');
$cmd = 'setup1' if $cmd eq undef;
if ($cmd eq 'setup1') {
TTXMSSQLSetup::setup1($cfg, $query);
} elsif ($cmd eq 'login') {
dologin();
}
footer();
#======================================================================= dologin
sub dologin {
my $error;
if ($query->param('do')) {
if ($query->param('passwd') eq undef || $query->param('passwd') ne $cfg->get('admpwd')) {
$error = "Invalid password";
} else {
$query->param(-name => 'pwd', -value => $query->param('passwd'));
$query->param(-name => 'do', -value => '');
TTXMSSQLSetup::setup1($cfg, $query);
return;
}
}
$error = "
Error: $error
" if $error ne undef;
print <Please login
$error
EOT
}
#========================================================================= login
sub login {
$query->param(-name => 'pwd', -value => '');
$query->param(-name => 'cmd', -value => 'login');
}
#====================================================================== runsetup
sub runsetup {
print <
Trouble Ticket Express
Error reading configuration file.
Please execute Main Setup Utility first.