user in einem gruppe

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

user in einem gruppe

Beitrag von musteng »

Hi
Für einen gruppe gibts immer eine führer nur der einen user hinzufügen kan.ist das möglich das zu erweitern ich möchte beispiel paar mods auch dieser möglichkeit geben.

mfg
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

das mod ist nicht für plus denke ich :) es ist fast alles nicht findbar oder es gibt mehrer oder nichtmal ähnliche.
Hier habe ich den bis includes/functions.php versucht dan aufgegeben weil der mod nicht identisch mit plus hat.

Code: Alles auswählen

#-----[ IN-LINE FIND Gibts mehrer ]---------------------------------------- 
#
WHERE
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 (
--------------------
#-----[ IN-LINE FIND Gibts zwei ]---------------------------------------- 
#
AND g.group_id = $group_id
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 AND u.user_id = ug.user_id AND ug.group_id = g.group_id
-----------------------
#-----[ FIND gibts nicht]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
	$template->assign_vars(array(
		'META' => '<meta http-equiv="refresh"
	);

	$message = $lang['Group_joined']
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ------------------------------------------------------------------------
//-- add
	}
//-- fin mod : group moderatorZ --------------------------------------------------------------------
---------------
#-----[ FIND gibts nicht]------------------------------------------------
#
		if ( !empty($HTTP_POST_VARS['add']) || !empty($HTTP_POST_VARS['remove']) || isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ------------------------------------------------------------------------
// here we added
//	 || isset($HTTP_POST_VARS['grant_ungrant'])
//-- modify
-----------------
#-----[ IN-LINE FIND gibts nicht]---------------------------------------- 
#
isset($HTTP_POST_VARS['deny'])
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 || isset($HTTP_POST_VARS['grant_ungrant'])
------------------------
#-----[ FIND gibts nicht]------------------------------------------------
#
# this is a partial search : the full line are longer
#
	$sql = "SELECT u.username, u.user_id, u.user_viewemail
		FROM " . USERS_TABLE . " u
		WHERE ug.group_id = $group_id
			AND u.user_id = ug.user_id
			AND ug.user_pending = 0 
			AND ug.user_id <> " . $group_moderator['user_id'] . " 
		ORDER BY u.username";
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ------------------------------------------------------------------------
// here we added
//	, ug.group_moderator
// and
//	ug.group_moderator DESC,
//-- modify
	// group owner

----------------------------
#-----[ FIND gibts nicht]------------------------------------------------
#
			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

			$template->assign_block_vars('member_row', array(
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ------------------------------------------------------------------------
//-- delete
//			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
//			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
//
//			$template->assign_block_vars('member_row', array(
//-- add
			if ($last_member_type != $group_members[$i]['group_moderator'] )
			{
				$template->assign_block_vars('member_type', array(
					'L_TYPE' => ( $group_members[$i]['group_moderator'] ) ? $lang['Group_Moderator'] : $lang['Group_Members'],
					)
				);
				$color = false;
			}
			$last_member_type = $group_members[$i]['group_moderator'];
			$color = !$color;
			$row_color = ( $color ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( $color ) ? $theme['td_class1'] : $theme['td_class2'];

			$template->assign_block_vars('member_type.member_row', array(
//-- fin mod : group moderatorZ --------------------------------------------------------------------

--------------------
includes/functions.php
#-----[ FIND gibts nicht]------------------------------------------------
#
		}

		if ( empty($template) )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : language settings -----------------------------------------------------------------------
//-- add
			include($phpbb_root_path . './includes/lang_extend_mac.' . $phpEx);
//-- fin mod : language settings -------------------------------------------------------------------
---------------------------
ich habe die neu version gefunden von der mod aber es passt auch nicht ganz.

Code: Alles auswählen

#-----[ FIND gibts nicht]------------------------------------------------
#
		if ( !empty($HTTP_POST_VARS['add']) || !empty($HTTP_POST_VARS['remove']) || isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) )

----------------------

bei groupcp_info_body.tpl
#-----[ FIND ]------------------------------------------------
#
# here we need to split the <input...> onto a new line, to allow to add our own with switch, so let's replace the whole thing
#
		<td class="catBottom" colspan="8" align="right">
			<span class="cattitle"><input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" /></span>
		</td>
Ich drehe durch ich habe das eingebaut keine fehler meldung nichts aber wen ich gruppen führer hinzufügen möchte passiert nichts

ich hängemall meine daten kanstdu bitte gucken.
Zuletzt geändert von musteng am Sa 14.Okt, 2006 21:16, insgesamt 4-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du schon was nicht findest, dann häng auch bitte die Dateien an, bei denen Du Probleme hast!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

ich hatte doch die angehängt ^5

[ Attachment gelöscht am So 15.Okt, 2006 11:13 von oxpus ]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann anders ausgedrückt:
Die groupcp.php ist zunächst korrekt gemoddet.
Was Du jetzt noch an Fehlern bemängelst, liegt in der functions.php und admin_ug_auth.php.
Und die beiden hast Du NICHT angehangen!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

oxpus was du schreibst gibts garnicht bei der mod du hast den alten mod.
hier nochmal das neu version und bei der neu version ist das nicht nötig was du meinst.das admin_ug_auth.php ist nicht mall dabei was du mir empfohlen hast.ich weis nicht wo du jetzt bist ?

Code: Alles auswählen

##############################################################
## MOD Title:			Group ModeratorZ
## MOD Author:			Ptirhiik < n/a > (Pierre) http://ptifo.clanmckeen.com
## MOD Description:		This mod allows to have more than one group moderator.
##
## MOD Version:			1.0.2
##
## Installation Level:	Easy
## Installation Time:	10 Minutes
## Files To Edit: 
##						groupcp.php
##						templates/subSilver/groupcp_info_body.tpl
##
## Included Files:
##						root/language/lang_english/lang_extend_group_moderatorz.php
## License:				http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
##	The mod introduces a new notion : the group owner which is the main moderator.
##
##	The group owner is set on the admin panel, as usual. Then the group owner can grant or ungrant
##	the group moderator status to anyone within the group control panel.
##
##	A group moderator will receive the email of pending users, will be able to accept their admittance,
##	but won't be able to grant them (or ungrant) the group moderator status.
##
##
##	Side note regarding upgrades :
##	----------------------------
##	Just undo the modifications of the previous version in groupcp.php (all is commented), and apply the new ones.
##	Regarding the tpl part, restart from an unmoddified groupcp_info_body.tpl, and apply them : they have changed
##	since the previous versions, and are now less intrusive.
##
##############################################################
## MOD History:
##
##   2006-03-14 - Version 1.0.2
## 		- review the mod for phpBB 2.0.19,
## 		- fix a security issue
##
##   2003-10-28 - Version 1.0.1
## 		- fix a bug when group was empty
## 		- add the lang settings tool
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#-----[ SQL ]-------------------------------------------------
#
ALTER TABLE phpbb_user_group ADD group_moderator TINYINT(1) NOT NULL;
#
#-----[ COPY ]------------------------------------------------
#
COPY root/*.* TO *.*
#
#-----[ OPEN ]------------------------------------------------
#
groupcp.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
// End session management
//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
// get lang
$files = array();
if ( $board_config['default_lang'] != 'english' )
{
	$files[] = $phpbb_root_path . 'language/lang_english/lang_extend_group_moderatorz.' . $phpEx;
}
$files[] = $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_extend_group_moderatorz.' . $phpEx;
foreach ( $files as $file )
{
	if ( @file_exists($file) )
	{
		include($file);
	}
}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT group_moderator 
		FROM " . GROUPS_TABLE . "  
		WHERE group_id = $group_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
	}

	$row = $db->sql_fetchrow($result);

	if ( $row['group_moderator'] != $userdata['user_id'] && $userdata['user_level'] != ADMIN )
	{
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	$sql = 'SELECT ug.user_id
				FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
				WHERE ug.group_id = ' . intval($group_id) . '
					AND g.group_id = ug.group_id
					AND (ug.user_id = g.group_moderator OR ug.group_moderator = 1)';
	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
	}
	$group_moderators = array();
	while ($row = $db->sql_fetchrow($result) )
	{
		$group_moderators[] = intval($row['user_id']);
	}
	$db->sql_freeresult($result);
	if ( (empty($group_moderators) || !in_array($userdata['user_id'], $group_moderators)) && ($userdata['user_level'] != ADMIN) )
	{
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT u.user_email, u.username, u.user_lang, g.group_name 
		FROM ".USERS_TABLE . " u, " . GROUPS_TABLE . " g 
		WHERE u.user_id = g.group_moderator 
			AND g.group_id = $group_id";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Error getting group moderator data", "", __LINE__, __FILE__, $sql);
	}

	$moderator = $db->sql_fetchrow($result);

	include($phpbb_root_path . 'includes/emailer.'.$phpEx);
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
	// include the mailer api
	include($phpbb_root_path . 'includes/emailer.'.$phpEx);

	$sql = 'SELECT g.group_name, u.user_email, u.username, u.user_lang
				FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g, ' . USERS_TABLE . ' u
				WHERE ug.group_id = ' . intval($group_id) . '
					AND g.group_id = ug.group_id
					AND (ug.user_id = g.group_moderator OR ug.group_moderator = 1)
					AND u.user_id = ug.user_id';
	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, "Error getting group moderator data", "", __LINE__, __FILE__, $sql);
	}
	$moderators = array();
	while ( $row = $db->sql_fetchrow($result) )
	{
		$group_moderators[] = $row;
	}
	$db->sql_freeresult($result);

	// loop with group moderators
	$count_group_moderators = count($group_moderators);
	for ( $i = 0; $i < $count_group_moderators; $i++ )
	{
		$moderator = $group_moderators[$i];
#
#-----[ FIND ]------------------------------------------------
#
		'GROUP_MODERATOR' => $moderator['username'],
		'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '', 

		'U_GROUPCP' => $server_url . '?' . POST_GROUPS_URL . "=$group_id&validate=true")
	);
	$emailer->send();
	$emailer->reset();
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
	}
	unset($group_moderators);
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$group_moderator = $group_info['group_moderator'];
	
		if ( $group_moderator == $userdata['user_id'] || $userdata['user_level'] == ADMIN )
		{
			$is_moderator = TRUE;
		}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
		$sql = 'SELECT *
					FROM ' . USER_GROUP_TABLE . ' ug, ' . GROUPS_TABLE . ' g
					WHERE ug.group_id = ' . intval($group_id) . '
						AND g.group_id = ug.group_id
						AND (ug.user_id = g.group_moderator OR ug.group_moderator = 1)';
		if ( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain user and group information', '', __LINE__, __FILE__, $sql);
		}
		$group_moderators = array();
		while ($row = $db->sql_fetchrow($result) )
		{
			$group_moderators[] = $row['user_id'];
		}
		$db->sql_freeresult($result);

		$is_moderator = (!empty($group_moderators) && in_array($userdata['user_id'], $group_moderators)) || ($userdata['user_level'] == ADMIN);
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND gibts nicht]------------------------------------------------
#
		if ( !empty($HTTP_POST_VARS['add']) || !empty($HTTP_POST_VARS['remove']) || isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
		if ( !empty($HTTP_POST_VARS['add']) || !empty($HTTP_POST_VARS['remove']) || isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) || isset($HTTP_POST_VARS['grant_ungrant']) )
//-- fin mod : group moderatorZ ------------------------------------------------



#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full lines are longer
#
					$message = $lang['User_is_member_group']

					message_die(GENERAL_MESSAGE, $message);
				}
			}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
			else if ( isset($HTTP_POST_VARS['grant_ungrant']) )
			{
				$selected_members = array();
				$count_post_members = count($HTTP_POST_VARS['members']);
				for ( $i = 0; $i < $count_post_members; $i++ )
				{
					if ( intval($HTTP_POST_VARS['members'][$i]) )
					{
						$selected_members[] = intval($HTTP_POST_VARS['members'][$i]);
					}
				}
				if ( count($selected_members) > 0 )
				{
					$sql = 'SELECT user_id
								FROM ' . USER_GROUP_TABLE . '
								WHERE group_id = ' . intval($group_id) . '
									AND group_moderator = 1
									AND user_id IN(' . implode(', ', $selected_members) . ')
									AND user_id <> ' . intval($group_info['group_moderator']);
					if ( !$result = $db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not get user/group information', '', __LINE__, __FILE__, $sql);
					}
					$group_moderators = array();
					while ( $row = $db->sql_fetchrow($result) )
					{
						$group_moderators[] = $row['user_id'];
					}
					$db->sql_freeresult($result);

					if ( count($group_moderators) > 0)
					{
						$sql = 'UPDATE ' . USER_GROUP_TABLE . '
									SET group_moderator = 0
									WHERE group_id = ' . intval($group_id) . '
										AND user_id <> ' . intval($group_info['group_moderator']) . '
										AND user_id IN(' . implode(', ', $group_moderators) . ')';
						if ( !$db->sql_query($sql) )
						{
							message_die(GENERAL_ERROR, 'Could not ungrant user/group mod status', '', __LINE__, __FILE__, $sql);
						}
					}
					$sql = 'UPDATE ' . USER_GROUP_TABLE . '
								SET group_moderator = 1
								WHERE group_id = ' . intval($group_id) . '
									AND user_id <> ' . intval($group_info['group_moderator']) . '
									AND user_id IN(' . implode(', ', $selected_members) . ')' . (empty($group_moderators) ? '' : '
									AND user_id NOT IN(' . implode(', ', $group_moderators) . ')');
					if ( !$db->sql_query($sql) )
					{
						message_die(GENERAL_ERROR, 'Could not ungrant user/group mod status', '', __LINE__, __FILE__, $sql);
					}

					// return message
					$template->assign_vars(array(
						'META' => '<meta http-equiv="refresh" content="3;url=' . append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id") . '">')
					);
					$message = $lang['Group_grant_ungrant_mod_ok'] . '<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);
				}
			}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	//
	// Get user information for this group
	//
	$sql = "SELECT u.username, u.user_id, u.user_viewemail, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_msnm, ug.user_pending 
		FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug
		WHERE ug.group_id = $group_id
			AND u.user_id = ug.user_id
			AND ug.user_pending = 0 
			AND ug.user_id <> " . $group_moderator['user_id'] . " 
		ORDER BY u.username";
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
	$sql = str_replace(', ug.user_pending', ', ug.group_moderator, ug.user_pending', $sql);
	$sql = str_replace('ORDER BY', 'ORDER BY ug.group_moderator DESC,', $sql);
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		'S_GROUPCP_ACTION' => append_sid("groupcp.$phpEx?" . POST_GROUPS_URL . "=$group_id"))
	);
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
	$template->assign_vars(array(
		'L_GROUP_OWNER' => $lang['Group_owner'],
		'L_GRANT_UNGRANT_SELECTED' => $lang['Group_grant_mod_status'],
	));
	$last_member_type = -1;
	$color = false;
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if ( $group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator )
		{
			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
			$color &= $last_member_type == $group_members[$i]['group_moderator'];
			$color = !$color;
			$row_color = $color ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = $color ? $theme['td_class1'] : $theme['td_class2'];
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			if ( $is_moderator )
			{
				$template->assign_block_vars('member_row.switch_mod_option', array());
			}
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
/*
#
#-----[ AFTER, ADD ]------------------------------------------
#
*/
//-- add
			if ( $last_member_type != $group_members[$i]['group_moderator'] )
			{
				$template->assign_block_vars('member_row.member_type', array(
					'L_TYPE' => ( $group_members[$i]['group_moderator'] ) ? $lang['Group_Moderator'] : $lang['Group_Members'],
				));
				$last_member_type = $group_members[$i]['group_moderator'];
			}
			if ( $is_moderator && (!$group_members[$i]['group_moderator'] || ($group_moderator['user_id'] == $userdata['user_id']) || ($userdata['user_level'] == ADMIN)) )
			{
				$template->assign_block_vars('member_row.switch_mod_option', array());
			}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$template->assign_block_vars('switch_add_member', array());
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
		if ( ($group_moderator['user_id'] == $userdata['user_id']) || ($userdata['user_level'] == ADMIN) )
		{
			$template->assign_block_vars('switch_mod_option.switch_owner_option', array());
		}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/groupcp_info_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
{L_GROUP_MODERATOR}
#
#----------[ IN-LINE FIND ]-----------------------------------
#
{L_GROUP_MODERATOR}
#
#----------[ IN-LINE REPLACE WITH ]---------------------------
#
{L_GROUP_OWNER}
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line is longer
#
<tr>
{L_GROUP_MEMBERS}
</tr>
<!-- BEGIN member_row -->
#
#-----[ REPLACE WITH ]----------------------------------------
#
	<!-- BEGIN member_row -->
	<!-- BEGIN member_type -->
	<tr>
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{member_row.member_type.L_TYPE}</span></td>
	</tr>
	<!-- END member_type -->
#
#-----[ FIND ]------------------------------------------------
#
	<!-- BEGIN switch_no_members -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MEMBERS}</span></td>
	</tr>
#
#-----[ FIND ]------------------------------------------------
#
# here we need to split the <input...> onto a new line, to allow to add our own with switch, so let's replace the whole thing
#
		<td class="catBottom" colspan="8" align="right">
			<span class="cattitle"><input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" /></span>
		</td>
#
#-----[ REPLACE WITH ]----------------------------------------
#
		<td class="catBottom" colspan="8" align="right"><span class="cattitle">&nbsp;
			<input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" />
			<!-- BEGIN switch_owner_option -->
			<input type="submit" name="grant_ungrant" value="{L_GRANT_UNGRANT_SELECTED}" class="liteoption" />
			<!-- END switch_owner_option -->
		</span></td>
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn Du den MOD eingebaut hast, den ich Dir empfohlen habe, sind die Dateien, die Du angehangen hast, korrekt gemoddet!
Aber Du hast auch Stellen z. B. in der functions.php nicht gefunden. Und die ist z. B. nicht in Deinem Anhang dabei gewesen!

Ich rate Dir nur, den MOD nochmal komplett durchzugehen und die zu suchenden Stellen immer ab der zuletzt bearbeitenden Stelle zu suchen.
Dann ist auch alles auffindbar.
Und wenn Du einen angegebenen Code-Block mal nicht finden solltest, dann suche nur nach Teilen dessen.
Ganz allgemeine Regeln, für den Einbau eines MODs eben.
Ich habe selber nunmal nicht die Zeit, jedem jeden MOD zu installieren und zu prüfen...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

oxpus ich bin auch keine null wisser aber ich habe naturlich nach teilen gesucht leider finde ich da nichts.
ich habe mir wieder das neu version von der mod runtergeladen 1.0.4 schon beim anfang könnte ich nichts finden das mod ist nicht für plus.gibts keine andere mods der das selbe kan.

Code: Alles auswählen

############################################################## 
## MOD Title:    Group ModeratorZ
## MOD Author:    Ptirhiik < http://ptifo.clanmckeen.com >
##      adapted by No-L < no-l@gmx.de > < user on http://ptifo.clanmckeen.com >
##      and Mithrandir < user on http://ptifo.clanmckeen.com >
## MOD Description:
##      This mod allows to have more than one moderator to a group
##      Also allows usergroups to be set as moderator or owner of other usegroups in the ACP
## MOD Version:    1.0.4CH ==> adapted for CH 2.1.6
## 
## Installation Level:  easy
## Installation Time:  15 Minutes 
## Files To Edit: (5)
##      groupcp.php
##      templates/subSilver/groupcp_info_body.tpl
##      templates/ptifo/groupcp_info_body.tpl
##      language/lang_english/lang_main.php
##      language/lang_german/lang_main.php
## Included Files:
##      lang_extend_group_moderatorz.php
##      install_cat/install.php
##
############################################################## 
## For Security Purposes, Please Check: http://ptifo.clanmckeen.com/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, the authors will not offer support for MOD's not offered 
## in this MOD-Database, located at: http://ptifo.clanmckeen.com/ 
############################################################## 
## Author Notes: 
##    The mod introduces a new notion : the group owner which is the main moderator.
##
##    The group owner is set on the admin panel, as usual. Then the group owner can
##    grant or ungrant the status of group moderator to anyone within the group control
##    panel.
##
##    A group moderator will receive the email of pending users, will be able to accept
##    their admittance, but won't be able to grant them (nor retire) the group moderator
##    status.
##
##    Groups can be set to have moderator- or owner-privileges in the admin panel.
##
##    ACP-Feature contains:
##      - the 2 INSERT lines in SQL
##      - advanced instructions for more advanced ACP control has the word "dynamic adaptation" close by.
##
############################################################## 
## MOD History: 
##
##   2006-09-18 - Version 1.0.4CH
##		- fixed a bug
##		- removed an effectless typo
##   2006-09-08 - Version 1.0.3CH
##              - review the mod for CH 2.1.6
##              - added language: German
##              - added style: ptifo
##              - fix a security issue
##   2005-12-27 - Version 1.0.2CH
##              - Added the ACP-Feature
##   2005-12-25 - Version 1.0.1CH_b
##              - fixed some cosmetic things
##   2005-12-10 - Version 1.0.1CH_a
##              - fixed some bugs
##              - optimised a little bit further
##   2005-11-30 - Version 1.0.1CH
##              - adapted for CH 2.1.4
##              - optimised a little bit
##   2003-10-28 - Version 1.0.1
##              - fix a bug when group was empty
##              - add the lang settings tool
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
##############################################################
#
#-----[ DIY INSTRUCTIONS ]------------------------------------
#
Note: you can either execute these SQL-Commands *OR* run /install_cat/install.php
#
#-----[ SQL ]-------------------------------------------------
#
ALTER TABLE phpbb_user_group ADD group_moderator TINYINT(1) DEFAULT '0' NOT NULL;
INSERT INTO `phpbb_auths_def` VALUES ('', 0x67, 'gcp_owner', '', 0, 1); 
INSERT INTO `phpbb_auths_def` VALUES ('', 0x67, 'gcp_mod', '', 0, 2);
#
#-----[ COPY ]------------------------------------------------
#
COPY root/*.* TO *.*
#
#-----[ OPEN ]------------------------------------------------
#
groupcp.php
#
#-----[ FIND ]------------------------------------------------
#
<?php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$is_owner = $user->data['session_logged_in'] && (intval($group_row['group_moderator']) == $user->data['user_id']);
#
#-----[ AFTER, ADD ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
		$sql = "SELECT * FROM " . USER_GROUP_TABLE . "
			WHERE group_moderator = 1 
				AND group_id = $group_id";
		$result = $db->sql_query($sql, false, __LINE__, __FILE__);
		$modZ_row = array();
		$is_modZ = FALSE;
		while ( ( $modZ_row = $db->sql_fetchrow($result) ) AND ( $is_modZ == FALSE ) )
		{
			$is_modZ = $user->data['session_logged_in'] && (intval($modZ_row['user_id']) == $user->data['user_id']);
		}
//-- mod : group moderatorZ - dynamic adaptation -------------------------------
		// check auths
		$is_auth_owner = $user->auth(POST_GROUPS_URL, 'gcp_owner', $group_id); 
		$is_auth_mod = $user->auth(POST_GROUPS_URL, 'gcp_mod', $group_id);
//-- fin mod : group moderatorZ - dynamic adaptation ---------------------------
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	case GROUP_FOUNDER:
		$auth_manage = $is_owner;
		$auth_membership = $is_owner;
		break;
	case GROUP_ADMIN:
		$auth_manage = $is_founder;
		$auth_membership = $is_owner || $is_founder;
		break;
	default:
		$auth_manage = $is_owner || $is_founder || $is_admin;
		$auth_membership = $is_owner || $is_founder || $is_admin;
	  break;
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
// here we added
//   || $is_modZ 3 times.
//  ( " || $is_auth_owner" and " || $is_auth_mod" for dynamic adaptation) 
//
// *** Modding Help 
// * Grouplevel 
//  GROUP_FOUNDER = This apply's to the usergroup that acts as founder 
//  GROUP_ADMIN = This apply's to the usergroup that acts as admin 
//  default = This is any outher group. 
// * Authority 
//  $auth_manage = who an act as owner in groups (he has to be in $auth_mebership as well) 
//  $auth_membership = who can act as moderator in groups 
// * Userlevel 
//  $is_owner = user that is owner oft that group 
//  $is_founder = user that has founder status 
//  $is_admin = user that has admin status 
//  $is_modZ = user that is appointed moderator of that particular group 
//  $is_auth_owner = user that is given owner acces in the ACP 
//  $is_auth_mod = user that is given moderator acces in the ACP 
// *** End Help
//
// ***Advice: Remove " || $is_admin" from the default if you want that admins can not manage all default groups 
// and only can manage those groups set by the founder in the ACP 
//
//--modify
	case GROUP_FOUNDER:
		$auth_manage = $is_owner;
		$auth_membership = $auth_manage || $is_modZ;
		break;
	case GROUP_ADMIN:
		$auth_manage = $is_founder;
		$auth_membership = $auth_manage || $is_owner || $is_modZ;
		break;
	default:
		$auth_manage = $is_owner || $is_founder || $is_admin || $is_auth_owner;
		$auth_membership = $auth_manage || $is_modZ || $is_auth_mod;
		break;
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( $row['group_moderator'] != $userdata['user_id'] && $userdata['user_level'] != ADMIN )
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//  if ( $row['group_moderator'] != $userdata['user_id'] && $userdata['user_level'] != ADMIN )
//-- add
	if ( !$auth_manage )
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$sql = "SELECT u.user_email, u.username, u.user_lang, g.group_name
		FROM ".USERS_TABLE . " u, " . GROUPS_TABLE . " g 
		WHERE u.user_id = g.group_moderator
			AND g.group_id = $group_id";
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
// here we added
//  include($phpbb_root_path . 'includes/emailer.'.$phpEx);
// and
//    , " . USER_GROUP_TABLE . " ug
// and
//    , ( [../..] OR ug.group_moderator = 1 )
// and
//     AND u.user_id = ug.user_id AND ug.group_id = g.group_id
//-- modify
	include($phpbb_root_path . 'includes/emailer.'.$phpEx);
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
FROM ".USERS_TABLE . " u
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
, " . USER_GROUP_TABLE . " ug
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
WHERE
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 (
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
u.user_id = g.group_moderator
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 OR ug.group_moderator = 1 )
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
AND g.group_id = $group_id
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 AND u.user_id = ug.user_id AND ug.group_id = g.group_id
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	$moderator = $db->sql_fetchrow($result);

//-- mod : categories hierarchy ------------------------------------------------
//-- add
	if ( $moderator )
	{
//-- fin mod : categories hierarchy --------------------------------------------
	include($phpbb_root_path . 'includes/emailer.'.$phpEx);
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//  $moderator = $db->sql_fetchrow($result);
//  //-- mod : categories hierarchy ------------------------------------------------
//  //-- add
//  if ( $moderator )
//    {
//  //-- fin mod : categories hierarchy --------------------------------------------
//  include($phpbb_root_path . 'includes/emailer.'.$phpEx);
//-- add
	while ($moderator = $db->sql_fetchrow($result))
	{
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		if ( !empty($HTTP_POST_VARS['add']) || !empty($HTTP_POST_VARS['remove']) || isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) )
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
// here we added
//   || isset($HTTP_POST_VARS['grant_ungrant'])
//-- modify
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
isset($HTTP_POST_VARS['deny'])
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 || isset($HTTP_POST_VARS['grant_ungrant'])
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			if ( isset($HTTP_POST_VARS['add']) )
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//      if ( isset($HTTP_POST_VARS['add']) )
//-- add
			if ( isset($HTTP_POST_VARS['grant_ungrant']) )
			{
				$selected_members = array();
				$count_post_members = count($HTTP_POST_VARS['members']);
				for ( $i = 0; $i < $count_post_members; $i++ )
				{
					if ( intval($HTTP_POST_VARS['members'][$i]) )
					{
						$selected_members[] = intval($HTTP_POST_VARS['members'][$i]);
					}
				}

				if (count($selected_members) > 0)
				{
					$s_members = implode( ', ', $selected_members);
					$group_owner = $group_info['group_moderator'];
					$sql = "SELECT *
									FROM " . USER_GROUP_TABLE . "
									WHERE group_id = $group_id and user_id in ($s_members) and user_id <> $group_owner and group_moderator = 1";
					if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not get user/group information', '', __LINE__, __FILE__, $sql);

					while ( $row = $db->sql_fetchrow($result) )
						$moderators[] = $row['user_id'];
					$s_mod = (count($moderators) > 0) ? implode( ', ', $moderators) : '';
					if ($s_mod != '')
					{
						$sql = "update " . USER_GROUP_TABLE . " set group_moderator = 0 where group_id = $group_id and user_id <> $group_owner and user_id in ($s_mod)";
						if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not ungrant user/group mod status', '', __LINE__, __FILE__, $sql);
					}
					$sql = "update " . USER_GROUP_TABLE . " set group_moderator = 1 where group_id = $group_id and user_id <> $group_owner and user_id in ($s_members)";
					if ($s_mod != '') $sql .= " and user_id not in ($s_mod)";
					if ( !($result = $db->sql_query($sql)) ) message_die(GENERAL_ERROR, 'Could not ungrant user/group mod status', '', __LINE__, __FILE__, $sql);

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

					$message = $lang['Group_grant_ungrant_mod_ok'] . '<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 if ( isset($HTTP_POST_VARS['add']) )
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
# this is a partial search : the full line are longer
#
	$sql = "SELECT u.username, u.user_id, u.user_viewemail
		FROM " . USERS_TABLE . " u
		WHERE ug.group_id = $group_id
			AND u.user_id = ug.user_id
			AND ug.user_pending = 0 
			AND ug.user_id <> " . $group_moderator['user_id'] . " 
		ORDER BY u.username";
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
// here we added
//  , ug.group_moderator
// and
//  ug.group_moderator DESC,
//-- modify
  // group owner
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
, u.user_msnm, ug.user_pending
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
, ug.group_moderator
#
#-----[ IN-LINE FIND ]---------------------------------------- 
#
ORDER BY
#
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
 ug.group_moderator DESC,
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( $userdata['user_level'] == ADMIN )
	{
		$is_moderator = TRUE;
	}
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//  if ( $userdata['user_level'] == ADMIN )
//  {
//    $is_moderator = TRUE;
//  }
//-- add
	$is_administrator = $auth_manage;
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	if ( $userdata['user_id'] == $group_info['group_moderator'] )
	{
		$is_moderator = TRUE;

		$group_details =  $lang['Are_group_moderator'];
#
#-----[ REPLACE WITH ]----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//  if ( $userdata['user_id'] == $group_info['group_moderator'] )
//  {
//    $is_moderator = TRUE;
//
//    $group_details =  $lang['Are_group_moderator'];
//-- add
	if ($is_moderator)
	{
		$group_details =  $lang['Are_group_moderator'];
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		else if ( $group_info['group_type'] == GROUP_HIDDEN )
		{
			$group_details =  $lang['This_hidden_group'];
			$s_hidden_fields = '';
		}
	}
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
	if ( $userdata['user_id'] == $group_info['group_moderator'] )
	{
		$group_details =  $lang['Are_group_administrator'];
	}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		'L_GROUP_INFORMATION' => $lang['Group_Information'],
#
#-----[ BEFORE, ADD ]-----------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
		'L_GROUP_OWNER' => $lang['Group_owner'],
		'L_GRANT_UNGRANT_SELECTED' => $lang['Group_grant_mod_status'],
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
	//
	// Dump out the remaining users
	//
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
	$last_member_type = -1;
	$color_GmZ = false;
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

			$template->assign_block_vars('member_row', array(
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//      $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
//      $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
//
//      $template->assign_block_vars('member_row', array(
//-- add
			if ($last_member_type != $group_members[$i]['group_moderator'] )
			{
				$template->assign_block_vars('member_type', array(
					'L_TYPE' => ( $group_members[$i]['group_moderator'] ) ? $lang['Group_Moderator'] : $lang['Group_Members'],
					)
				);
				$color_GmZ = false;
			}
			$last_member_type = $group_members[$i]['group_moderator'];
			$color_GmZ = !$color_GmZ;
			$row_color = ( $color_GmZ ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( $color_GmZ ) ? $theme['td_class1'] : $theme['td_class2'];

			$template->assign_block_vars('member_type.member_row', array(
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
				$template->assign_block_vars('member_row.switch_mod_option', array());
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- delete
//        $template->assign_block_vars('member_row.switch_mod_option', array());
//-- add
				if ( !$group_members[$i]['group_moderator'] || ($group_members[$i]['group_moderator'] && ( $auth_manage )) || ($group_members[$i]['user_id'] == $userdata['user_id']) )
				{
					$template->assign_block_vars('member_type.member_row.switch_mod_option', array());
				}
//-- fin mod : group moderatorZ ------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
		$template->assign_block_vars('switch_add_member', array());
#
#-----[ AFTER, ADD ]------------------------------------------
#
//-- mod : group moderatorZ ----------------------------------------------------
//-- add
		if ( $auth_manage )
		{
			$template->assign_block_vars('switch_mod_option.switch_owner_option', array());
			$template->assign_block_vars('switch_owner_option', array());
		}
//-- fin mod : group moderatorZ ------------------------------------------------
# 
#-----[ FIND ]------------------------------------------------ 
# 
		if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
# 
#-----[ REPLACE WITH ]---------------------------------------- 
# 
//-- mod : group moderatorZ - dynamic adaptation -------------------------------
//-- delete
//    if  ( $row['group_type'] != GROUP_HIDDEN || $userdata['user_level'] == ADMIN )
//-- add
		$is_auth_owner = $user->auth(POST_GROUPS_URL, 'gcp_owner', $row['group_id']);
		$is_auth_mod = $user->auth(POST_GROUPS_URL, 'gcp_mod', $row['group_id']);
//
//  In the next line you can replace "$userdata['user_level'] == ADMIN" with "$is_founder" if you want that normal admins 
//  can only see the usergroups they are allowed to manage as moderater or owner. 
//
//  !!! Do this only if you have removed "$is_admin" in the default case of "switch ( $group_id )" previously !!! 
//
//-- add
		if  ( $row['group_type'] != GROUP_HIDDEN || ( $userdata['user_level'] == ADMIN  || $is_auth_owner || $is_auth_mod ) ) 
//-- fin mod : group moderatorZ - dynamic adaptation ---------------------------
#
#-----[ OPEN ]------------------------------------------------
#
templates/subSilver/groupcp_info_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
	<!-- BEGIN switch_mod_option -->
	<tr> 
		<td class="row1" width="20%"><span class="gen">{L_GROUP_TYPE}:</span></td>
		<td class="row2"><span class="gen"><input type="radio" name="group_type" value="{S_GROUP_OPEN_TYPE}" {S_GROUP_OPEN_CHECKED} /> {L_GROUP_OPEN} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_CLOSED_TYPE}" {S_GROUP_CLOSED_CHECKED} />  {L_GROUP_CLOSED} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_HIDDEN_TYPE}" {S_GROUP_HIDDEN_CHECKED} />  {L_GROUP_HIDDEN} &nbsp;&nbsp; <input class="mainoption" type="submit" name="groupstatus" value="{L_UPDATE}" /></span></td>
	</tr>
	<!-- END switch_mod_option -->
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<!-- BEGIN switch_owner_option -->
	<tr> 
		<td class="row1" width="20%"><span class="gen">{L_GROUP_TYPE}:</span></td>
		<td class="row2"><span class="gen"><input type="radio" name="group_type" value="{S_GROUP_OPEN_TYPE}" {S_GROUP_OPEN_CHECKED} /> {L_GROUP_OPEN} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_CLOSED_TYPE}" {S_GROUP_CLOSED_CHECKED} />  {L_GROUP_CLOSED} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_HIDDEN_TYPE}" {S_GROUP_HIDDEN_CHECKED} />  {L_GROUP_HIDDEN} &nbsp;&nbsp; <input class="mainoption" type="submit" name="groupstatus" value="{L_UPDATE}" /></span></td>
	</tr>
	<!-- END switch_owner_option -->
#
#-----[ FIND ]------------------------------------------------
#
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MODERATOR}</span></td>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_OWNER}</span></td>
#
#-----[ FIND ]------------------------------------------------
#
	<tr> 
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MEMBERS}</span></td>
	</tr>
	<!-- BEGIN member_row -->
	<tr> 
		<td class="{member_row.ROW_CLASS}" align="center"> {member_row.PM_IMG} </td>
		<td class="{member_row.ROW_CLASS}" align="center"><span class="gen"><a href="{member_row.U_VIEWPROFILE}" class="gen">{member_row.USERNAME}</a></span></td>
		<td class="{member_row.ROW_CLASS}" align="center"><span class="gen">{member_row.POSTS}</span></td>
		<td class="{member_row.ROW_CLASS}" align="center"><span class="gen"> {member_row.FROM} 
		</span></td>
		<td class="{member_row.ROW_CLASS}" align="center" valign="middle"><span class="gen">{member_row.EMAIL_IMG}</span></td>
		<td class="{member_row.ROW_CLASS}" align="center"> {member_row.WWW_IMG}</td>
		<td class="{member_row.ROW_CLASS}" align="center"> 
		<!-- BEGIN switch_mod_option -->
		<input type="checkbox" name="members[]" value="{member_row.USER_ID}" /> 
		<!-- END switch_mod_option -->
		</td>
	</tr>
	<!-- END member_row -->
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<!-- BEGIN member_type -->
	<tr> 
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{member_type.L_TYPE}</span></td>
	</tr>
	<!-- BEGIN member_row -->
	<tr> 
		<td class="{member_type.member_row.ROW_CLASS}" align="center"> {member_type.member_row.PM_IMG} </td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center"><span class="gen"><a href="{member_type.member_row.U_VIEWPROFILE}" class="gen">{member_type.member_row.USERNAME}</a></span></td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center"><span class="gen">{member_type.member_row.POSTS}</span></td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center"><span class="gen"> {member_type.member_row.FROM} </span></td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center" valign="middle"><span class="gen">{member_type.member_row.EMAIL_IMG}</span></td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center"> {member_type.member_row.WWW_IMG}</td>
		<td class="{member_type.member_row.ROW_CLASS}" align="center"> 
		<!-- BEGIN switch_mod_option -->
		<input type="checkbox" name="members[]" value="{member_type.member_row.USER_ID}" /> 
		<!-- END switch_mod_option -->
		</td>
	</tr>
	<!-- END member_row -->
	<!-- END member_type -->
#
#-----[ FIND ]------------------------------------------------
#
	<!-- BEGIN switch_no_members -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MEMBERS}</span></td>
	</tr>
#
#-----[ FIND ]------------------------------------------------
#
			<span class="cattitle"><input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" /></span>
#
#-----[ AFTER, ADD ]------------------------------------------
#
			<!-- BEGIN switch_owner_option -->
			<span class="cattitle"><input type="submit" name="grant_ungrant" value="{L_GRANT_UNGRANT_SELECTED}" class="liteoption" /></span>
			<!-- END switch_owner_option -->
#
#-----[ OPEN ]------------------------------------------------
#
templates/ptifo/groupcp_info_body.tpl
#
#-----[ FIND ]------------------------------------------------
#
	<!-- BEGIN switch_mod_option -->
	<tr> 
		<td class="row1" width="20%"><span class="gen">{L_GROUP_TYPE}:</span></td>
		<td class="row2"><span class="gen"><input type="radio" name="group_type" value="{S_GROUP_OPEN_TYPE}" {S_GROUP_OPEN_CHECKED} /> {L_GROUP_OPEN} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_CLOSED_TYPE}" {S_GROUP_CLOSED_CHECKED} /> {L_GROUP_CLOSED} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_HIDDEN_TYPE}" {S_GROUP_HIDDEN_CHECKED} />  {L_GROUP_HIDDEN} &nbsp;&nbsp; <input class="mainoption" type="submit" name="groupstatus" value="{L_UPDATE}" /></span></td>
	</tr>
	<!-- END switch_mod_option -->
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<!-- BEGIN switch_owner_option -->
	<tr> 
		<td class="row1" width="20%"><span class="gen">{L_GROUP_TYPE}:</span></td>
		<td class="row2"><span class="gen"><input type="radio" name="group_type" value="{S_GROUP_OPEN_TYPE}" {S_GROUP_OPEN_CHECKED} /> {L_GROUP_OPEN} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_CLOSED_TYPE}" {S_GROUP_CLOSED_CHECKED} /> {L_GROUP_CLOSED} &nbsp;&nbsp;<input type="radio" name="group_type" value="{S_GROUP_HIDDEN_TYPE}" {S_GROUP_HIDDEN_CHECKED} />  {L_GROUP_HIDDEN} &nbsp;&nbsp; <input class="mainoption" type="submit" name="groupstatus" value="{L_UPDATE}" /></span></td>
	</tr>
	<!-- END switch_owner_option -->
#
#-----[ FIND ]------------------------------------------------
#
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MODERATOR}</span></td>
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_OWNER}</span></td>
#
#-----[ FIND ]------------------------------------------------
#
	<tr> 
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{L_GROUP_MEMBERS}</span></td>
	</tr>
	<!-- BEGIN member_row -->
	<tr> 
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> {member_row.PM_IMG} </td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen"><a href="{member_row.U_VIEWPROFILE}" class="gen">{member_row.USERNAME}</a></span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen">{member_row.POSTS}</span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen"> {member_row.FROM} </span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center" valign="middle"><span class="gen">{member_row.EMAIL_IMG}</span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> {member_row.WWW_IMG}</td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> 
		<!-- BEGIN switch_mod_option -->
		<input type="checkbox" name="members[]" value="{member_row.USER_ID}" /> 
		<!-- END switch_mod_option -->
		</td>
	</tr>
	<!-- END member_row -->
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
	<!-- BEGIN member_type -->
	<tr> 
		<td class="catSides" colspan="8" height="28"><span class="cattitle">{member_type.L_TYPE}</span></td>
	</tr>
	<!-- BEGIN member_row -->
	<tr> 
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> {member_type.member_row.PM_IMG} </td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen"><a href="{member_type.member_row.U_VIEWPROFILE}" class="gen">{member_type.member_row.USERNAME}</a></span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen">{member_type.member_row.POSTS}</span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"><span class="gen"> {member_type.member_row.FROM} </span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center" valign="middle"><span class="gen">{member_type.member_row.EMAIL_IMG}</span></td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> {member_type.member_row.WWW_IMG}</td>
		<td class="<!-- BEGIN light -->row1<!-- BEGINELSE light -->row2<!-- END light -->" align="center"> 
		<!-- BEGIN switch_mod_option -->
		<input type="checkbox" name="members[]" value="{member_type.member_row.USER_ID}" /> 
		<!-- END switch_mod_option -->
		</td>
	</tr>
	<!-- END member_row -->
	<!-- END member_type -->
#
#-----[ FIND ]------------------------------------------------
#
	<!-- BEGIN switch_no_members -->
#
#-----[ AFTER, ADD ]------------------------------------------
#
	<tr>
		<td class="catSides" colspan="7" height="28"><span class="cattitle">{L_GROUP_MEMBERS}</span></td>
	</tr>
#
#-----[ FIND ]------------------------------------------------
#
			<input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" />
#
#-----[ AFTER, ADD ]------------------------------------------
#
			<!-- BEGIN switch_owner_option -->
			<input type="submit" name="grant_ungrant" value="{L_GRANT_UNGRANT_SELECTED}" class="liteoption" />
			<!-- END switch_owner_option -->
#
#-----[ OPEN ]------------------------------------------------
#
language/lang_english/lang_main.php
# 
#-----[ FIND ]------------------------------------------------ 
# 
<?php 
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
//-- mod : group moderatorZ ----------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$lang['Are_group_moderator'] = 'You are the group moderator';
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
$lang['Are_group_moderator'] = 'You are a group moderator';
#
#-----[ OPEN ]------------------------------------------------
#
language/lang_german/lang_main.php
# 
#-----[ FIND ]------------------------------------------------ 
# 
<?php 
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
//-- mod : group moderatorZ ----------------------------------------------------
#
#-----[ FIND ]------------------------------------------------
#
$lang['Are_group_moderator'] = 'Du bist der Moderator dieser Gruppe.';
#
#-----[ REPLACE WITH ]---------------------------------------- 
#
$lang['Are_group_moderator'] = 'Du bist ein Moderator dieser Gruppe.';
#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Warum nimmst Du nicht die Version, die Du hier herunterladen kannst?????
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

weil ich auf aktuelste stelle bleiben möchte.

und oxpus das mit dem andmin prune habe ich was geschrieben,weil ich nicht mehr antworten kan schreibe ich hier damit du bitte gucken kanst.
http://www.oxpus.de/viewtopic.php?p=65117
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

weil ich auf aktuelste stelle bleiben möchte.
Auch wenn diese neue Version nicht unbedingt mit dem Plus kompatibel ist?
Prima Argument.

Und zum anderen Thema:
Wozu gibts den Edit-Button?????
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

ich habe das was du hier empfohlen hast probiert ich habe die zweite version probiert ich habe die letzte probiert algemein der mod ist halt nicht kompatabil mit plus.ich habe doch alles probiert.ich probier das von dir noch einmal.

ich habe meine beitrag geändert,aber wirstdu benachrichtigt wen beitrag editirt wurde ?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

ich habe meine beitrag geändert,aber wirstdu benachrichtigt wen beitrag editirt wurde ?
Ja, diese Beiträge werden dann als "editiert" angezeigt und ich habe die somit quasi als "neu" in der Liste.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

[quote="oxpus";p="65131"]
ich habe meine beitrag geändert,aber wirstdu benachrichtigt wen beitrag editirt wurde ?
Ja, diese Beiträge werden dann als "editiert" angezeigt und ich habe die somit quasi als "neu" in der Liste.[/quote]

oxpus gibts die auch für normale user.ich möchte im forum editierte beiträge als neu oder ungelesen anzeigen.ich benutze plus153a also mit ajax schnell edit möglichkeit fals du das wissen möchtest.
Zuletzt geändert von musteng am Mo 06.Nov, 2006 15:05, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Die Funktion ist vom UPI2DB MOD und für das phpBB plus findest du diesen MOD hier und in den Downloads von oxpus und bei mir. :)
Zuletzt geändert von AmigaLink am Mi 08.Nov, 2006 13:08, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
musteng
Beiträge: 250
Registriert: Do 07.Sep, 2006 00:49

Beitrag von musteng »

amigalink danke dir.
eine frage hätte ich noch.ich habe das für plus eingebaut oben bei overal_header sieht man das U: 0 M: 0 P: 0 Wo kann ich das ändern diese buchstaben U M P

danke
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Am besten wendest du dich, bei Fragen zu dem UPI2DB, an das UPI2DB Support-Board.

Diese Buchstaben sind Bilder die in der *.cfg deines templates definiert werden und sich im images ordner des templates befinden. Wenn du andere Bilder möchtest brauchst du sie nur auszutauschen.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Antworten