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":

Code: Alles auswählen

		EDITET UM ÜBERSICHT ZU BEHALTEN...

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:

Code: Alles auswählen

Bitte gib einen Gruppennamen an
, das Forum wird gelöscht, nicht aber die Benutzergruppe.

Léo

Verfasst: 26.05.2006 11:21
von S2B
Finde:

Code: Alles auswählen

		//
		// Delete Group :: ENDE
		//
Füge davor ein: Ein bisschen gescheite Einrückung kann übrigens nichts schaden, dann hättest du den Fehler nämlich auch alleine gefunden. :wink:

Verfasst: 26.05.2006 11:27
von leopittoni
Hi

Danke, hab den Fehler auch gefunden... Hast wahrscheinlich gleichzeitig mit mir geschrieben... :grin:

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. :wink:

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. :wink: