403Webshell
Server IP : 208.122.213.31  /  Your IP : 216.73.216.45
Web Server : Apache
System : Linux msd6191.mjhst.com 4.18.0-553.137.1.el8_10.x86_64 #1 SMP Wed Jun 24 11:40:24 UTC 2026 x86_64
User : WHMCS_MIA_382 ( 1001)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/httpd/html/lust-hero.net/public_html/cgi-bin/ucj/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/httpd/html/lust-hero.net/public_html/cgi-bin/ucj/newadmin.cgi
#!/usr/bin/perl
# CollapsedSubs: Password 

require "newconfigure.cgi";&configure;
require "cgi-lib.pl";

&SetVariables;

&ReadParse(*input);

$cucjpass=$input{'ucjpass'};
$cucjpass =~ tr/ a-zA-Z0-9//cd;

if ($cucjpass eq $ucjpass)
{
  if ($input{'submit'} eq 'Backup'){&Backup;}
  if ($input{'submit'} eq 'Settings'){&Settings;}
  if ($input{'submit'} eq 'Database'){&Database;}
  if ($input{'submit'} eq 'Restore Backup'){&RestoreBackup;}
  if ($input{'submit'} eq 'Restore Data'){&RestoreData;}
  if ($input{'submit'} eq 'Delete Backup'){&DeleteBackup;}

  if ($input{'submit'} eq 'Reset Stats'){&ResetStats;}
  if ($input{'submit'} eq 'Outgoing Settings'){&OutgoingSettings;}
  if ($input{'submit'} eq 'Auto Signup'){&Settings2;}
  if ($input{'submit'} eq 'Blacklist'){&BlackList;}
  if ($input{'submit'} eq 'Add Domain'){&AddDomain;}
  if ($input{'submit'} eq 'Delete Domain'){&DeleteDomain;}

  if ($input{'submit'} eq 'Events'){&Events;}
  if ($input{'submit'} eq 'Refresh Events'){&Events;}
  if ($input{'submit'} eq 'Add Event'){&AddEvent;}
  if ($input{'submit'} eq 'Update Event'){&UpdateEvent;}
  if ($input{'submit'} eq 'Delete Event'){&DeleteEvent;}

  if ($input{'submit'} eq 'Permanent'){&Permanent;}
  if ($input{'submit'} eq 'Add Permanent'){&AddPermanent;}
  if ($input{'submit'} eq 'Update Permanent'){&UpdatePermanent;}
  if ($input{'submit'} eq 'Group List'){&Permanent;}
  if ($input{'submit'} eq 'Add Group'){&AddGroup;}
  if ($input{'submit'} eq 'Delete Group'){&DeleteGroup;}
  if ($input{'submit'} eq 'Edit Group'){&EditGroup;}

  if ($input{'submit'} eq 'Rules'){&Rules;}
  if ($input{'submit'} eq 'Add Rule'){&AddRule;}
  if ($input{'submit'} eq 'Delete Rule'){&DeleteRule;}
  if ($input{'submit'} eq 'Add Row'){&AddRow;}
  if ($input{'submit'} eq 'Delete Row'){&DeleteRow;}
  if ($input{'submit'} eq 'Update Settings'){&UpdateSettings;}
  if ($input{'submit'} eq 'Update Auto Signup'){&UpdateSettings2;}
  if ($input{'submit'} eq 'Change'){&Change;}
  if ($input{'edit'} eq "addnewuser") {&EditUser;}
  if ($input{'edit'} ne '') {&EditUser;}
  if ($input{'editevent'} ne '') {&EditEvent;}
  if ($input{'showref'} ne '') {&ShowRef;}
  if ($input{'submit'} eq 'Reset User'){&ResetUser;&MemberPage;}
  if ($input{'submit'} eq 'Delete User'){&DeleteUser;&MemberPage;}
  if ($input{'submit'} eq 'Blacklist User'){&BlacklistUser;&MemberPage;}
  if ($input{'submit'} eq 'Delete New'){&DeleteNewUser;&NewMemberPage;}
  if ($input{'submit'} eq 'Blacklist New'){&BlacklistNewUser;&NewMemberPage;}
  if ($input{'submit'} eq 'Add New'){&AddNewUser;&NewMemberPage;}
  if ($input{'submit'} eq 'Update User'){&UpdateUser;}
  if ($input{'submit'} eq 'Link Report'){&LinkReport;}
  if ($input{'submit'} eq 'Referrers'){&Referrers;}
  if ($input{'submit'} eq 'Process Referrers'){&ProcessReferrers;}
  if ($input{'submit'} eq 'Hourly Stats'){&HourlyStats;}
  if ($input{'submit'} eq 'Daily Stats'){&DailyStats;}
  if ($input{'submit'} eq 'Outgoing'){&OutgoingPage;}
  if ($input{'submit'} eq 'Members'){&MemberPage;}
  if ($input{'submit'} eq 'New Members'){&NewMemberPage;}
}
if ($input{'pass'} eq $ucjpass){&OutgoingPage;}

&Password;

sub SetVariables{
  $ucjlog = "$ucjpath/logfiles";
  $ucjdata = "$ucjpath/data";
  $ucjback = "$ucjpath/backup";
  $ucjperm = "$ucjpath/perm";
  $ucjversion = '4.0.0';
  $maxoutgoing = 20;

  $servertime=`$date '+%H:%M:%S'`;
  ($hday,$mday,$sday) = split /\:/,$servertime;

  $hcell{$hday+1}=" bgcolor=red";
  print "Content-type: text/html\n\n";

  $mbutton='<input type="submit" name="submit" value=';
  $scell='<td><font face=Verdana size=0>';
  $ecell='</td>';
  $mcell="$ecell$scell";
}

sub Password{
  print '<HTML><HEAD><TITLE>Lust-Hero Admin Enter</TITLE></HEAD>';
  print '<BODY bgColor=#000000><FORM method=post><center>';
  print '<FONT SIZE=3 FACE=Verdana color=white>ENTER PASSWORD<BR><INPUT NAME="pass" TYPE="text" SIZE="15" VALUE=""><br>';
  print '<input type="submit" name="submit" value="Enter">';
  print '</center>';

}

sub PrintPass { print "<INPUT TYPE=\"hidden\" NAME=\"ucjpass\" VALUE=\"$ucjpass\">"; }

sub MainTableHeader{
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print "<tr align=center><td colspan=12><h1 style=\"font-size : 14px;         margin-bottom : 0px; margin-top : 0px;\">$title<br>Local Server Time: $servertime</h1></td><td rowspan=2><A href=tadmin.cgi target=new>TOP</A></td></tr>";
  print '<tr align=center><td colspan=12>';
  &MainButtons;
  print '</td></tr>';

  $sorting{$input{'sort'}}=' CHECKED';
  $filter{$input{'filter'}}=' CHECKED';

  print <<"EOh";
<tr align=center><td><table><tr><td><font face=Verdana size=0>
 <INPUT TYPE=radio NAME=filter VALUE=all$filter{'all'}>All<br>
 <INPUT TYPE=radio NAME=filter VALUE=active$filter{'active'}>Active<br>
 <INPUT TYPE=radio NAME=filter VALUE=dead$filter{'dead'}>Dead<br>
 <INPUT TYPE=radio NAME=filter VALUE=good$filter{'good'}>Good</td></td></tr></table>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=site$sorting{'site'}>Site</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=in_page$sorting{'in_page'}>Paga</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=prs$sorting{'prs'}>\%</TD>
<td><font face=Verdana size=0>Tr</TD>
<td><font face=Verdana size=0>Hourly<br>
<table><tr><td><font face=Verdana size=0>
<INPUT TYPE=radio NAME=sort VALUE=hin$sorting{'hin'}>In<br>
<INPUT TYPE=radio NAME=sort VALUE=hout$sorting{'hout'}>Out<br>
<INPUT TYPE=radio NAME=sort VALUE=hclicks$sorting{'hclicks'}>Clicks</td></tr></table></td>
<td><font face=Verdana size=0>Daily<br>
<table><tr><td><font face=Verdana size=0>
<INPUT TYPE=radio NAME=sort VALUE=din$sorting{'din'}>In<br>
<INPUT TYPE=radio NAME=sort VALUE=dout$sorting{'dout'}>Out<br>
<INPUT TYPE=radio NAME=sort VALUE=dclicks$sorting{'dclicks'}>Clicks</td></tr></table></td>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=min$sorting{'min'}>Min</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=set$sorting{'set'}>S</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=ratio$sorting{'ratio'}>Rat</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=trafficp$sorting{'trafficp'}>Traffic</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=tradep$sorting{'tradep'}>Trade</TD>
<td><font face=Verdana size=0><INPUT TYPE=radio NAME=sort VALUE=cookie$sorting{'cookie'}>Cookie</TD>
EOh
}

sub FilterRow {
   $percent="<br><b><font color=black size=3>$ycounter</b>";

  if ($newmember{$domain} ne 'y') {
    if ($input{'filter'} eq 'dead') {
      if ($tdayin{$domain} < 50) {
        &MainRow;
      }
    } elsif ($input{'filter'} eq 'active') {
      if ($tdayin{$domain} > 49) {
        &MainRow;
      }
    }
    elsif ($input{'filter'} eq 'good') {
      if ($tdayin{$domain} > $good_count) {
        &MainRow;
      }
    }else {
      &MainRow;
    }
  }
}

