#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<Head><Title>EZENET CHAT</Title></Head>";
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
    ($name, $value) = split(/=/, $pair);

    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $FORM{$name} = $value;
}
$back = "cgi-bin/dbaseez";
$name = $FORM{'name'};
$phone = $FORM{'phone'};
$add = $FORM{'address'};
$act = $FORM{'act'};
$comments = $FORM{'comments'};
$comments2 = $FORM{'comments2'};
$comments3 = $FORM{'comments3'};
$comments4 = $FORM{'comments4'};
$flag = 0;
if( ($act =~/previous/) && ( length($name) != 0) ){
	open(F,"/usr/local/etc/httpd/htdocs/datam");
	while(<F>){
		$ss = $_;
		chop($ss);
		@rec = split(/:/,$ss);
		$com = @rec[0];
		$com =~ tr/A-Z/a-z/;
		$name =~ tr/A-Z/a-z/;
		if($flag == 0){
			$flag = 1;
			$prename = @rec[0];
			$prephone = @rec[1];
			$preadd = @rec[2];
			$precomments = @rec[3];
			$precomments2 = @rec[4];
			$precomments3 = @rec[5];
			$precomments4 = @rec[6];
		}	
		if( (length($name) == length($com) ) && ($name =~/$com/)){
			$name = $prename;
			$phone = $prephone;
			$add = $preadd;
			$comments = $precomments;
			$comments2 = $precomments2;
			$comments3 = $precomments3;
			$comments4 = $precomments4;
			close(F);
			&output;
			exit;
		}
		$prename = @rec[0];
		$prephone = @rec[1];
		$preadd = @rec[2];
		$precomments = @rec[3];
		$precomments2 = @rec[4];
		$precomments3 = @rec[5];
		$precomments4 = @rec[6];
	}
	close(F);
}elsif((length($name) == 0)&&($act =~/previous/)){
	print "Please select next record!";
	exit;
}	
$flag=0;
if( ($act =~/next/) && (length($name) != 0)){
	open(F,"/usr/local/etc/httpd/htdocs/datam");
	while(<F>){
		$ss = $_;
		chop($ss);
		@rec = split(/:/,$ss);
		$com = @rec[0];
		$com =~ tr/A-Z/a-z/;
		$name =~ tr/A-Z/a-z/;
		if($flag == 1){
			$name = @rec[0];
			$phone = @rec[1];
			$add = @rec[2];
			$comments = @rec[3];
			$comments2 = @rec[4];
			$comments3 = @rec[5];
			$comments4 = @rec[6];
			close(F);
			&output;
			exit;
		}
		if( (length($name) == length($com) ) && ($name =~/$com/)){
			$flag = 1;
		}
	}
	close(F);
}elsif( ($act =~/next/) && (length($name) == 0)){
	open(F,"/usr/local/etc/httpd/htdocs/datam");
	while(<F>){
		$ss = $_;
		chop($ss);
		@rec = split(/:/,$ss);
		$com = @rec[0];
		$com =~ tr/A-Z/a-z/;
		$name =~ tr/A-Z/a-z/;    
		$name = @rec[0];
		$phone = @rec[1];
		$add = @rec[2];
		$comments = @rec[3];
		$comments2 = @rec[4];
		$comments3 = @rec[5];
		$comments4 = @rec[6];
		close(F);
		&output;
		exit;
	}
}
if( (length($name) == 0) && (length($phone) == 0) && (length($address) == 0)){
	&output;
	exit;
}
#if( (length($name) != 0) && (length($phone) == 0) && (length($address) == 0) && ($act =~/search/) ){
if($act =~/search/){
	open(F,"/usr/local/etc/httpd/htdocs/datam");
	while(<F>){
		$ss = $_;
		chop($ss);
		@rec = split(/:/,$ss);
		$com = @rec[0];
		$com =~ tr/A-Z/a-z/;
		$name =~ tr/A-Z/a-z/;
		if( (length($name) == length($com) ) && ($name =~/$com/)){
			$phone = @rec[1];
			$add = @rec[2];
			$comments = @rec[3];
			$comments2 = @rec[4];
			$comments3 = @rec[5];
			$comments4 = @rec[6];
			close(F);
			&output;
			exit;
		}
	}
	close(F);
}elsif($act =~ /delete/){
	open(Fout,">out_datam2.temp");
	open(F,"/usr/local/etc/httpd/htdocs/datam");
        while(<F>){
                $ss = $_;
                chop($ss);
                @rec = split(/:/,$ss);
			
			$phone = @rec[1];
			$add = @rec[2];
			$comments = @rec[3];
			$comments2 = @rec[4];
			$comments3 = @rec[5];
			$comments4 = @rec[6];
		$com = @rec[0];
                $com =~ tr/A-Z/a-z/;
                $name =~ tr/A-Z/a-z/;
                if( (length($name) == length($com) ) && ($name =~/$com/)){
                }else{
			print Fout "$ss\n";
		}
        }
        close(F);   
	close(Fout);
	system("mv out_datam2.temp /usr/local/etc/httpd/htdocs/datam");


open (F, ">>/usr/local/etc/httpd/htdocs/datacomp");
print F "$com:$phone:$add:$comments:$comments2:$comments3:$comments4\n";
close(F);

print "<img src=/bobo3.gif>";
	
print "$name is deleted from database";
print "$completed  is deleted from database";

	print "<a href=/$back>BACK<br>";
	exit;
}
$flag = 0;
open(I,"/usr/local/etc/httpd/htdocs/datam");
while(<I>){
	$ss = $_;
	chop($ss);
	@rec = split(/:/,$ss);
	$com = @rec[0];
	$com =~ tr/A-Z/a-z/;
	$name =~ tr/A-Z/a-z/;
	if( (length($name) == length($com) ) && ($name =~/$com/)){
		$flag = 1;
	}
}
close(I);
if(($flag == 1) && ($act != "modify")){
	print "$name is already exist!!!";
	exit;
}else{
	if( (length($phone) == 0) || (length($add) == 0) ){	
		print "Sorry data missing!!!";
		exit;
	}elsif(($act =~ /new/) && ($flag == 0) ){
		open(F,">>/usr/local/etc/httpd/htdocs/datam");
		print F "$name:$phone:$add:$comments:$comments2:$comments3:$comments4\n";
		close(F);
print "<img src=/bobo3.gif>";		
print "$name is added to the database";
        print "<br><a href=/$back>Back</a>"; 
	#}elsif(($act =~/modif/)&& (length($add) == 0) && (length($phone) == 0)){
	}elsif($act =~/modif/){
		open(Fout,">out_datam2.temp");
		open(F,"/usr/local/etc/httpd/htdocs/datam");
		while(<F>){
			$ss = $_;
			chop($ss);
			@rec = split(/:/,$ss);
			$com = @rec[0];
			$com =~ tr/A-Z/a-z/;
			$name =~ tr/A-Z/a-z/;
			if( (length($name) == length($com) ) && ($name =~/$com/)){
				print Fout "$name:$phone:$add:$comments:$comments2:$comments3:$comments4\n";
			}else{
				print Fout "$ss\n";
			}
		}
		close(F);   
		close(Fout);
		system("mv out_datam2.temp /usr/local/etc/httpd/htdocs/datam");
		

print "<img src=/bobo3.gif>";	
print "$name is modified and saved to database";
	print "<a href=/$back>BACK<br>";
		exit;
	}else{
		if($act =~/next/){
			print "The end of the record";
		}else{

print "<img src=/bobo3.gif>";	
print "Duplicates not allowed<br>";
	print "<a href=/$back>BACK<br>";
		}
	}

		
}
exit;
sub output{
	print "<BODY BGCOLOR=#ffffff TEXT=#000000>";
	print "<IMG SRC=/devel/bobo3.gif>";
	print "<Form action=/cgi-bin/dbaseez method=post>\n";
	print "<TABLE align=left><TR><TD>";
	print "<img src=/Private/right.jpg><br><font size=+1 color=#ff0000>Ticket Number<br></font><img src=/Private/right.jpg><br>";
	
print "</TD><TD><Input Type=\"Text\" Name=\"name\" value=\"$name\"> <a href=/datam>Open Search</a>\n<hr></TD></TR><TR><TD>";
	print "<font size=+1 color=#0080C0>Identification:</font></TD><TD><Input size=50 Type=\"Text\" Name=\"phone\" value=\"$phone\"></TD></TR><TR><TD>\n";
	print "<font size=+1 color=#0080C0>Service Level: (<img src=/redball.gif>)</font></TD><TD><Input size=50 Type=\"Text\" Name=\"address\" value=\"$add\"></TD></TR><TR><TD>\n";
	
print "<font size=+1 color=#0080C0>Tel/Fax:</font></TD><TD><INPUT size=30 type=\"TEXT\" NAME=\"comments\" value=\"$comments\"></TD></TR><TR><TD>\n";
print "<font size=+1 color=#0080C0>Problem:</font></TD><TD><INPUT size=50 type=\"TEXT\" NAME=\"comments2\" value=\"$comments2\"></TD></TR><TR><TD>\n";

print "<font size=+1 color=#0080C0>Time/Charges</TD><TD><INPUT size=50 type=\"TEXT\" NAME=\"comments3\" value=\"$comments3\"></TD></TR><TR><TD>\n";
print "<font size=+1 color=##0080C0>Status:</font></TD><TD><INPUT size=50 type=\"TEXT\" NAME=\"comments4\" value=\"$comments4\"></TD></TR><TR><TD>\n";
print "<a href=/only>BACK</a>";


	print "<BR>\n";
	print "</TD></TR></TABLE>";
print "<BR>";
print "<BR>";
print "<BR>";
	
print "<INPUT type=radio NAME=act Value=search checked>Search<BR>";
	print "<INPUT type=radio NAME=act Value=modify>Modify<BR>";
	print "<INPUT type=radio NAME=act Value=delete>Delete<BR>";
	print "<INPUT type=radio NAME=act Value=new>New<BR>";
	print "<INPUT type=radio NAME=act Value=next>Next<BR>";
	print "<INPUT type=radio NAME=act Value=previous>Previous<BR>";
	print "<p><input type=submit name=\"Submit\" value=\"Submit\"> <input type=reset name=\"Reset\" value=\"Clear Form\"></p>\n";
	print "</form>\n";
}
