Seite 2 von 2

Verfasst: 26.05.2006 13:05
von leopittoni
Hmm, ja, was dieser Code soll weiss ich auch nicht genau... :grin:

Nehm den mal raus... Bingt soviel ich da davon verstehe nichts.

Léo

Verfasst: 30.05.2006 20:07
von leopittoni
Hallo

Ok, jetzt versuche ich, dass es die entsprechende Benutzergruppe automatisch löscht, wenn ich das Forum lösche, leider wird nun aber die Benutzergruppe nicht gelöscht, nur das Forum...

Hier mein Code:

Code: Alles auswählen

//
		// Delete Group :: START
		//
		
		// Welche Gruppen-ID gehoert zur Forum-ID?
		
		$sql = "SELECT group_id FROM " . AUTH_ACCESS_TABLE . " 
      WHERE forum_id = $from_id"; 
       
      $result = mysql_query($sql) OR die(mysql_error()); 
      $row = mysql_fetch_assoc($result); 
      $gruppen_id = $row['group_id'];
	
	
		//
		// Reset User Moderator Level
		//

		// Yes, get the assigned users and update their Permission if they are no longer moderator of one of the forums
			$sql = "SELECT user_id FROM " . USER_GROUP_TABLE . "
				WHERE group_id = $gruppen_id";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not select user_group', '', __LINE__, __FILE__, $sql);
			}

			$rows = $db->sql_fetchrowset($result);
			for ($i = 0; $i < count($rows); $i++)
			{
				$sql = "SELECT g.group_id FROM " . AUTH_ACCESS_TABLE . " a, " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
				WHERE (a.auth_mod = 1) AND (g.group_id = a.group_id) AND (a.group_id = ug.group_id) AND (g.group_id = ug.group_id) 
					AND (ug.user_id = " . intval($rows[$i]['user_id']) . ") AND (ug.group_id <> " . $gruppen_id . ")";
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not obtain moderator permissions', '', __LINE__, __FILE__, $sql);
				}

				if ($db->sql_numrows($result) == 0)
				{
					$sql = "UPDATE " . USERS_TABLE . " SET user_level = " . USER . " 
					WHERE user_level = " . MOD . " AND user_id = " . intval($rows[$i]['user_id']);
					
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not update moderator permissions', '', __LINE__, __FILE__, $sql);
					}
				}
			}

		//
		// Loesche "Group"
		//
		$sql = "DELETE FROM " . GROUPS_TABLE . "
			WHERE group_id =  $gruppen_id";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update group', '', __LINE__, __FILE__, $sql);
		}

		$sql = "DELETE FROM " . USER_GROUP_TABLE . "
			WHERE group_id = $gruppen_id";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update user_group', '', __LINE__, __FILE__, $sql);
		}

		$sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
			WHERE group_id = $gruppen_id";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not update auth_access', '', __LINE__, __FILE__, $sql);
		}

			
		//
		// Delete Group :: ENDE
		//

Danke für die Hilfe! Léo