$err"; $err .= "
Back"; die($err); // ok, not very fancy yet } function format_host($dec_ip,$reverse='') { if(!$reverse) $reverse = gethostbyaddr($dec_ip); if($reverse && $reverse != $dec_ip) { $reverse = htmlspecialchars($reverse); return "$reverse ($dec_ip)"; } else return "$dec_ip"; } function format_name($name) { $name = strip_tags($name); $name = strtr($name, '!', '#'); $name = htmlspecialchars($name); return $name; } function ban_history($dec_ip) { $query = mysql_global_call("SELECT COUNT(*) as total,COUNT(active||NULL) as active FROM banned_users WHERE host='%s'", $dec_ip); $row = mysql_fetch_assoc($query); if(!$row) return ''; if($row['total'] == 0) return ''; if($row['active'] == 0) $linkdesc = sprintf("{$row['total']} past ban%s for this IP.", ($row['total']>1)?'s':'' ); else if($row['active'] == $row['total']) $linkdesc = sprintf("{$row['active']} ban%s already active for this IP.", ($row['active']>1)?'s':''); else { $row['total'] -= $row['active']; $linkdesc = sprintf("{$row['total']} past ban%s and {$row['active']} ban%s already active for this IP.", ($row['total']>1)?'s':'' , ($row['active']>1)?'s':''); } $dec_ip = urlencode($dec_ip); return "$linkdesc"; } function other_ban_requests($than,$dec_ip) { $query = mysql_global_call("SELECT COUNT(*) as total from ban_requests WHERE id!=%d AND host='%s'", $than, $dec_ip); $row = mysql_fetch_assoc($query); if(!$row) return 0; return $row['total']; } function get_xff($board,$tim) { $query = mysql_global_call("SELECT xff from xff where tim='%s' AND board='%s'", $board, $tim); $row = mysql_fetch_assoc($query); if(!$row) return ''; return format_host($row['host']); } function form_ban($o) { head(); if($o['load_reporter']) { $query = mysql_global_call("SELECT ip FROM reports where ip=%d LIMIT 1",$o['load_reporter']); if(!($row=mysql_fetch_assoc($query))) fancydie("No reports found with specified IP."); $form['load_name'] = 'load_reporter'; $form['load_value'] = $o['load_reporter']; $form['name'] = 'Anonymous'; $form['host'] = format_host(long2ip($row['ip'])); $form['xff'] = ''; $form['banhist'] = ban_history(long2ip($row['ip'])); $form['board'] = ''; $form['title'] = "Banning reporter " . long2ip($row['ip']); $o['hide_postbans'] = 1; $form['id'] = (int)$o['load_reporter']; } else if($o['load_ban_request']) { $query = mysql_global_call("SELECT * FROM ban_requests where id=%d", $o['load_ban_request']); if(!($row=mysql_fetch_assoc($query))) fancydie("Specified ban request does not exist."); $form['load_name'] = 'load_ban_request'; $form['load_value'] = $o['load_ban_request']; $post = unserialize($row['spost']); $form['name'] = format_name($post['name']); $form['host'] = format_host($post['host'],$post['reverse']); $form['xff'] = htmlspecialchars($post['xff']); $form['banhist'] = ban_history($post['host']); $form['board'] = $row['board']; $form['title'] = htmlspecialchars("Filling {$row['janitor']}'s ban request for /{$row['board']}/{$post['no']}"); //$form['public_reason'] = htmlspecialchars($row['reason']); //$form['private_reason'] = htmlspecialchars("requested by {$row['janitor']}"); $form['other_ban_reqs'] = other_ban_requests($o['load_ban_request'], $post['host']); $o['hide_postbans'] = 1; $form['id'] = (int)$o['load_ban_request']; } else if($o['load_post']) { } else if($GLOBALS['my_access']['manual_ban']) { $o['name_edit'] = $o['host_edit'] = /*$o['bannedby_edit'] =*/ true; $form['load_name'] = 'manual'; $form['load_value'] = 'yes'; } // overrides if(isset($_COOKIE['4chan_bpubr'])) $form['public_reason'] = htmlspecialchars($_COOKIE['4chan_bpubr']); if(isset($_COOKIE['4chan_bprvr'])) $form['private_reason'] = htmlspecialchars($_COOKIE['4chan_bprvr']); if(isset($_COOKIE['4chan_blen'])) { $clen = (int)$_COOKIE['4chan_blen']; if($clen==0) $form['warn'] = 1; else if($clen==-1) $form['indef'] = 1; else $form['length'] = $clen; $form['remember'] = 1; } if($o['public_reason']) $form['public_reason'] = htmlspecialchars($o['public_reason']); if($o['private_reason']) $form['private_reason'] = htmlspecialchars($o['private_reason']); if($o['length']) $form['length'] = htmlspecialchars($o['length']); $form['modname'] = htmlspecialchars($_COOKIE['4chan_auser']); ?>
Name: >
Host: >
Proxy For: title="This is possibly the user's real IP, but only the above IP will be banned.">
Ban History:
Public Ban Reason:
Private Info:
Unban in: days [> Warn] [> Permanent]
Banned by: >
Ban options: [msg]
Post-ban actions: [ Clear other ban request1)?'s':'' ?> for this IP]