iprange); if (!($found === false)) // found a match! return new BanInfo($obj->iprange, $obj->reason); } return 0; } /** * Ban::addBan() * Adds a new ban to the banlist. Returns 1 on success, 0 on error * * @param Integer $blogid ID for weblog * @param String $iprange IP range * @param String $reason reason for banning * @return Boolean * */ public function addBan($blogid, $iprange, $reason) { global $manager; $blogid = intval($blogid); $manager->notify( 'PreAddBan', array( 'blogid' => $blogid, 'iprange' => &$iprange, 'reason' => &$reason ) ); $query = "INSERT INTO %s (blogid, iprange, reason) VALUES (%d, '%s', '%s')"; $query = sprintf($query, sql_table('ban'), $blogid, sql_real_escape_string($iprange), sql_real_escape_string($reason)); $res = sql_query($query); $manager->notify( 'PostAddBan', array( 'blogid' => $blogid, 'iprange' => $iprange, 'reason' => $reason ) ); return $res ? 1 : 0; } /** * Removes a ban from the banlist (correct iprange is needed as argument) * Returns 1 on success, 0 on error */ public function removeBan($blogid, $iprange) { global $manager; $blogid = intval($blogid); $manager->notify('PreDeleteBan', array('blogid' => $blogid, 'range' => $iprange)); $query = 'DELETE FROM '.sql_table('ban')." WHERE blogid=$blogid and iprange='" .sql_real_escape_string($iprange). "'"; sql_query($query); $result = (sql_affected_rows() > 0); $manager->notify('PostDeleteBan', array('blogid' => $blogid, 'range' => $iprange)); return $result; } } class BanInfo { public $iprange; public $message; public function __construct($iprange, $message) { $this->iprange = $iprange; $this->message = $message; return; } }