sub MainRow{
  if ($light{$domain} eq 'y') {print "<tr bgcolor=#FFFFFF align=center>$scell"}
  else {print "<tr align=center>$scell"};
  if ($newmember{$domain} ne 'y') {
    print "<input type=checkbox name=select-$domain value=$domain>";
    print " <a href=\"javascript:void(0);\" onClick=\"edit('$domain'); return true\">Edit</a> ";
  }

  print "$percent$mcell<a href=\"$url{$domain}\" target=_blank>$domain</A>";
  if ($showsitename{$domain} eq 'y') { print "<br>$sitename{$domain}"; }
  print "$mcell$in_page{$domain}";
  print "$mcell$prs{$domain}";

  if ($tradetype{$domain} eq "c"){print "$mcell C";}
  elsif ($tradetype{$domain} eq "r"){print "$mcell R";}
    else {print "$mcell N";}

  print "$mcell$chourin{$domain}<br>$chourout{$domain}<br>$ccookie{$domain}";
  print "$mcell$tdayin{$domain}<br>$tdayout{$domain}<br>$tdaycook{$domain}";
  print "$mcell$mintrade{$domain}";
  print "$mcell$setratio{$domain}";
  print "$mcell$dayratio{$domain}";

  print "$mcell$tprod{$domain}";
  print "$mcell$trprod{$domain}";

  $cratioout=sprintf("%.2f",$cookieratio{$domain});
  print "$mcell$cratioout$ecell</tr>\n";

  $ycounter++;
}

sub NMainRow{
  print "<tr align=center>$scell";
  print "<table cellspacing=0 cellpadding=0 border=0><tr align=center><td><input type=checkbox name=select-$domain value=$domain>";

  print "$percent$mcell$dateadded{$domain}</td></tr></table>";

  print "$mcell<a href=\"$url{$domain}\" target=_blank>$domain</A>";
  print "<br>$sitename{$domain}<br>$email{$domain}";


  print "$mcell$in_page{$domain}";
  print "$mcell$prs{$domain}";

  if ($tradetype{$domain} eq "c"){print "$mcell Capped";}
  elsif ($tradetype{$domain} eq "r"){print "$mcell Ratio";}
    else {print "$mcell Normal";}

  print "$mcell$chourin{$domain}<br>$chourout{$domain}<br>$ccookie{$domain}";
  print "$mcell$tdayin{$domain}<br>$tdayout{$domain}<br>$tdaycook{$domain}";
  print "$mcell$mintrade{$domain}";
  print "$mcell$setratio{$domain}";
  print "$mcell$dayratio{$domain}";

  print "$mcell$tprod{$domain}";
  print "$mcell$trprod{$domain}";

  $cratioout=sprintf("%.2f",$cookieratio{$domain});

  print "$mcell$cratioout$ecell</tr>\n";
  $ycounter++;
}

sub MainButtons {
  print <<"EOh";
<table border=0><tr align=center><td>
$mbutton"Hourly Stats">$mbutton"Daily Stats">$mbutton"Link Report">$mbutton"Referrers">
</td><td>$mbutton"Events"></td>
</td><td>$mbutton"Settings"></td>
</tr><tr align=center><td>
$mbutton"Outgoing">$mbutton"Members">$mbutton"New Members"> $mbutton"Permanent"></td>
<td align=right>$mbutton"Blacklist"></td>
<td align=right>$mbutton"Backup"></td>
</tr></table>
EOh
}

sub MainHeader{
  print '<HTML><HEAD><TITLE>Lust Hero Admin</TITLE></HEAD>';
  print '<BODY bgColor='.$bgcolor.' text='.$tcolor.' link='.$link.' alink='.$alink.' vlink='.$vlink.'><FORM method=post><CENTER>';

  print '<SCRIPT LANGUAGE="JavaScript">';
  print 'function edit(id) {';
  print "newwindow=window.open(\"newadmin.cgi?edit=\"+id+\"&ucjpass=$ucjpass\",\"edit\",\"toolbar=no,menubar=no,location=no,scrollbars=no,width=420,height=400\");}";
  print '</SCRIPT>';
  if ($lastcommand) { print "$lastcommand"; }
  print '<FONT SIZE=0 FACE=Verdana>';
}

sub NewMemberPage{
  &MainHeader;
  print '<form method="POST">';
  &PrintPass;
  $title="New Members Awaiting Review";
  $newmemberspage=true;
  &MainTableHeader;
  &ReadNewMembers;
  &ReadMembers;
  $ycounter=1;
  foreach $domain (sort keys %url) {
    if ($newmember{$domain} eq 'y') {
      $percent="<br><b><font color=black size=3>$ycounter</b>";
      &NMainRow;
    }
  }
  $mainfbuttons="$mbutton\"Add New\">$mbutton\"Delete New\">$mbutton\"Blacklist New\">";
  &MainFooter;
  exit;
}

sub MemberPage{
  &MainHeader;
  print '<form method="POST">';
  &PrintPass;
  if ($input{'filter'} eq '') { $input{'filter'}='all'; }
  $title="Complete Members List ($input{'filter'})";
  &MainTableHeader;

  &ReadNewMembers;
  &ReadMembers;

  $ycounter=1;
  if($input{'sort'} eq 'site') { foreach $domain (sort keys %url) { &FilterRow; } }
  elsif ($input{'sort'} eq 'tradep') { foreach $domain (sort { $trprod{$b} <=> $trprod{$a} } keys %trprod) { &FilterRow; } }
  elsif ($input{'sort'} eq 'trafficp') { foreach $domain (sort { $tprod{$b} <=> $tprod{$a} } keys %tprod) { &FilterRow; } }
  elsif ($input{'sort'} eq 'hin') { foreach $domain (sort { $chourin{$b} <=> $chourin{$a} } keys %chourin) { &FilterRow; } }
  elsif ($input{'sort'} eq 'hout') { foreach $domain (sort { $chourout{$b} <=> $chourout{$a} } keys %chourout) { &FilterRow; } }
  elsif ($input{'sort'} eq 'hclicks') { foreach $domain (sort { $ccookie{$b} <=> $ccookie{$a} } keys %ccookie) { &FilterRow; } }
  elsif ($input{'sort'} eq 'din') { foreach $domain (sort { $tdayin{$b} <=> $tdayin{$a} } keys %tdayin) { &FilterRow; } }
  elsif ($input{'sort'} eq 'dout') { foreach $domain (sort { $tdayout{$b} <=> $tdayout{$a} } keys %tdayout) { &FilterRow; } }
  elsif ($input{'sort'} eq 'dclicks') { foreach $domain (sort { $tdaycook{$b} <=> $tdaycook{$a} } keys %tdaycook) { &FilterRow; } }

  elsif ($input{'sort'} eq 'nick') { foreach $domain (sort {$icqnick{$a} cmp $icqnick{$b}} keys %icqnick) { &FilterRow; } }
  elsif ($input{'sort'} eq 'trade') { foreach $domain (sort { $tradetype{$b} cmp $tradetype{$a} } keys %tradetype) { &FilterRow; } }
  elsif ($input{'sort'} eq 'min') { foreach $domain (sort { $mintrade{$b} <=> $mintrade{$a} } keys %mintrade) { &FilterRow; } }
  elsif ($input{'sort'} eq 'set') { foreach $domain (sort { $setratio{$b} <=> $setratio{$a} } keys %setratio) { &FilterRow; } }
  elsif ($input{'sort'} eq 'ratio') { foreach $domain (sort { $dayratio{$b} <=> $dayratio{$a} } keys %dayratio) { &FilterRow; } }
  elsif ($input{'sort'} eq 'cookie') { foreach $domain (sort { $cookieratio{$b} <=> $cookieratio{$a} } keys %cookieratio) { &FilterRow; } }
  elsif ($input{'sort'} eq 'in_page') { foreach $domain (sort { $in_page{$b} cmp $in_page{$a} } keys %in_page) { &FilterRow; } }
  elsif ($input{'sort'} eq 'prs') { foreach $domain (sort { $prs{$b} <=> $prs{$a} } keys %prs) { &FilterRow; } }

  else { foreach $domain (sort keys %url) { &FilterRow; } }

  $mainfbuttons="<table border=0><tr align=center><td><input type=button value=\"Add User\" onClick=\"edit('addnewuser'); return true\"></td><td>$mbutton\"Delete User\"></td></tr><tr align=center><td>$mbutton\"Reset User\"></td><td>$mbutton\"Blacklist User\"></td></tr></table>";
  &MainFooter;
  exit;
}

sub MainFooter{
  print "<tr align=center><td colspan=3>$mainfbuttons";
  print "</td><td><font size=2 face=Verdana><B>Totals";
  print "</td><td colspan=2><font size=0 face=Verdana>In<br>(With Referrer)<br>(No Referrer)<br><br><br>(Total)";
  $chourinwref=$totalhrin-$chourin{'noref'};
  $tdayinwref=$totaldayin-$tdayin{'noref'};
  print "$mcell Hour<br>$chourinwref<br>$chourin{'noref'}<br><br><br>$totalhrin";
  print "$mcell Day<br>$tdayinwref<br>$tdayin{'noref'}<br><br><br>$totaldayin";
  print "</td><td colspan=2><font size=0 face=Verdana>Out<br>(With Referrer)<br>(No Referrer)<br>(No Cookie)<br>(Extras)<br>(Total)";
  $ccookieinwref=$totalhrcook-$ccookie{'noref'}-$ccookie{'nocookie'};
  $tdaycookwref=$totaldaycook-$tdaycook{'noref'}-$tdaycook{'nocookie'};
  $extrahour=$totalhrout-$totalhrcook;
  $extraday=$totaldayout-$totaldaycook;
  print "$mcell Hour<br>$ccookieinwref<br>$ccookie{'noref'}<br>$ccookie{'nocookie'}<br>$extrahour<br>$totalhrout";
  print "$mcell Day<br>$tdaycookwref<br>$tdaycook{'noref'}<br>$tdaycook{'nocookie'}<br>$extraday<br>$totaldayout";
  print "</td></tr>";

  print "<tr align=center><td colspan=12>";
  &MainButtons;
  print '</td></tr></table></form></body></html>';
}

