Au passage pour ton MOD babacooll, j'ai corigé le fichier d'installation et j'ai optimisé ton script...
J'ai remplacé
- Code: Tout sélectionner
//
// Flood control
//
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
$sql = "SELECT MAX(post_time) AS last_post_time
FROM " . POSTS_TABLE . "
WHERE $where_sql";
if ($result = $db->sql_query($sql))
{
if ($row = $db->sql_fetchrow($result))
{
if ( $userdata['user_level'] == 1 )
{
if ( $board_config['flood_edit_admin'] )
{
if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_admin']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
else
{
if ( $mode == 'newtopic' || $mode == 'reply' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_admin']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
else if ( $userdata['user_level'] == -1 )
{
if ( $board_config['flood_edit_guest'] )
{
if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_guest']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
else
{
if ( $mode == 'newtopic' || $mode == 'reply' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_guest']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
else if ( $userdata['user_level'] == 0 )
{
if ( $board_config['flood_edit_user'] )
{
if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_user']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
else
{
if ( $mode == 'newtopic' || $mode == 'reply' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_user']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
else if ( $userdata['user_level'] == 2 )
{
if ( $board_config['flood_edit_modo'] )
{
if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_modo']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
else
{
if ( $mode == 'newtopic' || $mode == 'reply' )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_modo']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
}
}
par
- Code: Tout sélectionner
//
// Flood control
//
$where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id'];
$sql = "SELECT MAX(post_time) AS last_post_time
FROM " . POSTS_TABLE . "
WHERE $where_sql";
if ($result = $db->sql_query($sql))
{
$row = $db->sql_fetchrow($result);
if ( $userdata['user_level'] == ADMIN )
{
$user_type_flood = 'admin';
}
else if ( $userdata['user_level'] == USER )
{
$user_type_flood = 'user';
}
else if ( $userdata['user_level'] == MOD )
{
$user_type_flood = 'modo';
}
else
{
$user_type_flood = 'guest';
}
if ( $mode == 'newtopic' || $mode == 'reply' || ( $mode == 'editpost' && $board_config['flood_edit_' . $user_type_flood] ) )
{
if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval_' . $user_type_flood]))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
C'était vraiment pas dur à optimiser
Je le met dans la abse de donnée des MODS en post it









