Bei neuem Forum: auch neue Benutzergruppe

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Bei neuem Forum: auch neue Benutzergruppe

Beitrag 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
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Zuletzt geändert von leopittoni am 26.05.2006 10:45, insgesamt 1-mal geändert.
BB-BF-BM
Mitglied
Beiträge: 2179
Registriert: 28.10.2005 16:38
Wohnort: Essen

Beitrag 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')"; 
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
leopittoni
Mitglied
Beiträge: 1162
Registriert: 26.04.2004 20:17

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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:
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“