#!/usr/bin/perl

require "vars.cgi";
##########################################################################
##																		##
##							 SmartFAQ v2.0								##
##							 -------------								##
##					   by Jimmy (wordx@hotmail.com)						##
##						http://www.smartCGIs.com						##
##																		##
##	This is a free script, if anyone sold it to you please contact me.  ##
##  Please DO NOT remove any of the copyrights or links to our site,    ##
##  they keep this CGI free for everyone. Thanks!						##
##																		##
##				  (c) copyright 2000 SmartCGIs.com						##
##########################################################################
print "Content-type: text/html\n\n";

$buffer = $ENV{'QUERY_STRING'};
@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;
$value =~ s/~!/ ~!/g;
$in{$name} = $value;
}
$answer = $in{'answer'};
$id = $in{'id'};
$subject = $in{'subject'};
$keywords = $in{'keywords'};
$match = $in{'match'};

open(DATA,"/home/bbboy/public_html/bb/top.html");
@head = <DATA>;
close(DATA);
open(DATA,"/home/bbboy/public_html/bb/bottom.html");
@foot = <DATA>;
close(DATA);

if($answer ne "") { &answer; }
if($subject ne "") { &subject; }
if($keywords ne "") { &search; }

open(DATA,"subject.faq");
@subj = <DATA>;
close(DATA);

$blah = "@head\n";
$blah=~s/\<base href=(.*?)\>//sg;
print $blah;
print qq~<center><form><input type=text name=keywords value=Search><input type=submit value=Search></form></center>~;

foreach (@subj) {
chomp($_);
($id, $subject) = split(/\|/,$_);
print "<ul> <li><b><a href=\"/faqs/smartfaq.cgi?subject=$id\">$subject</a></b></li> </ul>\n";
print "<blockquote>  <ul>\n";

	opendir (DIR, "subject/$id");
	@files = grep { /.qa/ } readdir(DIR);
	close (DIR);
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$id/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	print "<li type=\"circle\"><a href=\"/faqs/smartfaq.cgi?answer=$fid&id=$id\">$q</a></li>\n";
	}
print "</ul> </blockquote><p>\n";
}
print <<EOF;
@foot
<p><br><center><small>Script provided by <a href="http://www.smartcgis.com" target="_top">SmartCGIs.com</a></small></center>
EOF

sub answer {
open(DATA,"subject/$id/$answer.qa");
@content = <DATA>;
close(DATA);
$content = join('',@content);
($q, $a) = split(/\|/,$content);
print <<EOF;
@head
<p>
<b>$q</b><p>
$a<p>
<br><br><center><a href=\"/faqs/smartfaq.cgi\">Back To FAQ</a></center><br>
@foot
<p><br><center><small>Script provided by <a href="http://www.smartcgis.com" target="_top">SmartCGIs.com</a></small></center>
EOF
exit;
}

sub subject {
open(DATA,"subject.faq");
@subj = <DATA>;
close(DATA);
foreach (@subj) {
chomp($_);
($num, $sub) = split(/\|/,$_);
if($num eq $subject) { last; }
}

print <<EOF;
@head
<p>
<big>$sub</big><p>
EOF

opendir (DIR, "subject/$subject");
@files = grep { /.qa/ } readdir(DIR);
close (DIR);
#	Layout number 1
if($layout eq 1) {
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$subject/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	print "<li><a href=\"#$fid\">$q</a>\n";
	}
print "<p><br>\n";
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$subject/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	print "<a name=\"$fid\"></a> <b>$q</b> <br>$a<p>\n";
	}
}
#	Layout number 2
if($layout eq 2) {
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$subject/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	print "<b>$q</b><br>$a<p>\n";
	}
}

#	Layout number 3
if($layout eq 3) {
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$subject/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	print "<li><a href=\"/faqs/smartfaq.cgi?answer=$fid&id=$subject\">$q</a>\n";
	}
}
print <<EOF;
<br><br><center><a href=\"/faqs/smartfaq.cgi\">Back To FAQ</a></center><br>
@foot
<p><br><center><small>Script provided by <a href="http://www.smartcgis.com" target="_top">SmartCGIs.com</a></small></center>
EOF
exit;
}


sub search {

open(DATA,"subject.faq");
@subj = <DATA>;
close(DATA);
@key = split(/ /,$keywords);

print <<EOF;
@head
<big>Search results for <b>$keywords</b></big>:
<p>
EOF

foreach (@subj) {
chomp($_);
($id, $subject) = split(/\|/,$_);
opendir (DIR, "subject/$id");
@files = grep { /.qa/ } readdir(DIR);
close (DIR);
	foreach $file(@files) {
	$fid = $file;
	$fid =~ s/.qa//g;
	open(DATA,"subject/$id/$file");
	@content = <DATA>;
	close(DATA);
	$content = join('',@content);
	($q, $a) = split(/\|/,$content);
	if($match eq "all") {
		if((($q =~ /$key[0]/i)&&
		($q =~ /$key[1]/i)&&
		($q =~ /$key[2]/i)&&
		($q =~ /$key[3]/i)&&
		($q =~ /$key[4]/i)&&
		($q =~ /$key[5]/i)&&
		($q =~ /$key[6]/i)&&
		($q =~ /$key[7]/i)&&
		($q =~ /$key[8]/i)&&
		($q =~ /$key[9]/i))||
		(($a =~ /$key[0]/i)&&
		($a =~ /$key[1]/i)&&
		($a =~ /$key[2]/i)&&
		($a =~ /$key[3]/i)&&
		($a =~ /$key[4]/i)&&
		($a =~ /$key[5]/i)&&
		($a =~ /$key[6]/i)&&
		($a =~ /$key[7]/i)&&
		($a =~ /$key[8]/i)&&
		($a =~ /$key[9]/i))) {
			foreach $ky(@key) {
			$q =~ s/$ky/<b>$ky<\/b>/ig;
			}
		print "<li><a href=\"/faqs/smartfaq.cgi?subject=$id\">$subject</a> - <a href=\"/faqs/smartfaq.cgi?answer=$fid&id=$id\">$q</a></li>\n";
		$found = 1;
		}
	} else {
		if(($q =~ /$key[0]/i)||
		($q =~ /$key[1]/i)||
		($q =~ /$key[2]/i)||
		($q =~ /$key[3]/i)||
		($q =~ /$key[4]/i)||
		($q =~ /$key[5]/i)||
		($q =~ /$key[6]/i)||
		($q =~ /$key[7]/i)||
		($q =~ /$key[8]/i)||
		($q =~ /$key[9]/i)||
		($a =~ /$key[0]/i)||
		($a =~ /$key[1]/i)||
		($a =~ /$key[2]/i)||
		($a =~ /$key[3]/i)||
		($a =~ /$key[4]/i)||
		($a =~ /$key[5]/i)||
		($a =~ /$key[6]/i)||
		($a =~ /$key[7]/i)||
		($a =~ /$key[8]/i)||
		($a =~ /$key[9]/i)) {
			foreach $ky(@key) {
			$q =~ s/$ky/<b>$ky<\/b>/ig;
			}
		print "<li><a href=\"/faqs/smartfaq.cgi?subject=$id\">$subject</a> - <a href=\"/faqs/smartfaq.cgi?answer=$fid&id=$id\">$q</a></li>\n";
		$found = 1;
		}
	}
	}
}

if($found ne 1) { print "No results found.<p>"; }
print "<br><br><center><a href=\"/faqs/smartfaq.cgi\">Back To FAQ</a></center><br>@foot\n";

exit;
}

