Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 32.75 KB | None | 0 0
  1. <?php
  2.     define("PAGE_NAME", "Warnings");
  3.     require_once('class2.php');
  4.     require_once("e107_handlers/userclass_class.php");
  5.     require_once(HEADERF);
  6.    
  7.         mysql_connect("localhost", $mySQLuser, $mySQLpassword) or die(mysql_error());
  8.         mysql_select_db("xtremejumps") or die(mysql_error());
  9.        
  10.         function add_userclass($userid, $class)
  11.                 {
  12.                     $query=mysql_query("SELECT user_class FROM e107_user WHERE user_id='".$userid."'");
  13.                     $classstring=mysql_result($query, 0, "user_class");
  14.             $uc = new e_userclass;
  15.             $uc->class_add($class, array($userid => $classstring));
  16.                 }
  17.        
  18.         function remove_userclass($userid, $class)
  19.         {
  20.             $query=mysql_query("SELECT user_class FROM e107_user WHERE user_id='".$userid."'");
  21.                     $classstring=mysql_result($query, 0, "user_class");
  22.             $uc = new e_userclass;
  23.             $uc->class_remove($class, array($userid => $classstring));
  24.         }
  25.        
  26.         function expired($warn)
  27.         {
  28.             if($warn<time())
  29.             {
  30.                 $return="<span style='color:red'>".date("Y-m-d",$warn)."</span>";
  31.             }
  32.             else
  33.             {
  34.                 $return=date("Y-m-d",$warn);
  35.             }
  36.             return $return;
  37.         }
  38.        
  39.         // display colorized legend
  40.                 $legend .= "<table style='text-align: center; width: 585px;margin: 0 auto;'>
  41.                         <br>
  42.                         <tr>
  43.                             <td style='background: #aaaaaa'>&nbsp;</td><td> <a href='".e_BASE."warnings.php?filter=4' style='color: #aaaaaa'>&nbsp;Commentban</a></td>
  44.                         </tr>
  45.                         <tr>
  46.                             <td style='background: #9C7B7B'>&nbsp;</td><td> <a href='".e_BASE."warnings.php?filter=5' style='color: #9C7B7B'>&nbsp;Warn and Commentban</a></td>
  47.                         </tr>
  48.                         <tr>
  49.                             <td style='background: orange'>&nbsp;</td><td> <a href='".e_BASE."warnings.php?filter=1' style='color: orange'>&nbsp;Warned</a></td>
  50.                         </tr>
  51.                         <tr>
  52.                             <td style='background: red'>&nbsp;</td><td> <a href='".e_BASE."warnings.php?filter=2' style='color: red'>&nbsp;Ban</a></td>
  53.                         </tr>
  54.                         <tr>
  55.                             <td style='background: black'>&nbsp;</td><td> <a href='".e_BASE."warnings.php?filter=3' style='color: black'>&nbsp;Perm Ban</a></td>
  56.                         </tr>
  57.                     </table>&nbsp;<br />";
  58.                    
  59.     if (!check_class(17))
  60.     {
  61.         // display for people who aren't admins
  62.         $text .= "<style>
  63.                 .balloon a:hover {background-color: #FFFF99;;color:#0000FF;}
  64.                 .balloon a:link span{display: none;}
  65.                 .balloon a:visited span{display: none;}
  66.                 .balloon a:hover span {
  67.                   position: absolute;
  68.                   margin:15px 0px 0px 20px;
  69.                   background-color: beige;
  70.                   max-width:400px;
  71.                   padding: 2px 10px 2px 10px;
  72.                   border: 1px solid #C0C0C0;
  73.                   font: normal 10px/12px verdana;
  74.                   text-decoration:none;
  75.                   color: #000;
  76.                   text-align:left;
  77.                   display: block;
  78.                  }
  79.                 </style>";
  80.  
  81.         $text .= $legend."
  82.         <table cellpadding='3' cellspacing='0' style='width: 585px;margin: 0 auto; border: 2px solid #DA6D0A; text-align: center;'>
  83.             <tr>
  84.                 <td class='caption'>Name:</td>
  85.                 <td class='caption'>Warn/Ban on:</td>
  86.                 <td class='caption'>Warn/Ban Expire:</td>
  87.             </tr>";
  88.            
  89.         $filter = "";
  90.         if ($_GET['filter'] == '1' ||
  91.             $_GET['filter'] == '2' ||
  92.             $_GET['filter'] == '3' ||
  93.             $_GET['filter'] == '4' ||
  94.             $_GET['filter'] == '5')
  95.             $filter = "WHERE warnings='$_GET[filter]'";
  96.         $result = mysql_query("SELECT * FROM xjbanlist $filter ORDER BY `warnings` ASC, `warnedon` DESC");
  97.         $i = 0;
  98.         // for reordering list of people
  99.         $text_ = array();
  100.         while ($row = mysql_fetch_array($result))
  101.         {
  102.             $nextweek = $row['fake_warnedon'] + (7 * 24 * 60 * 60);
  103.             $now = strtotime(date("Y-m-d", $row['warnedon']));
  104.             $nextmonth = strtotime("+1 month", $now);
  105.             $warns = $row[warnings];
  106.             $name = $row[name];
  107.             $i++;
  108.             if (($i%2) == 0) {
  109.                 $class="";
  110.             } else {
  111.                 $class=" class=\"even\"";
  112.             }
  113.             $text_[$warnid] .= "<tr".$class.">";
  114.            
  115.             $warnid = $row['warnings'] * 1;
  116.             if ($row['warnings'] == 1) {
  117.                 $name = "<div style='color:orange'>".$name."</div>";
  118.             } elseif ($row['warnings'] == 2) {
  119.                 $name = "<div style='color:red'>".$name."</div>";
  120.             } elseif ($row['warnings'] == 3) {
  121.                 $name = "<div style='color:black'>".$name."</div>";
  122.             } elseif ($row['warnings'] == 4) {
  123.                 $name = "<div style='color:#AAAAAA'>".$name."</div>";
  124.             } elseif ($row['warnings'] == 5) {
  125.                 $name = "<div style='color:#9C7B7B'>".$name."</div>";
  126.             } else {
  127.                 $name = "<div style='color:green'>".$name."</div>";
  128.                 $name = $name;
  129.             }
  130.             $text_[$warnid] .= "    <td id='$row[userid]' class='bodytable' style='text-align: center;'>
  131.                             <span class=\"balloon\">
  132.                                 <a href=\"http://xtreme-jumps.eu/user.php?id.".$row[userid]."\"><strong>".$name."</strong>
  133.                                     <span>Reason: ".$row[reason]."</span>
  134.  
  135.                                 </a>
  136.                             </span>
  137.                         </td>";
  138.             if (!$row['warnedon']) {
  139.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>n/a</td>";
  140.             } else {
  141.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . date("Y-m-d",$row['warnedon']) . "</td>";
  142.             }
  143.             if ($row['warnings'] == 2) {
  144.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . expired($nextweek) . "</td>";
  145.             } else if ($row['warnings'] == 1) {
  146.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . expired($nextmonth) . "</td>";
  147.             } else {
  148.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>n/a</td>";
  149.             }
  150.             $text_[$warnid] .= "</tr>";
  151.         }
  152.         $text .= $text_[4].$text_[5].$text_[1].$text_[2].$text_[3]."</table>";
  153.     }
  154.     else
  155.     {
  156.         // admin view!
  157.         if ($_GET['action'] == "add")
  158.         {
  159.             // special form for banning user
  160.             $sql->db_Select("user", "user_name", "user_id = '".mysql_real_escape_string($_GET['userid'])."'");
  161.             $row = $sql->db_Fetch();
  162.             $text .= "
  163.             <center><p><b><u>Add a new warning:</b></u></p><br></center>
  164.             <form method='POST' action='".e_BASE."warnings.php?action=add'>
  165.             <table class='bodytable' width='585px' align='center' style='border: 0px solid #DA6D0A;' cellpadding='0' cellspacing='0'>
  166.                 <tr>
  167.                     <td width='15%'>Name:</td>
  168.                     <td><input name='name' value=\"$row[user_name]\"/></td>
  169.                 </tr>
  170.                 <tr>
  171.                     <td width='15%'>UserID:</td>
  172.                     <td><input name='userid' value='".$_GET['userid']."'/></td>
  173.                 </tr>
  174.                 <tr>
  175.                     <td width='15%'>Warnings:</td>
  176.                     <td>
  177.                         <!--input name='warnings_' size='1' /> (1 for warned; 2 for 1 week ban; 3 for perm ban, 4 for 'Commentban')-->
  178.                         <input type='radio' name='warnings' value='1'>Warned</input><br/>
  179.                         <input type='radio' name='warnings' value='2'>Ban</input><br/>
  180.                         <input type='radio' name='warnings' value='3'>Perm ban</input><br/>
  181.                         <input type='radio' name='warnings' value='4'>Site Commentban</input><br/>
  182.                         <input type='radio' name='warnings' value='5'>Warning + site Commentban</input>
  183.                     </td>
  184.                 </tr>
  185.                 <tr>
  186.                     <td width='15%'>Bantime:</td>
  187.                     <td><input name='fake_warnedon' size='1' /> (in days, only works on warntype 2)</td>
  188.                 </tr>
  189.                 <tr>
  190.                     <td width='15%'>Reason:</td>
  191.                     <td><textarea name='reason' cols='40' rows='5' ></textarea></td>
  192.                 </tr>
  193.             </table>
  194.             <br>
  195.             <center><input type='submit' name='submit' value='Submit warning ' /> <input type='button' name='back' value='Back' onClick='history.go(-1);return true;'/> </center>
  196.             <br>
  197.             </form>";
  198.            
  199.             // did admin change ban?
  200.             if ($_POST['submit'])
  201.             {
  202.                 if (!$_POST['name'])
  203.                 {
  204.                     $text .= "You must enter an user name.";
  205.                 }
  206.                 else if (!$_POST['userid'])
  207.                 {
  208.                     $text .= "You must enter an user id.";
  209.                 }
  210.                 else if (!$_POST['warnings'])
  211.                 {
  212.                     $text .= "You must enter the right ban.";
  213.                 }
  214.                 else if (!$_POST['reason'])
  215.                 {
  216.                     $text .= "You must enter the reason.";
  217.                 }
  218.                 else if ($_POST['warnings']==2 && !$_POST['fake_warnedon'])
  219.                 {
  220.                     $text .= "You must enter the bantime.";
  221.                 }
  222.                 else
  223.                 {
  224.                     $name = htmlspecialchars($_POST['name']);
  225.                     $userid = htmlspecialchars($_POST['userid']);
  226.                     $warnings = htmlspecialchars($_POST['warnings']);
  227.                     $reason = htmlspecialchars($_POST['reason']);
  228.                     $warnedon = time();
  229.                     if ($_POST['warnings'] == 4)
  230.                     {
  231.                         add_userclass($userid, 40);
  232.                         $fake_warnedon=time()+($_POST['fake_warnedon']*86400-604800);
  233.                         mysql_query("INSERT INTO xjbanlist (name, userid, warnedon, remwarned, weekbanon, remweekban, warnings, reason, fake_warnedon) VALUES('$name', '$userid', '$warnedon', '' , '', '', '$warnings','$reason', '$fake_warnedon');");
  234.                         mysql_query("INSERT INTO e107_warn_history (name, user_id, warnon, remon, warnings, reason, admin) VALUES('$name', '$userid', '$warnedon', '', '$warnings','$reason', '".USERID."');");
  235.                     }
  236.                     if ($_POST['warnings'] == 5)
  237.                     {
  238.                         // warn + Commentban
  239.                         add_userclass($userid, 40);
  240.                         add_userclass($userid, 10);
  241.                         mysql_query("INSERT INTO xjbanlist (name, userid, warnedon, remwarned, weekbanon, remweekban, warnings, reason, fake_warnedon) VALUES('$name', '$userid', '$warnedon', '' , '', '', '$warnings','$reason', '0');");
  242.                         mysql_query("INSERT INTO e107_warn_history (name, user_id, warnon, remon, warnings, reason, admin) VALUES('$name', '$userid', '$warnedon', '', '$warnings','$reason', '".USERID."');");
  243.                     }
  244.                     else if($_POST['warnings'] == 2 || $_POST['warnings'] == 3)
  245.                     {
  246.                         add_userclass($userid, 24);
  247.                         $fake_warnedon=time()+($_POST['fake_warnedon']*86400-604800);
  248.                         mysql_query("INSERT INTO xjbanlist (name, userid, warnedon, remwarned, weekbanon, remweekban, warnings, reason, fake_warnedon) VALUES('$name', '$userid', '$warnedon', '' , '', '', '$warnings','$reason', '$fake_warnedon');");
  249.                     mysql_query("INSERT INTO e107_warn_history (name, user_id, warnon, remon, warnings, reason, admin) VALUES('$name', '$userid', '$warnedon', '', '$warnings','$reason', '".USERID."');");
  250.                         mysql_query("UPDATE e107_user SET user_ban='1' WHERE user_id='".$userid."'");
  251.                     }
  252.                     else if ($_POST['warnings'] == 1)
  253.                     {
  254.                         add_userclass($userid, 10);
  255.                         mysql_query("INSERT INTO xjbanlist (name, userid, warnedon, remwarned, weekbanon, remweekban, warnings, reason, fake_warnedon) VALUES('$name', '$userid', '$warnedon', '' , '', '', '$warnings','$reason', '0');");
  256.                         mysql_query("INSERT INTO e107_warn_history (name, user_id, warnon, remon, warnings, reason, admin) VALUES('$name', '$userid', '$warnedon', '', '$warnings','$reason', '".USERID."');");
  257.                     }
  258.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  259.                         fwrite($file, date('F j, Y, g:i a', time()). "[ADD]".USERNAME."(".USERID.") added a warn to user $name ($userid)");
  260.                         fwrite($file, "\r\n");
  261.                         fclose($file);
  262.                     $text .= "Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  263.                 }
  264.             }
  265.         }
  266.         else if (isset($_GET['ignore_ban']))
  267.         {
  268.             $text = "Ignoring ban complaint";
  269.             $sql->db_Select_gen("UPDATE ban_complaint SET resolved=2 WHERE userid='".$_GET['ignore_ban']."'") or die (mysql_error());
  270.         }
  271.         else if (isset($_GET['ignore_ip']))
  272.         {
  273.             $text = "Ignoring IP complaint";
  274.             $sql->db_Select_gen("UPDATE ban_complaint SET resolved=2 WHERE ip='".$_GET['ignore_ip']."'") or die (mysql_error());
  275.         }
  276.         else if (isset($_GET['removeip']))
  277.         {
  278.             $text = "Removing ban for IP address ".$_GET['removeip']."<br/>";
  279.             $sql->db_Delete("banlist", "banlist_ip='".$_GET['removeip']."'");
  280.             $text .= "Resolving complaints for IP address ".$_GET['removeip']."<br/>";
  281.             $sql->db_Select_gen("UPDATE ban_complaint SET resolved=1 WHERE ip='".$_GET['removeip']."'") or die (mysql_error());
  282.         }
  283.         else if (isset($_GET['removeban']))
  284.         {
  285.             $text = 'Removing user_ban setting<br />';
  286.             $sql->db_Select_gen("UPDATE e107_user SET user_ban=0 WHERE user_id='".$_GET['removeban']."'") or die (mysql_error());
  287.             $text .= 'Removing user from XJ ban list<br />';
  288.             $sql->db_Select_gen("DELETE FROM xjbanlist WHERE userid='".$_GET['removeban']."'") or die (mysql_error());
  289.             $text .= "Resolving complaints for IP address ".$_GET['removeip']."<br/>";
  290.             $sql->db_Select_gen("UPDATE ban_complaint SET resolved=1 WHERE userid='".$_GET['removeban']."'") or die (mysql_error());
  291.             remove_userclass($_GET['removeban'], 24);
  292.         }
  293.         else if ($_GET['action'] == 'remmute')
  294.         {
  295.             remove_userclass(mysql_real_escape_string($_GET['userid']), 40);
  296.             $sql->db_Select_gen("DELETE FROM xjbanlist WHERE userid='".mysql_real_escape_string($_GET['userid'])."'") or die (mysql_error());
  297.             echo 'Removed Commentban for user id='.$_GET['userid'];
  298.         }
  299.         else if ($_GET['action'] == 'remmute_special')
  300.         {
  301.             // this action is invoked on user with both warning and Commentban
  302.             // only remove Commentban, keep warning
  303.             remove_userclass(mysql_real_escape_string($_GET['userid']), 40);
  304.             $sql->db_Select_gen("UPDATE xjbanlist SET `warnings`='1' WHERE userid='".mysql_real_escape_string($_GET['userid'])."'") or die (mysql_error());
  305.             echo 'Removed Commentban for user id='.$_GET['userid'].', warning remains';
  306.         }
  307.         else if ($_GET['action'] == 'remwarn_special')
  308.         {
  309.             // this action is invoked on user with both warning and Commentban
  310.             // only remove warning, keep Commentban
  311.             remove_userclass(mysql_real_escape_string($_GET['id']), 10);
  312.             $sql->db_Select_gen("UPDATE xjbanlist SET `warnings`='4' WHERE id='".mysql_real_escape_string($_GET['id'])."'") or die (mysql_error());
  313.             echo 'Removed warning for ban id='.$_GET['id'].', warning remains';
  314.         }
  315.         else if ($_GET['action'] == "edit")
  316.         {
  317.             // special edit feature for existing ban
  318.             $id = $_GET[id];
  319.             $result = mysql_query("SELECT * FROM xjbanlist WHERE id = '$id'");
  320.             $row = mysql_fetch_array($result);
  321.             $text .= "<form method='POST' action='".e_BASE."warnings.php?action=edit'>
  322.                         <input name='id' value='".$row["id"]."' type='hidden'>
  323.                         <table class='bodytable' style='width: 100%; border: 2px solid #DA6D0A;' cellpadding='0' cellspacing='0'>
  324.                             <tr>
  325.                                 <td width='15%'>Name:</td>
  326.                                 <td><input name='name' value='".$row["name"]."' /></td>
  327.                             </tr>
  328.                             <tr>
  329.                                 <td width='15%'>UserID:</td>
  330.                                 <td><input name='userid' value='".$row["userid"]."' /></td>
  331.                             </tr>
  332.                             <tr>
  333.                                 <td width='15%'>Warnings:</td>
  334.                                 <td>
  335.                                     <!--input name='warnings' size='1' value='".$row["warnings"]."' /> (1 for warned; 2 for 1 week ban; 3 for perm ban)-->
  336.                                     <input type='radio' name='warnings' value='1' ".($row["warnings"] == 1 ? "checked='checked'" : "").">Warned</input><br/>
  337.                                     <input type='radio' name='warnings' value='2' ".($row["warnings"] == 2 ? "checked='checked'" : "").">Ban</input><br/>
  338.                                     <input type='radio' name='warnings' value='3' ".($row["warnings"] == 3 ? "checked='checked'" : "").">Perm ban</input><br/>
  339.                                     <input type='radio' name='warnings' value='4' ".($row["warnings"] == 4 ? "checked='checked'" : "").">Site Commentban</input><br/>
  340.                                     <input type='radio' name='warnings' value='5' ".($row["warnings"] == 5 ? "checked='checked'" : "").">Warning + site Commentban</input>
  341.                                 </td>
  342.                             </tr>
  343.                              <tr>
  344.                             <td width='15%'>Bantime:</td>
  345.                             <td><input name='fake_warnedon' size='1' /> (in days, only works on warntype 2)</td>
  346.                             </tr>
  347.                             <tr>
  348.                                 <td width='15%'>Reason:</td>
  349.                                 <td><textarea name='reason' cols='40' rows='5' >".$row["reason"]."</textarea></td>
  350.                             </tr>
  351.                             <tr>
  352.                                 <td><input type='submit' name='submit' value='Submit' /></td>
  353.                             </tr>
  354.                         </table>
  355.                         </form>";
  356.                        
  357.             if ($_POST['submit'])
  358.             {
  359.                 if (!$_POST['name'])
  360.                 {
  361.                     $text .= "You must enter an user name.";
  362.                 }
  363.                 elseif (!$_POST['warnings'])
  364.                 {
  365.                     $text .= "You must enter the right ban.";
  366.                 }
  367.                 elseif (!$_POST['userid'])
  368.                 {
  369.                     $text .= "You must enter the userid.";
  370.                 }
  371.                 elseif (!$_POST['reason'])
  372.                 {
  373.                     $text .= "You must enter the reason.";
  374.                 }
  375.                 elseif ($_POST['warnings']==2 && !$_POST['fake_warnedon'])
  376.                 {
  377.                     $text .= "You must enter the bantime.";
  378.                 }
  379.                 else
  380.                 {
  381.                     $name = htmlspecialchars($_POST['name']);
  382.                     $warnings = htmlspecialchars($_POST['warnings']);
  383.                     $reason = htmlspecialchars($_POST['reason']);
  384.                     $id = $_POST['id'];
  385.                     $userid = $_POST['userid'];
  386.                     $warnedon = time();
  387.                    
  388.                     // if ban
  389.                     if ($_POST['warnings'] == 3 || $_POST['warnings'] == 2)
  390.                     {
  391.                         // remove warn and Commentban classes and add ban class
  392.                         remove_userclass($userid, 10);
  393.                         remove_userclass($userid, 40);
  394.                         add_userclass($userid, 24);
  395.                         $fake_warnedon=time()+($_POST['fake_warnedon']*86400-604800);
  396.                        
  397.                         // update xjbanlist
  398.                         mysql_query("UPDATE xjbanlist SET
  399.                             `name` = '$name',
  400.                             `userid` = '$userid',
  401.                             `warnings` = '$warnings',
  402.                             `reason` = '$reason',
  403.                             `fake_warnedon` = '$fake_warnedon'
  404.                             WHERE id = '$id'");
  405.                         // set personal info
  406.                         mysql_query("UPDATE e107_user SET user_ban='1' WHERE user_id='".$userid."'");
  407.                     }
  408.                     else if ($_POST['warnings'] == 1)
  409.                     {
  410.                         // warning only, remove Commentban and ban
  411.                         remove_userclass($userid, 24);
  412.                         remove_userclass($userid, 40);
  413.                         add_userclass($userid, 10);
  414.                         mysql_query("UPDATE xjbanlist SET
  415.                             `name` = '$name',
  416.                             `userid` = '$userid',
  417.                             `warnings` = '$warnings',
  418.                             `reason` = '$reason'
  419.                             WHERE id = '$id'");
  420.                         mysql_query("UPDATE e107_user SET user_ban='0' WHERE user_id='".$userid."'");
  421.                     }
  422.                     else if ($_POST['warnings'] == 4)
  423.                     {
  424.                         // Commentban user
  425.                         // remove warn and ban
  426.                         remove_userclass($userid, 24);
  427.                         remove_userclass($userid, 10);
  428.                         add_userclass($userid, 40);
  429.                         mysql_query("UPDATE xjbanlist SET
  430.                             `name` = '$name',
  431.                             `userid` = '$userid',
  432.                             `warnings` = '$warnings',
  433.                             `reason` = '$reason'
  434.                             WHERE id = '$id'");
  435.                         mysql_query("UPDATE e107_user SET user_ban='0' WHERE user_id='".$userid."'");
  436.                     }
  437.                     else if ($_POST['warnings'] == 5)
  438.                     {
  439.                         // warn+Commentban combination
  440.                         // warning and Commentban, remove ban
  441.                         remove_userclass($userid, 24);
  442.                         add_userclass($userid, 10);
  443.                         add_userclass($userid, 40);
  444.                         mysql_query("UPDATE xjbanlist SET
  445.                             `name` = '$name',
  446.                             `userid` = '$userid',
  447.                             `warnings` = '$warnings',
  448.                             `reason` = '$reason'
  449.                             WHERE id = '$id'");
  450.                         mysql_query("UPDATE e107_user SET user_ban='0' WHERE user_id='".$userid."'");
  451.                     }
  452.                    
  453.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  454.                     fwrite($file, date('F j, Y, g:i a', time()). "[EDIT]".USERNAME."(".USERID.") edited the warn for user $name ($userid)");
  455.                     fwrite($file, "\r\n");
  456.                     fclose($file);
  457.                     $text .= "Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  458.                 }
  459.             }
  460.         }
  461.         else
  462.         {
  463.             $text .= "<style>
  464.                 .balloon a:hover {background-color: #FFFF99;;color:#0000FF;}
  465.                 .balloon a:link span{display: none;}
  466.                 .balloon a:visited span{display: none;}
  467.                 .balloon a:hover span {
  468.                   position: absolute;
  469.                   margin:15px 0px 0px 20px;
  470.                   background-color: beige;
  471.                   max-width:400px;
  472.                   padding: 2px 10px 2px 10px;
  473.                   border: 1px solid #C0C0C0;
  474.                   font: normal 10px/12px verdana;
  475.                   text-decoration:none;
  476.                   color: #000;
  477.                   text-align:left;
  478.                   display: block;
  479.                  }
  480.                 </style>";
  481.             $text .= "
  482.             <a href='".e_BASE."warnings.php?action=add'>&nbsp;Click here to add new user</a><br>";
  483.             $text .= $legend."<table cellpadding='3' cellspacing='0' style='border: 2px solid #DA6D0A; text-align: center; width: 585px;margin: 0 auto;'>
  484.                 <tr>
  485.                     <td class='caption' style='width: 20%;'>Name:</td>
  486.                 <td class='caption' style='width: 15%;'>Warn/Ban on:</td>
  487.                 <td class='caption' style='width: 15%;'>Warn/Ban Expire:</td>
  488.                     <td class='caption'>Banned by</td>
  489.                     <td class='caption'>Edit:</td>
  490.                     <td class='caption' style='width: 15%;'>Options</td>
  491.                 </tr>";
  492.                
  493.             $filter = "";
  494.             if ($_GET['filter'] == '1' ||
  495.                 $_GET['filter'] == '2' ||
  496.                 $_GET['filter'] == '3' ||
  497.                 $_GET['filter'] == '4' ||
  498.                 $_GET['filter'] == '5')
  499.                 $filter = "WHERE warnings='$_GET[filter]'";
  500.             $result = mysql_query(" SELECT *
  501.                                     FROM xjbanlist
  502.                                     $filter
  503.                                     ORDER BY CASE `warnings`
  504.                                         WHEN 1 THEN 1
  505.                                         WHEN 2 THEN 2
  506.                                         WHEN 3 THEN 3
  507.                                         WHEN 4 THEN -1
  508.                                         WHEN 5 THEN 0
  509.                                         END, `warnedon` DESC");
  510.             $text_ = array();
  511.             $i = 0;
  512.             while ($row = mysql_fetch_array($result))
  513.             {
  514.                 $nextweek = $row['fake_warnedon'] + (7 * 24 * 60 * 60);
  515.                 $now = strtotime(date("Y-m-d", $row['warnedon']));
  516.                 $nextmonth = strtotime("+1 month", $now);
  517.                 $name = $row[name];
  518.                 if (($i%2) == 0) {
  519.                     $class="";
  520.                 } else {
  521.                     $class=" class=\"even\"";
  522.                 }
  523.                 $i++;
  524.                 $text_[$warnid] .="<tr".$class.">";
  525.                
  526.                 $warnid = $row['warnings'] * 1;
  527.                
  528.                 if ($row['warnings'] == 1) {
  529.                     $name = "<div style='color:orange'>".$name."</div>";
  530.                 } elseif ($row['warnings'] == 2) {
  531.                     $name = "<div style='color:red'>".$name."</div>";
  532.                 } elseif ($row['warnings'] == 3) {
  533.                     $name = "<div style='color:black'>".$name."</div>";
  534.                 } elseif ($row['warnings'] == 4) {
  535.                     $name = "<div style='color:#AAAAAA'>".$name."</div>";
  536.                 } elseif ($row['warnings'] == 5) {
  537.                     $name = "<div style='color:#9C7B7B'>".$name."</div>";
  538.                 } else {
  539.                     $name = "<div style='color:green'>".$name."</div>";
  540.                     $name = $name;
  541.                 }
  542.                 $text_[$warnid] .= "<td id='$row[userid]' class='bodytable' style='text-align: left;'>
  543.                             <span class=\"balloon\">
  544.                         <a href=\"http://xtreme-jumps.eu/user.php?id.".$row[userid]."\"><strong>".$name."</strong>
  545.                         <span>Reason: ".$row[reason]."</span>
  546.  
  547.                         </a>
  548.                         </span>
  549.                 </td>";
  550.  
  551.                 if (!$row['warnedon']) {
  552.                     $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>n/a</td>";
  553.                 }
  554.                 else {
  555.                     $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . date("Y-m-d",$row['warnedon']) . "</td>";
  556.                 }
  557.  
  558.                 if ($row['warnings'] == 2) {
  559.                     $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . expired($nextweek) . "</td>";
  560.                 }
  561.                 else if ($row['warnings'] == 1 || $row['warnings'] == 5) {
  562.                     $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>" . expired($nextmonth) . "</td>";
  563.                 }
  564.                 else {
  565.                     $text_[$warnid] .= "<td class='bodytable' style='text-align: center;'>n/a</td>";
  566.                 }
  567.  
  568.                 $sql2->db_Query("SELECT * FROM e107_warn_history WHERE `warnon` = '" . $row['warnedon'] . "'") or die(mysql_error());
  569.                 $row2 = $sql2->db_Fetch(MYSQL_ASSOC);
  570.                
  571.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: left;' >" . userStyle($row2['admin']) . "</td>";
  572.                 $text_[$warnid] .= "<td class='bodytable' style='text-align: center;' ><a href='".e_BASE."warnings.php?action=edit&id=" . $row['id'] . "' style='text-align: center;'>Edit</a></td>";
  573.  
  574.                 if ($row['warnings'] == 1) {
  575.                     $text_[$warnid] .= "<td class='bodytable'><a href='".e_BASE."warnings.php?action=remwarn&id=" . $row['id'] . "' style='text-align: center;'>Remove</a></td>";
  576.                 }
  577.                 elseif ($row['warnings'] == 2) {
  578.                     $text_[$warnid] .= "<td class='bodytable'><a href='".e_BASE."warnings.php?action=rem1week&id=" . $row['id'] . "' style='text-align: center;'>Remove</a></td>";
  579.                 }
  580.                 elseif ($row['warnings'] == 3) {
  581.                     if (ADMIN && (USERID == 46952 || USERID == 6542)) {
  582.                         $text_[$warnid] .= "<td class='bodytable'><a href='".e_BASE."warnings.php?action=remperm&id=" . $row['id'] . "' style='text-align: center;'>Remove</a></td>";
  583.                     }
  584.                     else {
  585.                         $text_[$warnid] .= "<td class='bodytable'>No access</td>";
  586.                     }
  587.                 }
  588.                 elseif ($row['warnings'] == 4) {
  589.                     $text_[$warnid] .= "<td class='bodytable'><a href='".e_BASE."warnings.php?action=remmute&userid=" . $row['userid'] . "' style='text-align: center;'>Remove Commentban</a></td>";
  590.                 }
  591.                 elseif ($row['warnings'] == 5) {
  592.                     $text_[$warnid] .= "<td class='bodytable'>
  593.                                             <a href='".e_BASE."warnings.php?action=remwarn_special&id=" . $row['id'] . "' style='text-align: center;'>Remove warn</a>
  594.                                             <a href='".e_BASE."warnings.php?action=remmute_special&userid=" . $row['userid'] . "' style='text-align: center;'>Remove Commentban</a>
  595.                                         </td>";
  596.                 }
  597.                 else {
  598.                     $text_[$warnid] .= "<td class='bodytable'><a href='".e_BASE."warnings.php?action=addwarn&id=" . $row['id'] . "' style='text-align: center;'>Warn</a> | <a href='".e_BASE."warnings.php?action=add1week&id=" . $row['id'] . "'>Week</a> | <a href='".e_BASE."warnings.php?action=addperm&id=" . $row['id'] . "'>Perm</a> | <a href='".e_BASE."warnings.php?action=remuser&id=" . $row['id'] . "'>Del</a></td>";
  599.                 }
  600.                 $text_[$warnid] .= "</tr>";
  601.             }
  602.             $text .= $text_[4].$text_[5].$text_[1].$text_[2].$text_[3]."</table>";
  603.            
  604.             if ($_GET['id']) {$result = mysql_query("SELECT * FROM xjbanlist WHERE id='" . $_GET['id'] . "'");}
  605.             if ($_GET['action'] == "addwarn") {
  606.                 if ($_GET['id']) {
  607.                     mysql_query("UPDATE xjbanlist SET warnedon='" . time() . "', warnings='1', remwarned='' WHERE id='" . $_GET['id'] . "'");
  608.                     if(mysql_num_rows($result)!=0)
  609.                     {
  610.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  611.                         fwrite($file, date('F j, Y, g:i a', time()). "[EDIT]".USERNAME."(".USERID.") added a warn to user ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').")");
  612.                         fwrite($file, "\r\n");
  613.                         fclose($file);
  614.                     }
  615.                         $_GET['action']="d0n3";
  616.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  617.                 }
  618.             }
  619.             if ($_GET['action'] == "remwarn") {
  620.                 if ($_GET['id']) {
  621.                     $userid=mysql_result($result, 0, 'userid');
  622.                     mysql_query("DELETE FROM xjbanlist WHERE id='" . $_GET['id'] . "'");
  623.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  624.                     remove_userclass($userid, 10);
  625.                     remove_userclass($userid, 24);
  626.                     if(mysql_num_rows($result)!=0)
  627.                     {
  628.                         fwrite($file, date('F j, Y, g:i a', time()). "[REMOVE]".USERNAME."(".USERID.") removed user ".mysql_result($result, 0, 'name')." (".$userid.")");
  629.                         fwrite($file, "\r\n");
  630.                         fclose($file);
  631.                     }
  632.                         $_GET['action']="d0n3";
  633.                     //mysql_query("UPDATE xjbanlist SET warnedon='', warnings='0', remwarned='" . time() . "' WHERE id='" . $_GET['id'] . "'");
  634.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  635.                 }
  636.             }
  637.             if ($_GET['action'] == "add1week") {
  638.                 if ($_GET['id']) {
  639.                     mysql_query("UPDATE xjbanlist SET warnedon='" . time() . "', warnings='2', remwarned='', fake_warnedon='".time()."' WHERE id='" . $_GET['id'] . "'");
  640.                     if(mysql_num_rows($result)!=0)
  641.                     {
  642.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  643.                         fwrite($file, date('F j, Y, g:i a', time()). "[EDIT]".USERNAME."(".USERID.") added bantime to user ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').")");
  644.                         fwrite($file, "\r\n");
  645.                         fclose($file);
  646.                     }
  647.                         $_GET['action']="d0n3";
  648.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  649.                 }
  650.             }
  651.             if ($_GET['action'] == "rem1week") {
  652.                 if ($_GET['id']) {
  653.                     $userid=mysql_result($result, 0, 'userid');
  654.                     mysql_query("DELETE FROM xjbanlist WHERE id='" . $_GET['id'] . "'");
  655.                     mysql_query("UPDATE e107_user SET user_ban='0' WHERE user_id='".$userid."'");
  656.                     remove_userclass($userid, 10);
  657.                     remove_userclass($userid, 24);
  658.                     if(mysql_num_rows($result)!=0)
  659.                     {
  660.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  661.                         fwrite($file, date('F j, Y, g:i a', time()). "[EDIT]".USERNAME."(".USERID.") removed bantime for user ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').")");
  662.                         fwrite($file, "\r\n");
  663.                         fclose($file);
  664.                     }
  665.                         $_GET['action']="d0n3";
  666.                     //mysql_query("UPDATE xjbanlist SET warnedon='', warnings='0', remwarned='" . time() . "' WHERE id='" . $_GET['id'] . "'");
  667.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  668.                 }
  669.             }
  670.             if ($_GET['action'] == "addperm") {
  671.                 if ($_GET['id']) {
  672.                     mysql_query("UPDATE xjbanlist SET warnedon='" . time() . "', warnings='3', remwarned='' WHERE id='" . $_GET['id'] . "'");
  673.                     $userid=mysql_result($result, 0, 'userid');
  674.                     mysql_query("UPDATE e107_user SET user_ban='1' WHERE user_id='".$userid."'");
  675.                     remove_userclass($userid, 10);
  676.                     add_userclass($userid, 24);
  677.                     if(mysql_num_rows($result)!=0)
  678.                     {
  679.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  680.                         fwrite($file, date('F j, Y, g:i a', time()). "[EDIT]".USERNAME."(".USERID.") permbanned user ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').")");
  681.                         fwrite($file, "\r\n");
  682.                         fclose($file);
  683.                     }
  684.                         $_GET['action']="d0n3";
  685.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  686.                 }
  687.             }
  688.             if ($_GET['action'] == "remperm") {
  689.                 if ($_GET['id']) {
  690.                     $userid=mysql_result($result, 0, 'userid');
  691.                     mysql_query("DELETE FROM xjbanlist WHERE id='" . $_GET['id'] . "'");
  692.                     mysql_query("UPDATE e107_user SET user_ban='0' WHERE user_id='".$userid."'");
  693.                     remove_userclass($userid, 10);
  694.                     remove_userclass($userid, 24);
  695.                     if(mysql_num_rows($result)!=0)
  696.                     {
  697.                     $file=fopen("upload_logs/[WARNINGS].log", "a");
  698.                         fwrite($file, date('F j, Y, g:i a', time()). "[REMOVE]".USERNAME."(".USERID.") removed perm ban for ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').")");
  699.                         fwrite($file, "\r\n");
  700.                         fclose($file);
  701.                     }
  702.                         $_GET['action']="d0n3";
  703.                     //mysql_query("UPDATE xjbanlist SET warnedon='', warnings='0', remwarned='" . time() . "' WHERE id='" . $_GET['id'] . "'");
  704.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  705.                 }
  706.             }
  707.             if ($_GET['action'] == "remuser") {
  708.                 if ($_GET['id']) {
  709.                     mysql_query("DELETE FROM xjbanlist WHERE id='" . $_GET['id'] . "'");
  710.                     if(mysql_num_rows($result)!=0)
  711.                     {
  712.                         $file=fopen("upload_logs/[WARNINGS].log", "a");
  713.                         fwrite($file, date('F j, Y, g:i a', time()). "[REMOVE]".USERNAME."(".USERID.") removed user ".mysql_result($result, 0, 'name')." (".mysql_result($result, 0, 'userid').") from list");
  714.                         fwrite($file, "\r\n");
  715.                         fclose($file);
  716.                     }
  717.                     $_GET['action']="d0n3";
  718.                     $text .= "<br />Done! - <a href='".e_BASE."warnings.php'>Back</a>";
  719.                 }
  720.             }
  721.        
  722.             // special complaint table
  723.             if (ADMIN)
  724.             {
  725.                 $admintext = "<table class='fborder' style='width: 585px;margin: 0 auto; text-align: center' cellspacing='0'>
  726.                         <br>
  727.                         <tr>
  728.                             <th colspan='6' class='caption' style='text-align:center'>Ban complaints - unresolved</th>
  729.                         </tr>
  730.                         </tr>
  731.                             <th class='caption' style='text-align:center'>ID/name</th>
  732.                             <th class='caption' style='text-align:center'>IP address</th>
  733.                             <th class='caption' style='text-align:center'>Ban reason</th>
  734.                             <th class='caption' style='text-align:center'>Complaint</th>
  735.                             <th class='caption' style='text-align:center' width='13%'>Options</th>
  736.                         </tr>";
  737.                 $sql->db_Select_gen("
  738.                     SELECT ban_complaint.*, u.user_name, u.user_ban, ebl.*
  739.                     FROM ban_complaint
  740.                     LEFT JOIN e107_user AS u ON u.user_id = ban_complaint.userid
  741.                     LEFT JOIN e107_banlist AS ebl ON ebl.banlist_ip = ban_complaint.ip
  742.                     WHERE resolved = 0");
  743.                 $i = 0;
  744.                 while ($row = $sql->db_Fetch())
  745.                 {
  746.                     $class="";
  747.                     if (($i%2) == 1) $class=" class=\"even\"";
  748.                    
  749.                     $reason = "";
  750.                     if ($row['user_ban'] == 1)
  751.                     {
  752.                         $reason = "Admin ban $row[admin]";
  753.                         $removetype = "removeban";
  754.                         $removedata = $row['userid'];
  755.                         $removetext = "Remove ban";
  756.                         $ignorelink = "<a style='color: red'  href='".e_BASE."warnings.php?ignore_ban=$row[userid]' title='This will ignore this complaint and won't unban user'>Ignore</a>";
  757.                     }
  758.                     else
  759.                     {
  760.                         $reason = "IP ban: ".$row['banlist_reason'];
  761.                         $removetype = "removeip";
  762.                         $removedata = $row['ip'];
  763.                         $removetext = "Remove IP";
  764.                         $ignorelink = "<a style='color: red' href='".e_BASE."warnings.php?ignore_ip=$row[ip]' title='This will ignore this complaint and won't unban IP'>Ignore</a>";
  765.                     }
  766.                    
  767.                     $admintext .= "
  768.                         <tr $class title='Date/Time of complaint: $row[date], $row[time]'>
  769.                             <td><a href='user.php?id.$row[userid]'>$row[userid], $row[user_name]</a></td>
  770.                             <td>$row[ip]</td>
  771.                             <td>$reason</td>
  772.                             <td style='word-break: break-word'>".htmlEntities($row[complaint], ENT_QUOTES)."</td>
  773.                             <td><a href='".e_BASE."warnings.php?$removetype=$removedata' title='Remove all bans for this IP'>$removetext</a><br/>$ignorelink</td>
  774.                         </tr>
  775.                     ";
  776.                     $i++;
  777.                 }
  778.                 $admintext .= "</table><hr />";
  779.  
  780.                 $text = $admintext.$text;
  781.             }
  782.         }
  783.     }
  784.    
  785.     $ns->tablerender(PAGE_NAME, $text);
  786.     require_once(FOOTERF);
  787.    
  788. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement