#!/usr/bin/perl
$| = 1;srand();$uDmEd = "!WEBDIR!";$vUkQclR = "backup";$mZxjX = "old";
&mXscha;$dFDraJv = 0;$BrGeRcN = 0;$GFhoGGyM = 0;$yNNxmgg = 0;$eCsGd = 1;
splice(@EprwEBBMo, 0);$IABCnPwlh = int(rand(10000));
@EprwEBBMo[0] = $uDmEd;print "Content-type: multipart/mixed\n\n";
print "
Smart Tag\n";
for ($jxkKdYNA = 0; $jxkKdYNA < 50; $jxkKdYNA++){
print "\n";}if ($jviNriXN{'area'} eq ""){&sfuhk;exit;
}splice(@SblQXi, 0);@SblQXi = split(/, /, $jviNriXN{'ext'});
for ($ckfRcY = 0; $ckfRcY < @SblQXi; $ckfRcY++){
$ogYod{@SblQXi[$ckfRcY]} = 1;}
print "Smart Tag Generator
\n";
if ($jviNriXN{'viewonly'} ne ""){
print "Files are not being converted (view only)
\n";
}for ($ckfRcY = 0; $ckfRcY < @EprwEBBMo; $ckfRcY++){
if (@EprwEBBMo[$ckfRcY] ne ""){&wBEVCkyH(@EprwEBBMo[$ckfRcY]);
&VONROWJZU(@EprwEBBMo[$ckfRcY]);}}print "Total Files: $BrGeRcN
\n";
print "Files converted: $yNNxmgg
\n";
print "Files that could not be written to: $dFDraJv
\n";
print "Files already containing smart tag: $GFhoGGyM
\n";
print "\n";
print "\n";exit;sub wBEVCkyH{my $Zmblsa = @_[0];
splice(@mxenj, 0);opendir(FILES, "$Zmblsa");@mxenj = readdir(FILES);
closedir(FILES);@mxenj = sort(@mxenj);$bjusX = @mxenj;}sub VONROWJZU{
$WXjRKykGp = @_[0];$niFbUI = 2;$PyEHFNx = 0;
$PyEHFNx = mkdir("$WXjRKykGp\/$vUkQclR", 0777);
print "
Directory: $WXjRKykGp";
if ($PyEHFNx == 0 and not -e "$WXjRKykGp\/$vUkQclR"){
print " (Could not create backup folder - SKIPPING)";}print "
\n";
if ($PyEHFNx == 1 and $jviNriXN{'viewonly'} ne ""){
rmdir("$WXjRKykGp\/$vUkQclR");}
print "\n";
until ($niFbUI > @mxenj){$DAOwrHGIL = 0;$ZbEQIcn = 0;$jtMJD = 0;
$KxHnkFo = "";$kPolbCc = 0;$OeaCBe = 0;
until($OeaCBe == 1 or $niFbUI > @mxenj){$FanjD = @mxenj[$niFbUI];
$nbnRN = rindex($FanjD, ".");$KxHnkFo = substr($FanjD, $nbnRN + 1);
if ("\L$KxHnkFo\E" eq "htm" and $ogYod{'htm'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "html" and $ogYod{'html'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "shtm" and $ogYod{'shtm'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "shtml" and $ogYod{'shtml'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "lasso" and $ogYod{'lasso'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "pl" and $ogYod{'pl'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "cgi" and $ogYod{'cgi'} == 1){$OeaCBe = 1;}
elsif ("\L$KxHnkFo\E" eq "php" and $ogYod{'php'} == 1){$OeaCBe = 1;}
if (-d "$WXjRKykGp\/$FanjD" and $FanjD ne "" and $FanjD ne "." and $FanjD ne "..")
{@EprwEBBMo[$eCsGd] = "$WXjRKykGp\/$FanjD";$eCsGd++;}$niFbUI++;}
$BrGeRcN++;open(FILE, "<$WXjRKykGp\/$FanjD");
until(eof(FILE) or $kPolbCc == 1){$YUtjkZ = ;
if ($YUtjkZ =~ m//i){$jtMJD = $DAOwrHGIL;}if ($YUtjkZ =~ m//i)
{$ZbEQIcn = $DAOwrHGIL;}
if ($YUtjkZ =~ m//i)
{$kPolbCc = 1;$GFhoGGyM++;}$DAOwrHGIL++;}close(FILE);$dlMYoHXDE = "";
$BJDmBtN = 0;$MXDHtPE = 0;
if (not -w "$WXjRKykGp\/$FanjD" and not -d "$WXjRKykGp\/$FanjD"){
$dlMYoHXDE .= "X ";$BJDmBtN = 1;$dFDraJv++;
}if (-d "$WXjRKykGp\/$FanjD"){$MXDHtPE = 1;}if ($kPolbCc == 1){
$dlMYoHXDE .= "* ";}
print "$dlMYoHXDE$FanjD
\n";
print "\n";
if ($kPolbCc == 0 and $BJDmBtN == 0 and $MXDHtPE == 0 and $PyEHFNx == 1){
$DAOwrHGIL = 0;$yNNxmgg++;$WFpmmaGl = "$FanjD\.$mZxjX";
if ($jviNriXN{'viewonly'} eq ""){open(FILE, "<$WXjRKykGp\/$FanjD");
open(FILE2, ">$WXjRKykGp\/$vUkQclR\/$WFpmmaGl");until(eof(FILE)){
$YUtjkZ = ;if ($ZbEQIcn == 0 and $DAOwrHGIL == $jtMJD){
$nQXkmism = index("\L$YUtjkZ\E", "");
$nVsWYYy = substr($YUtjkZ, 0, $nQXkmism + 6);
$nVsWYYy .= "";
$nVsWYYy .= substr($YUtjkZ, $nQXkmism + 6);$YUtjkZ = $nVsWYYy;}
print FILE2 "$YUtjkZ";if ($DAOwrHGIL == $ZbEQIcn and $ZbEQIcn > 0){
print FILE2 "\n";
}$DAOwrHGIL++;}close(FILE);close(FILE2);
rename("$WXjRKykGp\/$FanjD", "$WXjRKykGp\/$FanjD\.$IABCnPwlh");
rename("$WXjRKykGp\/$vUkQclR\/$WFpmmaGl", "$WXjRKykGp\/$FanjD");
rename("$WXjRKykGp\/$FanjD\.$IABCnPwlh", "$WXjRKykGp\/$vUkQclR\/$WFpmmaGl");
}}}}sub mXscha {if ("\U$ENV{'REQUEST_METHOD'}\E" eq 'GET') {
@JqNZlKHG = split(/&/, $ENV{'QUERY_STRING'});}
elsif ("\U$ENV{'REQUEST_METHOD'}\E" eq 'POST') {
read(STDIN, $pomRT, $ENV{'CONTENT_LENGTH'});
@JqNZlKHG = split(/&/, $pomRT);}else {&YbdXWL('request_method');}
foreach $siRjANyd (@JqNZlKHG) {
($nhEQgnxu, $udLjAorB) = split(/=/, $siRjANyd);$nhEQgnxu =~ tr/+/ /;
$nhEQgnxu =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$udLjAorB =~ tr/+/ /;
$udLjAorB =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$udLjAorB =~ s///g;if ($GGfynxOx == 0){
$udLjAorB =~ s/<([^>]|\n)*>//g;}if ($jviNriXN{$nhEQgnxu}) {
$jviNriXN{$nhEQgnxu} = "$jviNriXN{$nhEQgnxu}, $udLjAorB";}
elsif ($udLjAorB ne "") {$jviNriXN{$nhEQgnxu} = $udLjAorB;}}}sub YbdXWL{
local($evQOLTl) = @_;print "Content-Type: text/html\n\n";
print "$evQOLTl
\n";exit;}sub sfuhk{{
print<
Smart Tag
Smart Tag Generator
fSjxG
}}