sub OutgoingPage{
  &MainHeader;
  print '<form method="POST">';
  &PrintPass;
  $title="Sites Currently in the Outgoing List";
  &MainTableHeader;

  &ReadNewMembers;
  &ReadMembers;

  chomp(@cj5=`cat $ucjdata/ucjc`);
  foreach $cj5 (@cj5) {
    ($domain,$dummy,$newpercent) = split /\|/,$cj5;

   $cpercent=sprintf("%.2f",$newpercent-$lastpercent);
   $percent="<br><b><font color=black size=3>$cpercent</b>";
   $lastpercent=$newpercent;
   &MainRow;
  }
  $mainfbuttons="<table border=0><tr align=center><td><input type=button value=\"Add User\" onClick=\"edit('addnewuser'); return true\"></td><td>$mbutton\"Delete User\"></td></tr><tr align=center><td>$mbutton\"Reset User\"></td><td>$mbutton\"Blacklist User\"></td></tr></table>";
  &MainFooter;
  exit;
}

sub ResetLinks {
  unlink("$ucjdata/ucjlinks");
}

sub DailyRow {
  print "<tr align=center>$scell$domain";
  print "$mcell$chourin{$domain}<br>$chourout{$domain}<br>$ccookie{$domain}";
  print "$mcell$tdayin{$domain}<br>$tdayout{$domain}<br>$tdaycook{$domain}$ecell";
  for ($j=1;$j<=$#dayin;$j++) {
    print "<td$hcell{$j}><font face=verdana size=0>$dayin[$j]<br>$dayout[$j]<br>$daycout[$j]$ecell";
  }
  print "</tr>";
}

sub DailyStats {
  &ReadMembers;
  chomp(@ucjdayin=`sort $ucjdata/ucjdayin`);
  chomp(@ucjdayout=`sort $ucjdata/ucjdayout`);
  chomp(@ucjdaycookie=`sort $ucjdata/ucjdaycookie`);
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Daily Stats</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';
  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print "<tr align=center><td colspan=27><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Daily Stats ($input{'filter'})<br>Local Server Time: $servertime</h1></td></tr>";
  print '<tr align=center><td colspan=27>';
  &MainButtons;
  print "</td></tr><tr align=center>$scell Domain<br>";
  $filter{$input{'filter'}}=' CHECKED';
  print "<INPUT TYPE=radio NAME=filter VALUE=all$filter{'all'}>All<INPUT TYPE=radio NAME=filter VALUE=active$filter{'active'}>Active<INPUT TYPE=radio NAME=filter VALUE=dead$filter{'dead'}>Dead";
  print "$mcell Hourly$mcell Daily$ecell";

  for ($j=0;$j<=23;$j++) {
    print "$scell$j$ecell";
  }
  print "</tr>";

  for ($i=0;$i<=$#ucjdayin;$i++) {
    (@dayin) = split /\|/,$ucjdayin[$i];
    (@dayout) = split /\|/,$ucjdayout[$i];
    (@daycout) = split /\|/,$ucjdaycookie[$i];
    $domain=$dayin[0];
    for ($j=1;$j<=$#dayin;$j++) {
      $tdayin[$j] += $dayin[$j];
      $tdayout[$j] += $dayout[$j];
      $tdaycout[$j] += $daycout[$j];
    }
    if ($input{'filter'} eq 'dead') {
      if ($tdayin{$domain} < 50) { &DailyRow; }
    } elsif ($input{'filter'} eq 'active') {
      if ($tdayin{$domain} > 49) { &DailyRow; }
    } else {
      &DailyRow;
    }
  }


  print "<tr align=center>$scell Totals";
  print "$mcell$totalhrin<br>$totalhrout<br>$totalhrcook";
  print "$mcell$totaldayin<br>$totaldayout<br>$totaldaycook$ecell";

  for ($j=1;$j<=$#dayin;$j++) {
    print "<td$hcell{$j}><font face=verdana size=0>$tdayin[$j]<br>$tdayout[$j]<br>$tdaycout[$j]$ecell";
  }
  print '</tr><tr align=center><td colspan=27>';
  &MainButtons;
  print '</td></tr></table></form></center></body></html>';
  exit;
}

sub HourlyRow {
  print "<tr align=center>$scell$domain";
  print "$mcell$chourin{$domain}<br>$chourout{$domain}<br>$ccookie{$domain}";
  print "$mcell$tdayin{$domain}<br>$tdayout{$domain}<br>$tdaycook{$domain}$ecell";
  for ($j=1;$j<=$#hourin;$j++) {
    print "$scell$hourin[$j]<br>$hourout[$j]<br>$hourcout[$j]$ecell";
  }
  print "</tr>";
}

sub HourlyStats {
  &ReadMembers;
  chomp(@ucjhourin=`sort $ucjdata/ucjhourin`);
  chomp(@ucjhourout=`sort $ucjdata/ucjhourout`);
  chomp(@ucjhourcookie=`sort $ucjdata/ucjhourcookie`);
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Hourly Stats</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print "<tr align=center><td colspan=33><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Hourly Stats ($input{'filter'})<br>Local Server Time: $servertime</h1></td></tr>";
  print '<tr align=center><td colspan=33>';
  &MainButtons;
  print '</td></tr>';

  print "<tr align=center>$scell Domain<br>";
  $filter{$input{'filter'}}=' CHECKED';
  print "<INPUT TYPE=radio NAME=filter VALUE=all$filter{'all'}>All<INPUT TYPE=radio NAME=filter VALUE=active$filter{'active'}>Active<INPUT TYPE=radio NAME=filter VALUE=dead$filter{'dead'}>Dead";
  print "$mcell Hourly$mcell Daily$ecell";
  for ($j=1;$j<=30;$j++) {
    $hourc = 62 - $j*2;
    print "$scell$hourc$ecell";
  }
  print "</tr>";

  for ($i=0;$i<=$#ucjhourin;$i++) {
    (@hourin) = split /\|/,$ucjhourin[$i];
    (@hourout) = split /\|/,$ucjhourout[$i];
    (@hourcout) = split /\|/,$ucjhourcookie[$i];
    $domain=$hourin[0];

    if ($input{'filter'} eq 'dead') {
      if ($tdayin{$domain} < 50) { &HourlyRow; }
    } elsif ($input{'filter'} eq 'active') {
      if ($tdayin{$domain} > 49) { &HourlyRow; }
    } else {
      &HourlyRow;
    }

    for ($j=1;$j<=$#hourin;$j++) {
      $thourin[$j] += $hourin[$j];
      $thourout[$j] += $hourout[$j];
      $thourcout[$j] += $hourcout[$j];
    }
  }

  print "<tr align=center>$scell Totals";
  print "$mcell$totalhrin<br>$totalhrout<br>$totalhrcook";
  print "$mcell$totaldayin<br>$totaldayout<br>$totaldaycook$ecell";

  for ($j=1;$j<=$#hourin;$j++) {
    print "$scell$thourin[$j]<br>$thourout[$j]<br>$thourcout[$j]$ecell";
  }

  print '</tr><tr align=center><td colspan=33>';
  &MainButtons;
  print '</td></tr></table></form></center></body></html>';
  exit;
}


sub ProcessReferrers {
  chomp(@allref=`cat $ucjlog/ucjin.* | $awk -F\\\| '{print \$1}' | sort | uniq -c`);

  open (REF,">$ucjdata/ucjreferrers");

  foreach $ref (@allref) {
    print REF "$ref\n";
  }

  close (REF);

  &Referrers;
}


