Seite 1 von 1

Standardbenutzergruppe

Verfasst: 14.06.2003 22:16
von orgachef
Hallo,
bin neu hier im Forum & hab folgendes Problem:

ich hab ein phpBB 2.04 laufen und möchte ein zweites mit phpBB Plus starten. Mein Problem ist, dass ich keine Standard-Usergruppe anlegen kann wie in WBB 1.2. Da kann man eine Standardgruppe für Registrierte und für Gäste einstellen, in die die jeweiligen User dann automatisch eingeordnet werden.
In phpBB 2.04 muss ich nach meinem Kenntnisstand jeden einzelnen User in eine Gruppe ordnen aus der er aber auch selbst wieder austreten kann.

Was kann ich da machen? Ich hab ziemlich lang hier im Forum gesucht und bin leider einfach nicht fündig geworden. Ist ein ziemlich dringendes Problem.
Vielen Dank schon mal,

orgachef

Verfasst: 14.06.2003 22:19
von Schumi
Probiere mal den Auto Group Mod aus. Den kannst du zumindest für registrierte Benutzer verwenden.
http://mods.db9.dk/viewtopic.php?t=115

Verfasst: 15.06.2003 13:33
von orgachef
hm, danke erst mal. ist aber noch nicht ganz das, was ich mir vorgestellt habe. ich hoffe, dass in phpBB 2.1 so eine ähnliche funktion eingebaut sein wird wie in wbb1.2. das ist momentan der einzigste grund, der mich von phpBB abhält. Kann ich wenigsten unterbinden, dass User, die ich einer bestimmten Gruppe zugeordnet habe, sich aus dieser wieder austragen?
danke schon mal,
orgachef

Verfasst: 15.06.2003 13:34
von Acid
Du könntest den "Unsubscribe" Button aus dem Template (groupcp_info_body) entfernen... dann könnten sie sich ned mehr selbst aus der Gruppe entlassen.

Verfasst: 15.06.2003 13:42
von orgachef
hm, klingt einleuchtend. kannst du mir als phpBB-Anfänger noch sagen, in welchem template ich suchen muss? thx

Verfasst: 15.06.2003 13:49
von Acid
Ich hatte meinen Beitrag nochma editiert.. vielleicht hast es beim Schreiben übersehen.

Code: Alles auswählen

		<!-- BEGIN switch_unsubscribe_group_input -->
		<input class="mainoption" type="submit" name="unsub" value="{L_UNSUBSCRIBE_GROUP}" />
		<!-- END switch_unsubscribe_group_input -->
Das müsstest du aus der groupcp_info_body.tpl löschen.

Wenn Du ganz sicher gehen willst, könntest du noch folgenden Code aus der groupcp.php löschen bzw. deaktivieren (// vor jede Zeile schreiben).

Code: Alles auswählen

else if ( isset($HTTP_POST_VARS['unsub']) || isset($HTTP_POST_VARS['unsubpending']) && $group_id )
{
	//
	// Second, unsubscribing from a group
	// Check for confirmation of unsub.
	//
	if ( $cancel )
	{
		redirect(append_sid("groupcp.$phpEx", true));
	}
	elseif ( !$userdata['session_logged_in'] )
	{
		redirect(append_sid("login.$phpEx?redirect=groupcp.$phpEx&" . POST_GROUPS_URL . "=$group_id", true));
	}

	if (!isset($HTTP_POST_VARS['sid']) || $HTTP_POST_VARS['sid'] != $userdata['session_id'])
	{
		message_die(GENERAL_ERROR, 'Invalid_session');
	}

	if ( $confirm )
	{
		$sql = "DELETE FROM " . USER_GROUP_TABLE . " 
			WHERE user_id = " . $userdata['user_id'] . " 
				AND group_id = $group_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not delete group memebership data', '', __LINE__, __FILE__, $sql);
		}

		if ( $userdata['user_level'] != ADMIN && $userdata['user_level'] == MOD )
		{
			$sql = "SELECT COUNT(auth_mod) AS is_auth_mod 
				FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug 
				WHERE ug.user_id = " . $userdata['user_id'] . " 
					AND aa.group_id = ug.group_id 
					AND aa.auth_mod = 1";
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Could not obtain moderator status', '', __LINE__, __FILE__, $sql);
			}

			if ( !($row = $db->sql_fetchrow($result)) )
			{
				$sql = "UPDATE " . USERS_TABLE . " 
					SET user_level = " . USER . " 
					WHERE user_id = " . $userdata['user_id'];
				if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
				}
			}
		}

		$template->assign_vars(array(
			'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("index.$phpEx") . '">')
		);

		$message = $lang['Usub_success'] . '<br /><br />' . sprintf($lang['Click_return_group'], '<a href="' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

		message_die(GENERAL_MESSAGE, $message);
	}
	else
	{
		$unsub_msg = ( isset($HTTP_POST_VARS['unsub']) ) ? $lang['Confirm_unsub'] : $lang['Confirm_unsub_pending'];

		$s_hidden_fields = '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" /><input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" /><input type="hidden" name="unsub" value="1" />';

		$page_title = $lang['Group_Control_Panel'];
		include($phpbb_root_path . 'includes/page_header.'.$phpEx);

		$template->set_filenames(array(
			'confirm' => 'confirm_body.tpl')
		);

		$template->assign_vars(array(
			'MESSAGE_TITLE' => $lang['Confirm'],
			'MESSAGE_TEXT' => $unsub_msg,
			'L_YES' => $lang['Yes'],
			'L_NO' => $lang['No'],
			'S_CONFIRM_ACTION' => append_sid("groupcp.$phpEx"),
			'S_HIDDEN_FIELDS' => $s_hidden_fields)
		);

		$template->pparse('confirm');

		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
	}

}

Verfasst: 15.06.2003 14:02
von orgachef
danke schön! noch eine letzte frage: warum kann ich bei den verschiedenen gruppen nur einstellen, ob eine gruppe im forum moderator ist oder nicht und nicht die ganzen befugnisse? das ändert sich auch nicht, wenn ich die gruppe "geschlossen" oder "versteckt" mache! dabei bin ich admin und moderator der gruppe.
thx

Verfasst: 15.06.2003 14:03
von Acid
Um auch die anderen Befugnisse einstellen zu können, muss das Forum "privat" sein.

Verfasst: 15.06.2003 14:05
von orgachef
ah o.k. hat funktioniert. danke nochmal.