Seite 1 von 2
admin_board.php und db
Verfasst: 01.11.2002 13:57
von Olaf01
Wie ändere ich die Einstellung in admin_board.php.
Ich möchte Funktionen dort deaktivieren. In der Datei ist jedoch angemerkt das "jeder" Teil der phpbb_config geändert wird. Sobald also Einträge gelöscht werden wird der entsprechende Teil einfach in der db auf "nichts" gesetzt.
Dies ist natürlich nicht der Effekt den ich erreichen möchte.
Da dies ein sehr wichtiger Teil ist möchte ich keine Fehler machen. Es geht darum, daß lediglich die "Allgemeine Boardeinstellungen" unerwünscht sind. Wie erstelle ich nun eine Einzelabfrage für die entsprechenden Punkte?
Verfasst: 01.11.2002 14:50
von saerdnaer
um was gehts... was willst du überhaupt machen?
ah
Verfasst: 01.11.2002 15:11
von Olaf01
Ich habe den Supermoderatorenhack eingebaut.
Den Supermoderatoren möchte ich nun die Mpglichkeit geben Einstellungen zu verändern. Er soll jedoch keinen Zugriff auf lebenswichtige Bereiche erhalten.
Die Jungs sind zwar zuverlässig aber ....
Da nun der gesamte Bereich ausgelesen wird und ebenso in die config insgesamt geschrieben wird stehe ich auf dem Schlauch. Da ich mit den db-Abfragen (noch) nicht so fit bin habe ich in diesem Bereich einige Bedenken.
Code: Alles auswählen
//
// Pull all config data
//
$sql = "SELECT *
FROM " . CONFIG_TABLE;
if(!$result = $db->sql_query($sql))
{
message_die(CRITICAL_ERROR, "Could not query config information in admin_board", "", __LINE__, __FILE__, $sql);
}
else
{
while( $row = $db->sql_fetchrow($result) )
{
$config_name = $row['config_name'];
$config_value = $row['config_value'];
$default_config[$config_name] = $config_value;
$new[$config_name] = ( isset($HTTP_POST_VARS[$config_name]) ) ? $HTTP_POST_VARS[$config_name] : $default_config[$config_name];
if( isset($HTTP_POST_VARS['submit']) )
{
$sql = "UPDATE " . CONFIG_TABLE . " SET
config_value = '" . str_replace("\'", "''", $new[$config_name]) . "'
WHERE config_name = '$config_name'";
if( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Failed to update general configuration for $config_name", "", __LINE__, __FILE__, $sql);
}
}
}
if( isset($HTTP_POST_VARS['submit']) )
{
$message = $lang['Config_updated'] . "<br /><br />" . sprintf($lang['Click_return_config'], "<a href=\"" . append_sid("admin_board.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
}
}
Irgendwo hier werde ich die entscheidenden Änderungen vornehmen dürfen.
Ich benötige einen Hinweis wie ich die einzelnen Datensätze aus der db einlese und ebenso in die db schreibe.
Verfasst: 01.11.2002 15:22
von saerdnaer
ja jetzt ist mir klar was du willst
gibt es da nicht einen extra ordner für das supermod panel?
ansonsten besorg dir mal den junior admin panel hack da kannst du das genauer einstellen...
ah
Verfasst: 01.11.2002 16:44
von Olaf01
Das wäre meine absolute Notlösung. Ich würde jedoch nicht unbedingt stundenlang die Einträge vom alten Mod entfernen wollen (Ich habe rnd. 12 Mods drauf) und danach die Anpassung für den neuen Mod einbringen.
Meine Lösung wäre eleganter

Verfasst: 02.11.2002 11:11
von Acid
Beim Junior Hack kann ma zwar verschiedene Bereiche einstellen, die erlaubt sind für´n Junior Admin, aber ich bin mir ned so sicher, ob man innerhalb eines Bereiches (Konfiguration) auch noch ma selektieren kann.
Du könntest es über Deine user_id bzw. dem user_level machen und halt ´ne Abfrage einbauen, das nur Du
alle Einstellungen siehst.
Oder Du kopierst die admin_board.php, benennst sie um, änderst die Beschriftung und löschst dann das was für die SuperTypen ned sichtbar sein soll.
@saerdnaer
...hattest gleich 3ma hintereinander gepostet.

Verfasst: 02.11.2002 11:31
von Olaf01
Acid hat geschrieben:Du könntest es über Deine user_id bzw. dem user_level machen und halt ´ne Abfrage einbauen, das nur Du alle Einstellungen siehst.
Oder Du kopierst die admin_board.php, benennst sie um, änderst die Beschriftung und löschst dann das was für die SuperTypen ned sichtbar sein soll.
Das mit dem Kopieren und löschen funktioniert leider nicht. Dabei zerschieße ich meine config. Wie bereits geschildert wird die Config eingelesen und danach einfach "entleert" (Die gelöschten Elemente) in die Datenbank eingetragen. (Oder der Herr muß Hirn werfen damit ich es richtig mache

)
Das obere werde ich mal versuchen.
Verfasst: 02.11.2002 14:27
von saerdnaer
also dann mach doch mal folgendes:
öffne die admin_board.php
suche:
davor einfügen
dann suche nochmal
Code: Alles auswählen
include($phpbb_root_path . 'includes/functions_selects.'.$phpEx);
und füge danach ein:
Code: Alles auswählen
if ( $userdata['user_level'] != ADMIN )
{
message_die(GENERAL_MESSAGE, 'Not_Authorised');
}
sollte funktionieren
@acid: kann sein da das forum oder eher die db etwas verrückt gespielt hat...
ah
Verfasst: 02.11.2002 20:01
von Acid
...aber blockt dieser Code nicht die komplette admin_board.php für Nicht-ADMINS aus ?
Verfasst: 02.11.2002 20:36
von Olaf01
Genau das würde der Code auch nach meiner Meinung machen. Ich habe etwas rumgespielt und die einzelnen Bereiche jeweils gesperrt. Ich erhalte jetzt jeweils die Fehlermeldung das ich keinen Zugang habe (als Supermod.)
Also werden die Daten doch einzeln ausgelesen werden müssen und separat zurückgeschrieben.
Ich werde mich am Sonntag damit beschäftigen. Sollte ich irgendwo in ein tiefes Loch stürzen, so nehme ich mein Seil und rufe hier um Hilfe
Danke ersteinmal für die Mühe. - Sollte jedoch jemand....