sub Referrers {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Link Report</TITLE>';
  print '<SCRIPT LANGUAGE="JavaScript">';
  print 'function ref(id) {';
  print "newwindow=window.open(\"newadmin.cgi?showref=\"+id+\"&ucjpass=$ucjpass\",\"_blank\",\"toolbar=no,menubar=no,location=no,scrollbars=yes,width=420,height=330\");}";
  print '</SCRIPT></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';
  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print "<tr align=center><td><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Referrers<br>Local Server Time: $servertime</h1></td></tr>";
  print '<tr align=center><td>';
  &MainButtons;
  print '</td></tr>';
  print '<tr align=center><td><font face=Verdana size=0 color=white><br>';

  chomp(@allref=`cat $ucjdata/ucjreferrers`);

  foreach $ref (@allref) {

    ($count,$url) = split ' ',$ref;

    $urlb=$url;

    $url=~(s/http:\/\///g);

    if ($url ne $urlb) {
      $url=~(s/www\.//g);
      ($domain) = split /\//,$url;
      ($domain) = split /\:/,$domain;
      ($domain) = split /\?/,$domain;
      $refcount{$domain} += $count;
    }
  }

  print "<table><tr><td><font face=Verdana size=0>";

  foreach $domain (sort { $refcount{$b} <=> $refcount{$a} } keys %refcount) {
    print "$refcount{$domain} - <a href=\"javascript:void(0);\" onClick=\"ref('$domain'); return true\">$domain</a><br>";
  }

  print "</td><td><font face=Verdana size=0>";

  foreach $domain (sort keys %refcount) {
    print "$refcount{$domain} - <a href=\"javascript:void(0);\" onClick=\"ref('$domain'); return true\">$domain</a><br>";
  }

  print "</td></tr></table>";

  print "<p>$mbutton\"Process Referrers\"><br><br>";

  print '</tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';

  print '</form></center></body></html>';
  exit;
}


sub ShowRef {
  &ReadMembers;

  $rdomain=$input{'showref'};

  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Show Referrers</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00>';
  print "<font face=Verdana size=2>";

  $raw=`cat $ucjlog/ucjin.* | grep $rdomain | $awk -F\\\| '{print ""}' | sort | uniq -c`;
  $uniques=`cat $ucjlog/ucjin.* | grep $rdomain | $awk -F\\\| '{print \$2 "|"}' | sort | uniq -c | $awk -F\\\| '{print \$2}' | uniq -c`;

  $rawout=`cat $ucjlog/ucjout.* | grep $rdomain | $awk -F\\\| '{print \$3 "|" \$4}' | grep $rdomain | $awk -F\\\| '{print ""}' | sort | uniq -c`;
  $uniquesout=`cat $ucjlog/ucjout.* | grep $rdomain | $awk -F\\\| '{print \$3 "|" \$4}' | grep $rdomain | $awk -F\\\| '{print \$2 "|"}' | sort | uniq -c | $awk -F\\\| '{print \$2}' | uniq -c`;


  if ($raw == 0) {$pc = 0} else { $pc=sprintf("%.2f",$uniques/$raw*100); }
  if ($rawout == 0) {$pcout = 0} else { $pcout=sprintf("%.2f",$uniquesout/$rawout*100); }
  print "<p>Incoming from $rdomain<br>Raw:$raw Uniques:$uniques Percent:$pc";
  print "<p>Outgoing generated by $rdomain<br>Raw:$rawout Uniques:$uniquesout Percent:$pcout<p>Referring URL<br><font size=0>";
  chomp(@allref=`cat $ucjdata/ucjreferrers`);

  foreach $ref (@allref) {

    ($count,$url) = split ' ',$ref;

    $urlb=$url;

    $url=~(s/http:\/\///g);

    if ($url ne $urlb) {
      $url=~(s/www\.//g);
      ($domain) = split /\//,$url;
      ($domain) = split /\:/,$domain;
      ($domain) = split /\?/,$domain;
      $refcount{$domain} += $count;
    }

    if ($domain eq $rdomain) {
      $srcount{$urlb}=$count;
    }
  }

  foreach $url (sort { $srcount{$b} <=> $srcount{$a} } keys %srcount) {
    print "$srcount{$url} - $url<br>\n";
  }

  print "<p><font size=2>Most Popular Links<br>";
  chomp(@Links=`cat $ucjlog/ucjout.* | grep $rdomain | $awk -F\\\| '{print \$2 "|" \$3}' | grep $rdomain | $awk -F\\\| '{print \$1}' | sort | uniq -c | sort -n -r | head -20`);

  foreach $link (@Links) {
    print "$link<br>";
  }

  print "<p><font size=2>Incoming Repetitive IP's<br>";

  print "<table>";
  chomp(@IP=`cat $ucjlog/ucjin.* | grep $rdomain | $awk -F\\\| '{print \$2}' | sort | uniq -c | sort -n -r | head -20`);
  print "<tr>$scell";
  foreach $IP (@IP) {
    print "$IP<br>";
  }

  print "$mcell";
  chomp(@IP=`cat $ucjlog/ucjin.* | grep $rdomain | $awk -F\\\| '{print \$3}' | sort | uniq -c | sort -n -r | head -20`);
  foreach $IP (@IP) {
    print "$IP<br>";
  }
  print "</td></tr>";

  print "</table><br>Outgoing Repetitive IP's<br><table>";

  chomp(@IP=`cat $ucjlog/ucjout.* | grep $rdomain | $awk -F\\\| '{print \$3 "|" \$4}' | grep $rdomain | $awk -F\\\| '{print \$2}' | sort | uniq -c | sort -n -r | head -20`);
  print "<tr>$scell";
  foreach $IP (@IP) {
    print "$IP<br>";
  }

  print "$mcell";
  chomp(@IP=`cat $ucjlog/ucjout.* | grep $rdomain | $awk -F\\\| '{print \$3 "|" \$5}' | grep $rdomain | $awk -F\\\| '{print \$2}' | sort | uniq -c | sort -n -r | head -20`);
  foreach $IP (@IP) {
    print "$IP<br>";
  }
  print "</td></tr>";
  print "</table>";

  print '</font></BODY></HTML>';

  exit;
}


sub LinkReport {
  print '<HTML><HEAD><TITLE>Lust hero Admin: - Link Report</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';
  &PrintPass;
  chomp(@ucjlinks=`cat $ucjdata/ucjlinks`);

  &ReadMembers;

  chomp(@ucjdayin=`sort $ucjdata/ucjdayin`);
  for ($i=0;$i<=$#ucjdayin;$i++) {
    (@dayin) = split /\|/,$ucjdayin[$i];
    for ($j=1;$j<=$#dayin;$j++) {
      $tdayin[$j] += $dayin[$j];
    }
  }

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print "<tr align=center><td colspan=26><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Link Report<br>Local Server Time: $servertime</h1></td></tr>";
  print '<tr align=center><td colspan=26>';
  &MainButtons;
  print '</td></tr>';


  print "<tr align=center><td colspan=26><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Clicks</h1></td></tr>";
  print "<tr align=center>$scell Link$ecell$scell Totals$ecell";
  for ($j=0;$j<=23;$j++) {
    print "$scell$j$ecell";
  }
  print "</tr>";

  for ($i=0;$i<=$#ucjlinks;$i++) {
    (@linkin) = split /\|/,$ucjlinks[$i];
    $linkid=$linkin[0];

    for ($j=1;$j<=24;$j++) {$tlink{$linkid}+=$linkin[$j];}

    print "<tr align=center>$scell$linkid$ecell";
    print "$scell$tlink{$linkid}$ecell";

    for ($j=1;$j<=$#linkin;$j++) {
      print "<td$hcell{$j}><font face=verdana size=0>$linkin[$j]$ecell";
      $tlinkin[$j] += $linkin[$j];
    }
    print "</tr>";
  }

  $tlinkin=0;
  for ($j=1;$j<=24;$j++) {
    $tlinkin +=$tlinkin[$j];
    $tdayin +=$tdayin[$j];
  }

  print "<tr align=center>$scell Totals$ecell";
  print "$scell$tdayin<br>$tlinkin$ecell";

  for ($j=1;$j<=24;$j++) {
    print "<td$hcell{$j}><font face=verdana size=0>$tdayin[$j]<br>$tlinkin[$j]$ecell";
  }

  print "</tr><tr align=center><td colspan=26><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Percentages</h1></td></tr>";
  print "<tr align=center>$scell Link$ecell$scell Totals$ecell";
  for ($j=0;$j<=23;$j++) {
    print "$scell$j$ecell";
  }
  print "</tr>";

  for ($i=0;$i<=$#ucjlinks;$i++) {
    (@linkin) = split /\|/,$ucjlinks[$i];
    $linkid=$linkin[0];

    print "<tr align=center>$scell$linkid$ecell";
    if ($tdayin>0){ $pc=sprintf("%.1f",$tlink{$linkid}/$tdayin*100); } else { $pc=0;}
    print "$scell$pc$ecell";

    for ($j=1;$j<=$#linkin;$j++) {
      if ($tdayin[$j]>0){ $pc=sprintf("%.1f",$linkin[$j]/$tdayin[$j]*100); } else { $pc=0;}
      print "<td$hcell{$j}><font face=verdana size=0>$pc$ecell";
    }
    print "</tr>";
  }

  print "<tr align=center>$scell Totals$ecell";
  if ($tdayin>0){ $pc=sprintf("%.1f",$tlinkin/$tdayin*100); } else { $pc=0;}
  print "$scell$pc$ecell";

  for ($j=1;$j<=24;$j++) {
   if ($tdayin[$j]>0){ $pc=sprintf("%.1f",$tlinkin[$j]/$tdayin[$j]*100); } else { $pc=0;}
    print "<td$hcell{$j}><font face=verdana size=0>$pc$ecell";
  }

  print '</tr><tr align=center><td colspan=26>';
  &MainButtons;
  print '</td></tr></table>';

  print '</form></center></body></html>';
  exit;
}

sub Backup {
  chomp($ext=`$date '+%y%m%d-%H:%M:%S'`);

  `cp $ucjdata/ucjmembers1 $ucjback/ucjmembers1.$ext`;
  `cp $ucjdata/ucjmembers2 $ucjback/ucjmembers2.$ext`;

  &Database;
}

sub ReadSettings {
  @cjdistrib=`cat $ucjdata/ucjsettings`;
  chomp (@cjdistrib);
}


sub Settings{
  print '<HTML><HEAD><TITLE>Last Hero Admin: - Settings</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Settings</h1>';
  print '</td></tr><tr align=center><td>';

  print "<br>$mbutton\"Outgoing Settings\"><p>$mbutton\"Auto Signup\">$mbutton\"Rules\"><p>";

  print "$mbutton\"Database\"><p>";

  print "$mbutton\"Reset Stats\"><br><font color=red face=Verdana size=2><b>Warning! Pressing this buttons will erase all stats!<br>Members database will remain intact though.<p>";

  @mpages=`cat $ucjdata/ucjpages`;
  print "<font color=white>Number of main pages <input name=mpages type=text value=$mpages[0] size=2> $mbutton\"Change\"><p>";

  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit
}

sub Database{
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Database</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Database</h1>';
  print '</td></tr><tr align=center><td>';



  chomp(@backups=`ls $ucjback/ucjmembers1.* | sort -r`);

  print '<br><select name=backup size=8>';

  foreach $backup (@backups) {
     ($dummy,$ext) = split /ucjmembers1\./,$backup;
      print "<option>$ext</option>";
  }
  print '</select><p>';

  print "$mbutton\"Database\">$mbutton\"Restore Backup\">$mbutton\"Delete Backup\"><p>";

  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit
}



sub ReadRestoreData{
  $backup=$input{'backup'};
  &ReadMembers;

  foreach $domain (sort keys %url) {
    $sdomain{$domain}='y';
  }


  chomp(@rucjmems=`cat $ucjback/ucjmembers1.$backup`);
  for ($i=0;$i<=$#rucjmems;$i++) {
   ($domain) = split /\|/,$rucjmems[$i];
   ($domaint,$rurl{$domain},$rsetratio{$domain},$rtradetype{$domain},$rmintrade{$domain},$rin_page{$domain},$rprs{$domain}) = split /\|/,$rucjmems[$i];
  }

  chomp(@rucjmems=`cat $ucjback/ucjmembers2.$backup`);
  for ($i=0;$i<=$#rucjmems;$i++) {
   ($domain) = split /\|/,$rucjmems[$i];
   ($domaint,$rsitename{$domain},$remail{$domain},$ricqnick{$domain},$ricqnumber{$domain},$rwebmaster{$domain},$rshowsitename{$domain},$rdateadded{$domain},$rlight{$domain},$rdesc_long{$domain}) = split /\|/,$rucjmems[$i];
  }

  foreach $domain (sort keys %rurl) {
    $sdomain{$domain}='y';
  }
}


sub RestoreData{
  &ReadRestoreData;

  $i=0;
  foreach $domain (sort keys %sdomain) {
    $rdomain=$input{"select-$i"};
    if ($rdomain){
      $url{$rdomain}=$rurl{$rdomain};
      $setratio{$rdomain}=$rsetratio{$rdomain};
      $tradetype{$rdomain}=$rtradetype{$rdomain};
      $mintrade{$rdomain}=$rmintrade{$rdomain};
      $sitename{$rdomain}=$rsitename{$rdomain};
      $email{$rdomain}=$remail{$rdomain};
      $icqnick{$rdomain}=$ricqnick{$rdomain};
      $icqnumber{$rdomain}=$ricqnumber{$rdomain};
      $webmaster{$rdomain}=$rwebmaster{$rdomain};
      $showsitename{$rdomain}=$rshowsitename{$rdomain};
      $dateadded{$rdomain}=$rdateadded{$rdomain};
      $in_page{$domain}=$rin_page{$domain};
      $prs{$domain}=$rprs{$domain};
      $light{$domain}=$rlight{$domain};
      $desc_long{$domain}=$rdesc_long{$domain};
    }
    $i++;
  }
  &WriteMembers;
  &RestoreBackup;
}


sub RestoreBackup{
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Restore Backup</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Restore Backup</h1>';
  print '</td></tr><tr align=center><td>';


  &ReadRestoreData;

  print "<input type=hidden name=backup value=$backup>";
  print "<br><font face=Verdana size=3><b>Backup Time: $backup<p>";

  print "<table width=95% border=1 cellspacing=0 cellpadding=0>";
  print "<tr align=center><td><font face=Verdana size=2><b>Current Database</td><td><font face=Verdana size=2><b>Domain</td><td><font face=Verdana size=2><b>Saved Database</td></tr>";

  $i=0;
  foreach $domain (sort keys %sdomain) {
    print "<tr><td><font face=Verdana size=0>";
    if ($url{$domain}) {
      print "$url{$domain} $setratio{$domain} $tradetype{$domain} $mintrade{$domain} $in_page{$domain} $prs{$domain}";
      print "$sitename{$domain} $email{$domain} $icqnick{$domain} $icqnumber{$domain} $webmaster{$domain} $showsitename{$domain} $dateadded{$domain} $light{$domain}";
    };
    print "</td><td><font face=Verdana size=0>";
    print "<input type=checkbox name=select-$i value=$domain>$domain";
    print "</td><td><font face=Verdana size=0>";
    if ($rurl{$domain}){
      print "$rurl{$domain} $rsetratio{$domain} $rtradetype{$domain} $rmintrade{$domain}  $rin_page{$domain} $rprs{$domain}";
      print "$rsitename{$domain} $remail{$domain} $ricqnick{$domain} $ricqnumber{$domain} $rwebmaster{$domain} $rshowsitename{$domain} $rdateadded{$domain} $rlight{$domain}";
    };
    print "</td></tr>";
    $i++;
  }
  print "</table><p>";

  print "$mbutton\"Database\"> $mbutton\"Restore Data\"><p>";

  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit
}



sub DeleteBackup {
  $backup=$input{"backup"};
  unlink("$ucjback/ucjmembers1.$backup");
  unlink("$ucjback/ucjmembers2.$backup");
  &Database;
}

sub ResetStats{
  `touch $ucjdata/ucjcreset`;
  &Database;
}

sub OutgoingSettings {
  &ReadSettings;

  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Outgoing Settings</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Outgoing Settings</h1>';
  print '</td></tr><tr align=center><td>';

  foreach $cjdistrib (@cjdistrib) { $total+=$cjdistrib; }

  print '<br><TABLE BORDER="1" CELLSPACING="2">';
  $i=0;
  foreach $cjdistrib (@cjdistrib) {
    $c=$i+1;
    print "<tr align=center>$scell$c$ecell$scell";
    print "<INPUT NAME=\"dist$i\" TYPE=\"text\" SIZE=\"3\" MAXLENGTH=\"3\" VALUE=\"";
    print "$cjdistrib\">$ecell";

    $cjdistp = sprintf("%.2f",$cjdistrib/$total*100);

    print "$scell$cjdistp$ecell";
    print "</TR>";
    $i++;
  }
  print '</TABLE><p>';

  print '<input type="submit" name="submit" value="Update Settings">';
  print '<input type="submit" name="submit" value="Add Row">';
  print '<input type="submit" name="submit" value="Delete Row"><p>';
  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub UpdateSettings {
  open (SETTINGS,">$ucjdata/ucjsettings");

  for ($i=0;$i<$maxoutgoing;$i++) {
    $j=$input{"dist$i"};
    $j =~ tr/0-9//cd;
    if ($j) {print SETTINGS "$j\n";}
  }
  close (SETTINGS);
  &OutgoingSettings;
}

sub AddRow {
  &ReadSettings;
  if ($#cjdistrib+1<$maxoutgoing)
  {
    open (SETTINGS,">$ucjdata/ucjsettings");
    foreach $cjdistrib (@cjdistrib)
    {
      print SETTINGS "$cjdistrib\n";
    }
    print SETTINGS "1";
    close (SETTINGS);
  }
  &OutgoingSettings;
}

sub DeleteRow {
  &ReadSettings;
  if ($#cjdistrib>4)
  {
    $last = pop @cjdistrib;
    open (SETTINGS,">$ucjdata/ucjsettings");
    foreach $cjdistrib (@cjdistrib) {
      print SETTINGS "$cjdistrib\n";
    }
    close (SETTINGS);
  }
  &OutgoingSettings;
}

sub ReadSettings2 {
  if (stat("$ucjdata/ucjadminsettings")){
    chomp(@settings=`cat $ucjdata/ucjadminsettings`);
    $defaultratio = $settings[0];
    $maxsignups = $settings[1];
    $defaulttradetype = $settings[2];
    $autosignup = $settings[3];
  }
}

sub Settings2 {
  &ReadSettings2;

  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Auto Signup Settings</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Auto Signup Settings</h1>';
  print '</td></tr><tr align=center><td>';

  print '<br><TABLE BORDER=1 CELLSPACING=2>';

  print "<tr align=center>$scell Default<br>Ratio$ecell$scell";
  print '<INPUT NAME="defaultratio" TYPE="text" SIZE=4 MAXLENGTH=4 VALUE="';
  print "$defaultratio\">$ecell</TR>";

  print "<tr align=center>$scell Trade<br>Type$mcell";

  print "<SELECT NAME=defaulttradetype>";
  if ($defaulttradetype eq "c") {print '<OPTION VALUE=b>Normal<OPTION VALUE=c SELECTED>Capped</SELECT>';}
    else {print '<OPTION VALUE=b SELECTED>Normal<OPTION VALUE=c>Capped</SELECT>';}
  print "</td></tr>";


  print "<tr align=center>$scell Max<br>Signups$ecell$scell";
  print '<INPUT NAME="maxsignups" TYPE="text" SIZE="4" MAXLENGTH="4" VALUE="';
  print "$maxsignups\">$ecell</TR>";

  print "<tr align=center>$scell Auto<br>Signup$ecell$scell";

  print "<SELECT NAME=autosignup>";
  if ($autosignup eq "on") {print '<OPTION VALUE=on SELECTED>On<OPTION VALUE=off>Off</SELECT>';}
    else {print '<OPTION VALUE=on>On<OPTION VALUE=off SELECTED>Off</SELECT>';}
  print "</td></tr>";

  print '</TABLE><p>';

  print '<input type="submit" name="submit" value="Update Auto Signup"><p>';
  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub BlackList {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Blacklist</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Blacklist</h1>';
  print '</td></tr><tr align=center><td>';

  chomp(@blacklist=`cat $ucjdata/blacklist`);

  print "<br><table border=1 cellspacing=0 cellpadding=0>";
  $i=0;
  foreach $blacklist (@blacklist) {
    print "<tr align=center><td><input type=checkbox name=select-$i value=yes>";
    print "$mcell$blacklist<br>\n</td></tr>";
    $i++;
  }
  print "</table><p>";
  print '<INPUT NAME=blacklist TYPE=text SIZE=40 VALUE=""><p>';
  print "$mbutton\"Add Domain\">$mbutton\"Delete Domain\"><p>";


  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';

  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub AddDomain {
  $blacklist=$input{'blacklist'};
  open (BLACKLIST,">>$ucjdata/blacklist");
  print BLACKLIST "$blacklist\n";
  close (BLACKLIST);
  &BlackList;
}

sub DeleteDomain {
  chomp(@blacklist=`cat $ucjdata/blacklist`);
  open (BLACKLIST,">$ucjdata/blacklist");
  $i=0;
  foreach $blacklist (@blacklist) {
    if ($input{"select-$i"} ne "yes") {print BLACKLIST "$blacklist\n";}
    $i++;
  }
  close (BLACKLIST);
  &BlackList;
}

sub UpdateEvent {
  chomp(@events=`cat $ucjdata/ucjevents`);

  $editevent=$input{"eventrow"};
  ($edomain,$eurl,$starthour,$startmin,$endhour,$endmin,$ptraffic) = split /\|/,$events[$editevent];
  $starthour=$input{'starthour'};
  $startmin=$input{'startmin'};
  $endhour=$input{'endhour'};
  $endmin=$input{'endmin'};
  $ptraffic=$input{'ptraffic'};
  $events[$editevent]="$edomain|$eurl|$starthour|$startmin|$endhour|$endmin|$ptraffic";

  open (EVENTS,">$ucjdata/ucjevents");
  foreach $event (@events) {
    print EVENTS "$event\n";
  }
  close (EVENTS);

  print '<HTML><HEAD><TITLE>Event Database Updated</TITLE></HEAD>';

  print '<BODY bgColor=#C0C0C0>';

  print '<center><A HREF="#" onClick="window.close()";><font face=Verdana size=5 color=yellow>Event Database Updated<p>';
  print '<B>Close Window</B></A>';
  exit;
}

sub EditEvent {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Edit Event</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post>';

  &PrintPass;
  print '<div align=center><b><font size=4 face=Verdana color=yellow>Edit Event</b></font><p>';

  $editevent=$input{"editevent"};
  print "<input type=hidden name=eventrow value=$editevent>";
  chomp(@events=`cat $ucjdata/ucjevents`);

  ($edomain,$eurl,$starthour,$startmin,$endhour,$endmin,$ptraffic) = split /\|/,$events[$editevent];

  print "<font size=3 face=Verdana>$eurl</font><p>";
  print '<font face=Verdana size=0>';
  print '<center>Start Time<br>';

  print '<select name=starthour>';
  for ($i=0;$i<=23;$i++) {
    print "<option";
    if ($starthour == $i) {print " selected"; }
    print ">$i</option>";
  }
  print '</select>';
  print '<select name=startmin>';
  for ($i=0;$i<=59;$i++) {
    print "<option";
    if ($startmin == $i) {print " selected"; }
    print ">$i</option>";
  }
  print '</select><p>';

  print 'End Time<br>';
  print '<select name=endhour>';
  for ($i=0;$i<=23;$i++) {
    print "<option";
    if ($endhour == $i) {print " selected"; }
    print ">$i</option>";
  }
  print '</select>';
  print '<select name=endmin>';

  for ($i=0;$i<=59;$i++) {
    print "<option";
    if ($endmin == $i) {print " selected"; }
    print ">$i</option>";
  }
  print '</select><p>';
  print 'Percent Traffic<br>';
  print '<select name=ptraffic>';
  for ($i=1;$i<=50;$i++) {
    print "<option";
    if ($ptraffic == $i) {print " selected"; }
    print ">$i</option>";
  }
  print '</select>';

  print "<p>$mbutton\"Update Event\"><p>";

  print '</div></CENTER></FORM></BODY></HTML>';
  exit;
}

sub Events {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Events</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<SCRIPT LANGUAGE="JavaScript">';
  print 'function edit(id) {';
  print "newwindow=window.open(\"newadmin.cgi?editevent=\"+id+\"&ucjpass=$ucjpass\",\"edit\",\"toolbar=no,menubar=no,location=no,scrollbars=no,width=420,height=330\");}";
  print '</SCRIPT>';


  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print "<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Events<br>Local Server Time: $servertime</h1>";
  print '</td></tr><tr align=center><td>';

  $minday=$hday*60+$mday;

  chomp(@events=`cat $ucjdata/ucjevents`);
  print "<br><table border=1 cellspacing=0 cellpadding=0>";
  $i=0;
  foreach $event (@events) {
   ($edomain,$eurl,$starthour,$startmin,$endhour,$endmin,$ptraffic) = split /\|/,$event;
    $startmin=sprintf("%.2u",$startmin);
    $endmin=sprintf("%.2u",$endmin);

    $startminday=$starthour*60+$startmin;
    $endminday=$endhour*60+$endmin;
    $active="<font color=black><b>Inactive";
    if ((($minday > $startminday) and ($minday < $endminday)) or
         ((($minday > $startminday) or ($minday < $endminday)) and ($startminday > $endminday))) {
      $active="<font color=ltgreen><b>Active";
    }

    print "<tr align=center><td><input type=checkbox name=select-$i value=yes>";
    print "$mcell <a href=\"javascript:void(0);\" onClick=\"edit('$i'); return true\">Edit</a> ";
    print "$mcell <a href=\"$eurl\" target=_blank>$edomain</a> </td><td><font face=Verdana size=2>$active$mcell$starthour:$startmin$mcell$endhour:$endmin$mcell$ptraffic %\n</td></tr>";
    $i++;
  }
  print "</table><p>";

  print '</td></tr><tr align=center><td>';


  &ReadMembers;

  print '<br><table><tr><td>';

  print '<select name=edomain size=8>';
  foreach $domain (sort keys %url) {
      print "<option>$domain</option>";
  }
  print '</select>';

  print "$mcell";

  print '<center>Start Time<br>';

  print '<select name=starthour>';
  for ($i=0;$i<=23;$i++) { print "<option>$i</option>"; }
  print '</select>';
  print '<select name=startmin>';
  for ($i=0;$i<=59;$i++) { print "<option>$i</option>"; }
  print '</select><p>';


  print 'End Time<br>';
  print '<select name=endhour>';
  for ($i=0;$i<=23;$i++) { print "<option>$i</option>"; }
  print '</select>';
  print '<select name=endmin>';
  for ($i=0;$i<=59;$i++) { print "<option>$i</option>"; }
  print '</select><p>';
  print 'Percent Traffic<br>';
  print '<select name=ptraffic>';
  for ($i=1;$i<=50;$i++) { print "<option>$i</option>"; }
  print '</select><br>';

  print '</td></tr></table><p>';
  print "$mbutton\"Add Event\">$mbutton\"Delete Event\">$mbutton\"Refresh Events\"><p>";

  print '</td></tr><tr align=center><td>';

  &MainButtons;
  print '</td></tr></table>';

  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub AddEvent {
  $edomain=$input{'edomain'};
  $starthour=$input{'starthour'};
  $startmin=$input{'startmin'};
  $endhour=$input{'endhour'};
  $endmin=$input{'endmin'};
  $ptraffic=$input{'ptraffic'};

  &ReadMembers;

  open (EVENTS,">>$ucjdata/ucjevents");
  print EVENTS "$edomain|$url{$edomain}|$starthour|$startmin|$endhour|$endmin|$ptraffic\n";
  close (EVENTS);
  &Events
}

sub DeleteEvent {
  chomp(@events=`cat $ucjdata/ucjevents`);
  open (EVENTS,">$ucjdata/ucjevents");
  $i=0;
  foreach $event (@events) {
    if ($input{"select-$i"} ne "yes") {print EVENTS "$event\n";}
    $i++;
  }
  close (EVENTS);
  &Events
}



sub Permanent {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Permanent</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print "<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Permanent Links<br>Local Server Time: $servertime</h1>";

  print '</td></tr><tr align=center><td>';

  chomp(@permsets=`ls $ucjperm`);

  print '<br><select name=pdomain size=8>';
  foreach $perm (@permsets) {
      print "<option>$perm</option>";
  }
  print '</select><p>';
  print '<input name=permgroup TYPE=text SIZE=40 VALUE=""><p>';
  print "$mbutton\"Group List\">$mbutton\"Add Group\">$mbutton\"Edit Group\">$mbutton\"Delete Group\"><p>";

  print '</td></tr><tr align=center><td>';

  &MainButtons;
  print '</td></tr></table>';

  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub AddGroup {
  $permgroup=$input{"permgroup"};
  `touch $ucjperm/$permgroup`;
  &Permanent;
}

sub DeleteGroup {
  $permgroup=$input{"pdomain"};
   unlink("$ucjperm/$permgroup");
  &Permanent;
}

sub UpdatePermanent {
  $permgroup=$input{"pdomain"};
  chomp(@addgroup=`cat $ucjperm/$permgroup`);
  $tpercent=0;
  $i=1;
  foreach $row (@addgroup) {
    ($domain,$url,$percent) = split /\|/,$row;
    $npercent=$input{"perm$i"};
    $tpercent+=$npercent;
    $i++;
  }
  open (PERM,">$ucjperm/$permgroup");
  $i=1;
  $npercent=0;
  foreach $row (@addgroup) {
    ($domain,$url,$percent) = split /\|/,$row;
    $npercent+=$input{"perm$i"};

    $cpercent=sprintf("%.2f",$npercent/$tpercent*100);
    if ($input{"perm$i"} != 0) {
      print PERM "$domain|$url|$cpercent\n";
    }
    $i++;
  }
  close (PERM);

  &EditGroup;
}

sub AddPermanent {
  $permgroup=$input{"pdomain"};
  $newperm=$input{"edomain"};

  chomp(@addgroup=`cat $ucjperm/$permgroup`);

  open (PERM,">$ucjperm/$permgroup");
  foreach $row (@addgroup) {
    ($domain,$url,$percent) = split /\|/,$row;
    $npercent=sprintf("%.2f",0.99*$percent);
    print PERM "$domain|$url|$npercent\n";
  }
  &ReadMembers;
  print PERM "$newperm|$url{$newperm}|100.00\n";
  close (PERM);

  &EditGroup;
}

sub EditGroup {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Permanent</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;
  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print "<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Permanent Links<br>Local Server Time: $servertime</h1>";

  print '</td></tr><tr align=center><td>';
  $permgroup=$input{"pdomain"};
  print "<input type=hidden name=pdomain value=$permgroup>";

  print "<br><h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Group Name: $permgroup</h1><p>";

  chomp(@group=`cat $ucjperm/$permgroup`);

  print "<table border=1 cellspacing=0 cellpadding=0>";

  $i=1;
  $lastpercent=0;
  foreach $perm (@group) {
    ($domain,$url,$percent) = split /\|/,$perm;
    $cpercent=sprintf("%.2f",$percent-$lastpercent);
    $lastpercent=$percent;
    print "<tr align=center>$scell<a href=\"$url\" target=_blank>$domain</a></td><td><input type=text name=perm$i value=$cpercent size=6></td></tr>";
    $i++;
  }
  print "</table>";
  print '<p>';

  &ReadMembers;
  print '<select name=edomain size=8>';
  foreach $domain (sort keys %url) {
      print "<option>$domain</option>";
  }
  print '</select><p>';

  print "$mbutton\"Group List\">$mbutton\"Add Permanent\">$mbutton\"Update Permanent\"><p>";

  print '</td></tr><tr align=center><td>';

  &MainButtons;
  print '</td></tr></table>';

  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub Rules {
  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Rules</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post><CENTER>';

  &PrintPass;

  print '<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=0 WIDTH=90% bgcolor='.$bgcolor.'>';
  print '<tr align=center><td>';
  print '<h1 style=\"font-size : 14px; margin-bottom : 0px; margin-top : 0px;\">Rules</h1>';
  print '</td></tr><tr align=center><td>';

  chomp(@rules=`cat $ucjdata/rules`);

  print "<br><table border=1>";
  $i=0;
  foreach $rule (@rules) {
    print "<tr align=center><td><input type=checkbox name=select-$i value=yes>";
    print "$mcell$rule<br>\n</td></tr>";
    $i++;
  }
  print "</table><p>";

  print '<INPUT NAME=rule TYPE=text SIZE=60 VALUE=""><p>';
  print "$mbutton\"Add Rule\">$mbutton\"Delete Rule\"><p>";
  print '</td></tr><tr align=center><td>';
  &MainButtons;
  print '</td></tr></table>';
  print '</FORM></CENTER></BODY></HTML>';
  exit;
}

sub AddRule {
  $rule=$input{'rule'};
  open (RULES,">>$ucjdata/rules");
  print RULES "$rule\n";
  close (RULES);
  &Rules;
}

sub DeleteRule {
  chomp(@rules=`cat $ucjdata/rules`);
  open (RULES,">$ucjdata/rules");
  $i=0;
  foreach $rule (@rules) {
    if ($input{"select-$i"} ne "yes") {print RULES "$rule\n";}
    $i++;
  }
  close (RULES);
  &Rules;
}

sub UpdateSettings2 {
  $defaultratio=$input{'defaultratio'};
  $maxsignups=$input{'maxsignups'};
  $defaulttradetype=$input{'defaulttradetype'};
  $autosignup=$input{'autosignup'};
  open (SETTINGS,">$ucjdata/ucjadminsettings");
  print SETTINGS "$defaultratio\n";
  print SETTINGS "$maxsignups\n";
  print SETTINGS "$defaulttradetype\n";
  print SETTINGS "$autosignup\n";
  close (SETTINGS);
  &Settings2;
}

sub Change {
  $mpages=$input{'mpages'};
  open (SETTINGS,">$ucjdata/ucjpages");
  print SETTINGS "$mpages";
  close (SETTINGS);
  &Settings;
}

sub EditUser {
  &ReadMembers;

  $domain=$input{'edit'};
  if ($domain eq "addnewuser") {$domain="";}

  print '<HTML><HEAD><TITLE>Lust Hero Admin: - Add/Edit User</TITLE></HEAD>';
  print '<BODY bgColor=#C0C0C0 text=#ffffff link=#FFFF00 alink=#FFFF00 vlink=#FFFF00><FORM method=post>';

  &PrintPass;
  print '<div align=center><b><font size=4 face=Verdana color=yellow>Add/Edit User</b></font></div>';

  print "<font size=3 face=Verdana>Required/Recommended Data</font>";
  print "<div align=right>";

  print "<INPUT NAME=olddomain TYPE=hidden size=40 VALUE=\"$domain\"><font size=0 face=Verdana>Domain </font><INPUT NAME=domain TYPE=text size=40 VALUE=\"$domain\"><br>";
  print "<font size=0 face=Verdana>URL </font><INPUT NAME=url TYPE=text size=40 VALUE=\"$url{$domain}\"><br>";
  print "<font size=0 face=Verdana>Webmaster Nick </font><INPUT NAME=icqnick TYPE=text SIZE=12 VALUE=\"$icqnick{$domain}\"> ";
  print "<font size=0 face=Verdana>Trade </font><SELECT NAME=tradetype>";
  if ($tradetype{$domain} eq "c") {print '<OPTION VALUE=b>Normal<OPTION VALUE=c SELECTED>Capped<OPTION VALUE=r>Ratio</SELECT></TD>';}
    elsif ($tradetype{$domain} eq "r") {print '<OPTION VALUE=b SELECTED>Normal<OPTION VALUE=c>Capped<OPTION VALUE=r SELECTED>Ratio</SELECT></TD>';}
    else {print '<OPTION VALUE=b SELECTED>Normal<OPTION VALUE=c>Capped<OPTION VALUE=r>Ratio</SELECT></TD>';}
  print "<br><font size=0 face=Verdana>Min Trade </font><INPUT NAME=mintrade TYPE=text SIZE=12 VALUE=\"$mintrade{$domain}\"> ";
  print "<font size=0 face=Verdana>Ratio </font><INPUT NAME=setratio TYPE=text SIZE=12 VALUE=\"$setratio{$domain}\">";

  print "</div><font size=3 face=Verdana>Optional Data</font><div align=right>";

  if ($showsitename{$domain} eq 'y') { $check='CHECKED'; }
  print "<input name=showsitename type=checkbox value=y $check>";

  print "<font size=0 face=Verdana>Site Name </font><INPUT NAME=sitename TYPE=text size=40 VALUE=\"$sitename{$domain}\"><br>";
  print "<font size=0 face=Verdana>Webmaster </font><INPUT NAME=webmaster TYPE=text size=40 VALUE=\"$webmaster{$domain}\"><br>";
  print "<font size=0 face=Verdana>Email </font><INPUT NAME=email TYPE=text size=40 VALUE=\"$email{$domain}\"><br>";
  print "<font size=0 face=Verdana>ICQ Number </font><INPUT NAME=icqnumber TYPE=text size=40 VALUE=\"$icqnumber{$domain}\"><br>";
  print "<font size=0 face=Verdana>Page In </font><INPUT NAME=in_page TYPE=text size=40 VALUE=\"$in_page{$domain}\"><br>";
  print "<font size=0 face=Verdana>Percent to gallery </font><INPUT NAME=prs TYPE=text size=2 VALUE=\"$prs{$domain}\">";
 if ($light{$domain} eq 'y') { $check_light='CHECKED'; }
   print "<font size=0 face=Verdana>Light the trade </font><input name=light type=checkbox value=y $check_light><br>";
  print "<font size=0 face=Verdana>Long description </font><INPUT NAME=desc_long TYPE=text size=35 VALUE=\"$desc_long{$domain}\"><br>";

  print '<BR><INPUT NAME=submit TYPE=submit VALUE="Update User">';
  print '</div></CENTER></FORM></BODY></HTML>';

  exit;
}

sub ReadNewMembers {
  chomp(@ucjmems=`cat $ucjdata/new-ucjmembers1`);
  for ($i=0;$i<=$#ucjmems;$i++) {
   ($domain) = split /\|/,$ucjmems[$i];
   ($domaint,$url{$domain},$setratio{$domain},$tradetype{$domain},$mintrade{$domain},$in_page{$domain},$prs{$domain}) = split /\|/,$ucjmems[$i];
   $newmember{$domain}='y'
  }

  chomp(@ucjmems=`cat $ucjdata/new-ucjmembers2`);
  for ($i=0;$i<=$#ucjmems;$i++) {
   ($domain) = split /\|/,$ucjmems[$i];
   ($domaint,$sitename{$domain},$email{$domain},$icqnick{$domain},$icqnumber{$domain},$webmaster{$domain},$showsitename{$domain},$dateadded{$domain},$light{$domain},$desc_long{$domain}) = split /\|/,$ucjmems[$i];
  }
}

sub ReadMembers {
  chomp(@ucjmems=`cat $ucjdata/ucjmembers1`);
  for ($i=0;$i<=$#ucjmems;$i++) {
   ($domain) = split /\|/,$ucjmems[$i];
   ($domaint,$url{$domain},$setratio{$domain},$tradetype{$domain},$mintrade{$domain},$in_page{$domain},$prs{$domain}) = split /\|/,$ucjmems[$i];
   $newmember{$domain}='n'
  }

  chomp(@ucjmems=`cat $ucjdata/ucjmembers2`);
  for ($i=0;$i<=$#ucjmems;$i++) {
   ($domain) = split /\|/,$ucjmems[$i];
   ($domaint,$sitename{$domain},$email{$domain},$icqnick{$domain},$icqnumber{$domain},$webmaster{$domain},$showsitename{$domain},$dateadded{$domain},$light{$domain},$desc_long{$domain}) = split /\|/,$ucjmems[$i];
  }

  chomp(@ucjmems=`cat $ucjdata/ucjmembers3`);
  for ($i=0;$i<=$#ucjmems;$i++) {
   ($domain) = split /\|/,$ucjmems[$i];
   ($domaint,$chourin{$domain},$chourout{$domain},$ccookie{$domain},$tdayin{$domain},$tdayout{$domain},$tdaycook{$domain},$dayratio{$domain},$cookieratio{$domain}) = split /\|/,$ucjmems[$i];
  }

  chomp(@ucjstats=`cat $ucjdata/ucjstats`);
  ($totalhrin,$totalhrout,$totalhrcook,$totaldayin,$totaldayout,$totaldaycook) = split /\|/,$ucjstats[0];

  if (($totaldaycook-$tdaycook{'nocookie'}-$tdaycook{'noref'}) == 0) { $cfactor= 1 }
  else { $cfactor = $totaldayout / ($totaldaycook-$tdaycook{'nocookie'}-$tdaycook{'noref'}); }

  foreach $domain (sort keys %url) {
    if ($tdayin{$domain} == 0) { $tprod{$domain} = 0 }
    else { $tprod{$domain}=sprintf("%.2f",$tdaycook{$domain}/$tdayin{$domain}*$cfactor); }

    if ($tdayout{$domain} == 0) { $trprod{$domain} = 0 }
    else { $trprod{$domain}=sprintf("%.2f",$tdaycook{$domain}/$tdayout{$domain}*$cfactor); }
  }
  &DoResets;
}


sub DoResets {
  $ucjreset="$ucjdata/ucjreset";
  if (stat("$ucjreset")) {
    chomp (@reset=`cat $ucjreset`);

    foreach $resetdomain (@reset) {
      $totaldayin -= $tdayin{$resetdomain};
      $totaldayout -= $tdayout{$resetdomain};
      $totaldaycook -= $tdaycook{$resetdomain};
      $totalhrin -= $chourin{$resetdomain};
      $totalhrout -= $chourout{$resetdomain};
      $totalhrcook -= $ccookie{$resetdomain};

      $chourin{$resetdomain}=0;
      $chourout{$resetdomain}=0;
      $ccookie{$resetdomain}=0;
      $tdayin{$resetdomain}=0;
      $tdayout{$resetdomain}=0;
      $tdaycook{$resetdomain}=0;
    }
  }
}

sub WriteMembers {
  open (UCJMEMS1,">$ucjdata/ucjmembers1");
  open (UCJMEMS2,">$ucjdata/ucjmembers2");
  foreach $domain (sort keys %url) {
    print UCJMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
    print UCJMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
  }
  close (UCJMEMS1);
  close (UCJMEMS2);
}

sub UpdateUser {
  &ReadMembers;

  $domain=$input{'domain'};
  $domain=~(s/ //g);

  $olddomain=$input{'olddomain'};

  if ($domain ne $olddomain) {delete $url{$olddomain}; }

  $url{$domain}=$input{'url'};
  $setratio{$domain}=$input{'setratio'};
  $tradetype{$domain}=$input{'tradetype'};
  $mintrade{$domain}=$input{'mintrade'};
  $sitename{$domain}=$input{'sitename'};
  $showsitename{$domain}=$input{'showsitename'};
  $email{$domain}=$input{'email'};
  $icqnick{$domain}=$input{'icqnick'};
  $icqnumber{$domain}=$input{'icqnumber'};
  $webmaster{$domain}=$input{'webmaster'};
  $in_page{$domain}=$input{'in_page'};
  $prs{$domain}=$input{'prs'};
  if (!$dateadded{$domain}) { chomp($dateadded{$domain}=`$date '+%y%m%d-%H:%M:%S'`); }
  $light{$domain}=$input{'light'};
  $desc_long{$domain}=$input{'desc_long'};
  &WriteMembers;

  print '<HTML><HEAD><TITLE>Member Database Updated</TITLE></HEAD>';

  print '<BODY bgColor=#C0C0C0>';

  print '<center><A HREF="#" onClick="window.close()";><font face=Verdana size=5 color=yellow>Member Database Updated<p>';
  print '<B>Close Window</B></A>';
  exit;
}

sub DeleteUser {
  &ReadMembers;
  open (UCJMEMS1,">$ucjdata/ucjmembers1");
  open (UCJMEMS2,">$ucjdata/ucjmembers2");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} ne $domain) {
      print UCJMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
    }
    else {delete $url{$domain}; }
  }
  close (UCJMEMS1);
  close (UCJMEMS2);
}


sub ResetUser {
  &ReadMembers;
  open (UCJRESET,">>$ucjdata/ucjreset");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} eq $domain) {
      print UCJRESET "$input{\"select-$domain\"}\n";
    }
  }
  close (UCJRESET);
}



sub BlacklistUser {
  &ReadMembers;

  open (BLACKLIST,">>$ucjdata/blacklist");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} eq $domain) {
    print BLACKLIST "$domain\n";
    }
  }
  close (BLACKLIST);

  open (UCJMEMS1,">$ucjdata/ucjmembers1");
  open (UCJMEMS2,">$ucjdata/ucjmembers2");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} ne $domain) {
      print UCJMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
    }
    else {delete $url{$domain}; }
  }
  close (UCJMEMS1);
  close (UCJMEMS2);
}

sub DeleteNewUser {
  &ReadNewMembers;
  open (UCJNMEMS1,">$ucjdata/new-ucjmembers1");
  open (UCJNMEMS2,">$ucjdata/new-ucjmembers2");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} ne $domain) {
      print UCJNMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJNMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
    }
    else {delete $url{$domain}; }
  }
  close (UCJNMEMS1);
  close (UCJNMEMS2);
}

