Seite 1 von 2
Bei neuem Forum: auch neue Benutzergruppe
Verfasst: 25.05.2006 19:26
von leopittoni
Hallo
Wie könnte ich es am besten machen, dass es, wenn ich ein neues Forum erstelle, gleichzeitig auch eine neue Benutzergruppe erstellt, die den gleichen Namen hat wie das gerade erstellte Forum und Rechte für dieses Forum bekommt?
Danke, Léo
Verfasst: 25.05.2006 19:52
von leopittoni
Hi
Ich habs mal versucht, hier ein Ausschnitt aus meiner "admin_forums.php":
Nun kommt aber beim erstellen eines neuen Forums das:
Code: Alles auswählen
Could not insert new group
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' '', '', , '0')' at line 2
INSERT INTO phpbb_groups (group_type, group_name, group_description, group_moderator, group_single_user) VALUES (, '', '', , '0')
Line : 423
File : admin_forums.php
Was hab ich falsch gemacht? Wer kann mir helfen?
Danke, Léo
Verfasst: 25.05.2006 20:01
von BB-BF-BM
probier mal statt
Code: Alles auswählen
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_type, group_name, group_description, group_moderator, group_single_user)
VALUES ($group_type, '" . str_replace("\'", "''", $group_name) . "', '" . str_replace("\'", "''", $group_description) . "', $group_moderator, '0')";
folgenden Code:
Code: Alles auswählen
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_type, group_name, group_description, group_moderator, group_single_user)
VALUES ('".$group_type."'., '" . str_replace("\'", "''", $group_name) . "', '" . str_replace("\'", "''", $group_description) . "', '".$group_moderator."'., '0')";
Verfasst: 25.05.2006 20:06
von leopittoni
Jetzt kommt das:
Code: Alles auswählen
Could not insert new group
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '., '', '', ''., '0')' at line 2
INSERT INTO phpbb_groups (group_type, group_name, group_description, group_moderator, group_single_user) VALUES (''., '', '', ''., '0')
Line : 422
File : admin_forums.php
Danke für die Hilfe!
Léo
Verfasst: 25.05.2006 21:07
von leopittoni
Hi
Habs nun geschafft:
Code: Alles auswählen
//
// GLEICHTZEITIG GLEICHNAMIGE BENUTZERGRUPPE ERSTELLEN :: START
//
$sql = "INSERT INTO " . GROUPS_TABLE . " (group_type, group_name, group_description, group_moderator, group_single_user)
VALUES ('2', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', '2', '0')";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new group', '', __LINE__, __FILE__, $sql);
}
$new_group_id = $db->sql_nextid();
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
VALUES ('" . $next_id . "', '2', 0)";
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not insert new user-group info', '', __LINE__, __FILE__, $sql);
}
$message = $lang['Added_new_group'] . '<br /><br />' . sprintf($lang['Click_return_groupsadmin'], '<a href="' . append_sid("admin_groups.$phpEx") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');;
message_die(GENERAL_MESSAGE, $message);
//
// GLEICHTZEITIG GLEICHNAMIGE BENUTZERGRUPPE ERSTELLEN :: ENDE
//
Trotzdem danke!
Léo
Verfasst: 26.05.2006 10:48
von leopittoni
Ok, ich habe weirtergebastelt, damit es die entsprechende und gleichnamige (auch selbe ID, also gruppen_id=forum_id) Gruppe beim löschen des Forums auch mitlöscht.
Es kommt nun aber im Admin-Panel dieses Error:
Code: Alles auswählen
Parse error: syntax error, unexpected T_CASE in /home/www/web269/html/support/phpBB2/admin/admin_forums.php on line 903
Wer kann mir helfen? Hier ist meine editierte admin_forums.php.txt
http://web269.sigma.ibone.ch/support/ad ... ms.php.txt
Danke! Léo
Verfasst: 26.05.2006 11:21
von leopittoni
Ok, hab die Datei nun geändert, es kommt keine fehlermeldung mehr, aber es steht:
, das Forum wird gelöscht, nicht aber die Benutzergruppe.
Léo
Verfasst: 26.05.2006 11:21
von S2B
Finde:
Füge davor ein:
Ein bisschen gescheite Einrückung kann übrigens nichts schaden, dann hättest du den Fehler nämlich auch alleine gefunden.

Verfasst: 26.05.2006 11:27
von leopittoni
Hi
Danke, hab den Fehler auch gefunden... Hast wahrscheinlich gleichzeitig mit mir geschrieben...
Jetzt hats aber einen neuen Fehler.. Vielleicht kannst Du mir ja jetzt helfen?
Danke, Léo
Verfasst: 26.05.2006 12:59
von S2B
Naja, 1:1 darfst du den Code nicht übernehmen:
Code: Alles auswählen
$group_type = isset($HTTP_POST_VARS['group_type']) ? intval($HTTP_POST_VARS['group_type']) : GROUP_OPEN;
$group_name = isset($HTTP_POST_VARS['group_name']) ? htmlspecialchars(trim($HTTP_POST_VARS['group_name'])) : '';
$group_description = isset($HTTP_POST_VARS['group_description']) ? trim($HTTP_POST_VARS['group_description']) : '';
$group_moderator = isset($HTTP_POST_VARS['username']) ? $HTTP_POST_VARS['username'] : '';
$delete_old_moderator = isset($HTTP_POST_VARS['delete_old_moderator']) ? true : false;
Diese Variablen musst du anpassen, z.B. für den Gruppennamen den Namen des Forums.
Mal ganz abgesehen davon: Was macht der Code überhaupt an der Stelle? Der überprüft doch bis jetzt nur irgendwelche Werte... Außerdem würde ich mal behaupten, dass das else nicht wirklich bedacht ist.
