Seite 1 von 2
Flootlimit bei Admins deaktivieren?
Verfasst: 16.04.2003 20:44
von Volle
Hallo,
gibt es einen Mod, der Admins erlaubt so schnell hintereinander Beiträge zu schreiben wie sie wollen, oder für jede Usergruppe ein eigenes Zeitlimit einstellen lässt?
Volle
Verfasst: 18.04.2003 19:02
von saerdnaer
nein gibt es nicht aber wenn du folgendes in der includes/functions_post.php änderst ist das floodlimit für admins deaktiviert:
suche:
Code: Alles auswählen
//
// 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 (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
ersetzen durch
Code: Alles auswählen
if ( $userdata['user_level'] != ADMIN )
{
//
// 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 (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval']))
{
message_die(GENERAL_MESSAGE, $lang['Flood_Error']);
}
}
}
}
ah
Verfasst: 19.04.2003 12:52
von Volle
danke, nun kann ich wenigstens als Admin das ganze umgehen
Volle
Verfasst: 20.04.2003 15:40
von saerdnaer
naja willst du das ganze auch noch mit gruppen haben?
ah
Verfasst: 20.04.2003 19:41
von Volle
Ja, wär sicherlich auch ganz interessant.
Volle
Verfasst: 20.04.2003 19:53
von saerdnaer
okay füge folgende funktion am ende der includes/functions.php vor ?> ein:
Code: Alles auswählen
function member_of($group_id, $userdata)
{
global $db;
if ( !$userdata['session_logged_in'] )
{
return false;
}
$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . "
WHERE user_id = '" . $userdata['user_id'] . "' AND group_id IN ( " . $group_id . " )";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ( $row['num'] > 0 )
{
return true;
}
return false;
}
und dann noch in der functions_post.php suchen:
Code: Alles auswählen
if ( $userdata['user_level'] != ADMIN )
{
//
// Flood control
//
ersetzen durch
Code: Alles auswählen
if ( $userdata['user_level'] != ADMIN || member_of('1,2,3', $userdata) )
{
//
// Flood control
//
wobei du das 1,2,3 durch die ids der entsprechenden gruppen ersetzen musst...
ah
Verfasst: 21.04.2003 12:01
von Volle
gibt es eine Möglichkeit das ganze noch über die Gruppenverwaltung zu steuern?
Verfasst: 21.04.2003 15:06
von saerdnaer
sicher allerdings würde das etwas mehr anstrengungen erfordern...
ah
Verfasst: 21.04.2003 15:24
von Volle
hmm ok wär ein Argument, aber im Sinne der anderen Admins die auf dem Board noch mit entscheiden wäre es sicher einfacher das über die Adminoberfläche zu verwalten, vorallem muss dann nicht jeder die Dateieneditieren und womöglich noch etwas zerschießen.
Volle
Verfasst: 21.04.2003 15:28
von saerdnaer
würde es dir reichen wenn du im adminbereich unter konfiguration die ids eintragen kannst?
ah