various bug fixed, introduced ban ID, temporarily broke caching bans with memcached

This commit is contained in:
Savetheinternet 2011-08-04 15:47:34 +10:00
parent 1fe672fed2
commit c4c6a98396
6 changed files with 109 additions and 113 deletions

View file

@ -736,16 +736,14 @@
// Remote servers
// http://tinyboard.org/wiki/index.php?title=Multiple_Servers
//$config['remote'] = Array(
// 'static' => Array(
// 'host' => 'static.example.org',
// 'auth' => Array(
// 'method' => 'plain',
// 'username' => 'username',
// 'password' => 'password!123'
// ),
// 'type' => 'scp'
// )
//$config['remote']['static'] = Array(
// 'host' => 'static.example.org',
// 'auth' => Array(
// 'method' => 'plain',
// 'username' => 'username',
// 'password' => 'password!123'
// ),
// 'type' => 'scp'
//);
// Enable reCaptcha to make spam even harder

View file

@ -477,13 +477,6 @@
return;
}
if($config['memcached']['enabled']) {
// Cached ban?
if($ban = $memcached->get("ban_${board}_${_SERVER['REMOTE_ADDR']}")) {
displayBan($ban);
}
}
$query = prepare("SELECT `set`, `expires`, `reason`, `board`, `uri` FROM `bans` LEFT JOIN `boards` ON `boards`.`id` = `board` WHERE (`board` IS NULL OR `uri` = :board) AND `ip` = :ip ORDER BY `expires` IS NULL DESC, `expires` DESC, `expires` DESC LIMIT 1");
$query->bindValue(':ip', $_SERVER['REMOTE_ADDR']);
$query->bindValue(':board', $board);
@ -512,8 +505,6 @@
return;
}
if($config['memcached']['enabled'])
$memcached->set("ban_${board}_${_SERVER['REMOTE_ADDR']}", $ban, $ban['expires']);
displayBan($ban);
}
}

View file

@ -273,5 +273,20 @@
'</form>' .
'</fieldset>';
}
function removeBan($id) {
global $config;
$query = prepare("DELETE FROM `bans` WHERE `id` = :id");
$query->bindValue(':id', $id, PDO::PARAM_INT);
$query->execute() or error(db_error($query));
if($config['memcached']['enabled']) {
// Remove cached ban
// TODO
$memcached->delete("ban_{$id}");
}
}
?>