sub BlacklistNewUser {
  &ReadNewMembers;

  open (BLACKLIST,">>$ucjdata/blacklist");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} eq $domain) {
    print BLACKLIST "$domain\n";
    }
  }
  close (BLACKLIST);

  open (UCJNMEMS1,">$ucjdata/new-ucjmembers1");
  open (UCJNMEMS2,">$ucjdata/new-ucjmembers2");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} ne $domain) {
      print UCJNMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJNMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
    }
    else {delete $url{$domain}; }
  }
  close (UCJNMEMS1);
  close (UCJNMEMS2);
}

sub AddNewUser {
  &ReadNewMembers;

  open (UCJMEMS1,">>$ucjdata/ucjmembers1");
  open (UCJMEMS2,">>$ucjdata/ucjmembers2");

  open (UCJNMEMS1,">$ucjdata/new-ucjmembers1");
  open (UCJNMEMS2,">$ucjdata/new-ucjmembers2");
  foreach $domain (sort keys %url) {
    if ($input{"select-$domain"} ne $domain) {
      print UCJNMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJNMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
    }
    else {
      print UCJMEMS1 "$domain|$url{$domain}|$setratio{$domain}|$tradetype{$domain}|$mintrade{$domain}|$in_page{$domain}|$prs{$domain}\n";
      print UCJMEMS2 "$domain|$sitename{$domain}|$email{$domain}|$icqnick{$domain}|$icqnumber{$domain}|$webmaster{$domain}|$showsitename{$domain}|$dateadded{$domain}|$light{$domain}|$desc_long{$domain}\n";
      delete $url{$domain};
    }
  }
  close (UCJNMEMS1);
  close (UCJNMEMS2);

  close (UCJMEMS1);
  close (UCJMEMS2);
}

Youez - 2016 - github.com/yon3zu
LinuXploit