Seite 1 von 2

Mitgliederliste sperren

Verfasst: 07.10.2005 03:37
von kjwargan
Ich habe ein phpBB 2.0.17-Forum.
Ich will die Mitgliederliste nur Mitgliedern zugänglich machen.
Deshalb suchte ich dieses Topic:http://www.phpbb.de/viewtopic.php?t=47560.
Dort heißt es in der Beschreibung: Nach Einbau dieses Mods, können nur registrierte User,
die Memberliste und die Profile der anderen User ansehen.
phpBB Version: 2.0.x (getestet mit 2.0.6) Liegt es an dieser Version, dass es nicht mit 2.0.17 funktioniert?

Nicht einmal ich als Admin kann die Mitgliederliste sehen.
Gibt es eine neuere Version, die ich vielleicht übersehen habe?
Für Hinweise bin ich dankbar.

Viele Grüße Carlo

Verfasst: 07.10.2005 05:42
von derd
Hallo,

ich habe das auch verbaut bei mir im Forum. Und es Funktioniert super.Ich benutze ja auch die Version 2.0.17. Am besten schau alles noch mal durch ob es richtig eingebaut ist.

Bye derd

Verfasst: 07.10.2005 08:05
von PhilippK
Nein - an der Version sollte es nicht liegen. Kommt eine Fehlermeldung, wenn du auf die Mitgliederliste zugreifen willst?

Gruß, Philipp

Verfasst: 07.10.2005 11:27
von kjwargan
Ich machte es bei der profile.php so:

Code: Alles auswählen

<?php
/***************************************************************************
 *                                profile.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: profile.php,v 1.193.2.5 2004/11/18 17:49:37 acydburn Exp $
 *
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_PROFILE);
init_userprefs($userdata);
//
// End session management
//

// session id check
if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))
{
	$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];
}
else
{
	$sid = '';
}

//
// Set default email variables
//
$script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path']));
$script_name = ( $script_name != '' ) ? $script_name . '/profile.'.$phpEx : 'profile.'.$phpEx;
$server_name = trim($board_config['server_name']);
$server_protocol = ( $board_config['cookie_secure'] ) ? 'https://' : 'http://';
$server_port = ( $board_config['server_port'] <> 80 ) ? ':' . trim($board_config['server_port']) . '/' : '/';

$server_url = $server_protocol . $server_name . $server_port . $script_name;

// -----------------------
// Page specific functions
//
function gen_rand_string($hash)
{
	$chars = array( 'a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J',  'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T',  'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0');
	
	$max_chars = count($chars) - 1;
	srand( (double) microtime()*1000000);
	
	$rand_str = '';
	for($i = 0; $i < 8; $i++)
	{
		$rand_str = ( $i == 0 ) ? $chars[rand(0, $max_chars)] : $rand_str . $chars[rand(0, $max_chars)];
	}

	return ( $hash ) ? md5($rand_str) : $rand_str;
}
//
// End page specific functions
// ---------------------------

//
// Start of program proper
//
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
	$mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];
	$mode = htmlspecialchars($mode);

	if ( $userdata['session_logged_in'] && $mode == 'viewprofile' )
	{
		include($phpbb_root_path . 'includes/usercp_viewprofile.'.$phpEx);
		exit;
	}
	else if ( $mode == 'editprofile' || $mode == 'register' )
	{
		if ( !$userdata['session_logged_in'] && $mode == 'editprofile' )
		{
			redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=editprofile", true));
		}

		include($phpbb_root_path . 'includes/usercp_register.'.$phpEx);
		exit;
	}
	else if ( $mode == 'confirm' )
	{
		// Visual Confirmation
		if ( $userdata['session_logged_in'] )
		{
			exit;
		}

		include($phpbb_root_path . 'includes/usercp_confirm.'.$phpEx);
		exit;
	}
	else if ( $mode == 'sendpassword' )
	{
		include($phpbb_root_path . 'includes/usercp_sendpasswd.'.$phpEx);
		exit;
	}
	else if ( $mode == 'activate' )
	{
		include($phpbb_root_path . 'includes/usercp_activate.'.$phpEx);
		exit;
	}
	else if ( $mode == 'email' )
	{
		include($phpbb_root_path . 'includes/usercp_email.'.$phpEx);
		exit;else if (!$userdata['session_logged_in'] )
   {
     redirect(append_sid("login.$phpEx?redirect=profile.$phpEx", true));
     exit;
   } 
	}
}

redirect(append_sid("index.$phpEx", true));

?>
Und auch bei der Member.php. Danach kam ich nicht in die Mitgliederliste. Bei ANsicht meines Profiles kam eien Fehlermeldung in Zeile 127. Danach machte ich es wieder rückgängig.

Verfasst: 07.10.2005 12:25
von gott
mach es doch einfach so und deine user sind GESCHÜTZT!

Code: Alles auswählen

#
#-----[ OPEN ]---------------------------------------------
#
groupcp.php

#
#-----[ FIND ]---------------------------------------------
#
	if ( isset($HTTP_GET_VARS['validate']) )
	{
		if ( !$userdata['session_logged_in'] )
		{
			redirect(append_sid("login.$phpEx?redirect=groupcp.$phpEx&" . POST_GROUPS_URL . "=$group_id", true));
		}
	}
#
#-----[ REPLACE WITH ]------------------------------------------
#
	if ( !$userdata['session_logged_in'] )
	{
		redirect(append_sid("login.$phpEx?redirect=groupcp.$phpEx&" . POST_GROUPS_URL . "=$group_id", true));
	}

#
#-----[ FIND ]---------------------------------------------
#
			$s_member_groups = '<select name="' . POST_GROUPS_URL . '">' . $s_member_groups_opt . "</select>";
		}
	}

#
#-----[ AFTER, ADD ]---------------------------------------------
#
	else
	{
		redirect(append_sid("login.$phpEx?redirect=groupcp.$phpEx", true));
	}

#
#-----[ OPEN ]---------------------------------------------
#
memberlist.php

#
#-----[ FIND ]---------------------------------------------
#
init_userprefs($userdata);

#
#-----[ AFTER, ADD ]---------------------------------------------
#
if ($userdata['user_id'] == ANONYMOUS)
{
	redirect(append_sid("login.$phpEx?redirect=memberlist.$phpEx", true));
}

#
#-----[ OPEN ]---------------------------------------------
#
profile.php

#
#-----[ FIND ]---------------------------------------------
#
	if ( $mode == 'viewprofile' )
	{

#
#-----[ AFTER, ADD ]---------------------------------------------
#
		if ($userdata['user_id'] == ANONYMOUS)
		{
			redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=viewprofile&" . POST_USERS_URL . '=' . intval($HTTP_GET_VARS[POST_USERS_URL]), true));
		}

#
#-----[ OPEN ]---------------------------------------------
#
viewonline.php

#
#-----[ FIND ]---------------------------------------------
#
init_userprefs($userdata);

#
#-----[ AFTER, ADD ]---------------------------------------------
#
if ($userdata['user_id'] == ANONYMOUS)
{
	redirect(append_sid("login.$phpEx?redirect=viewonline.$phpEx", true));
}

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

Verfasst: 07.10.2005 12:27
von kjwargan
Das werde ich probieren, aber wenn ich keine Usergroup aktiviert habe, muß ich dann trotzdem die Usergroup.php bearbeiten?

Bin leider imme rnoch PHP-Neuling

Verfasst: 07.10.2005 12:34
von gott
Wenn du keine Groups hast brauchst du es auch nicht zu tun

allerdings sehen die Leute dann, dass KEINE Gruppen existieren;

ich würde es also schnell machen; es geht ja echt schnell einzufügen..

Viele Grüße

jens

Verfasst: 07.10.2005 17:10
von kjwargan
@gott

Danke, so hat es wunderbar geklappt!
Du kannste s Dir gerne ansehen, brauche eh viel Werbung für das Forum! :D
Klick mich: Mediterraneoforum oder Mediterraneo-Forum

Viele Grüße Carlo

Verfasst: 07.10.2005 17:15
von gott
gerne geschehen @ kjwargan

da schau ich mir dein Forum doch gleich mal an...

SchÖne Grüße

Gott :wink:

Header ändern

Verfasst: 14.11.2005 17:18
von kjuu
Mein Gott, seid ihr umständlich. Es geht doch viel einfacher:
Der Link zur Mitgliederliste steht meines Wissens nur im Header, das ist in templates/.../overall_header.tpl.

Packt dort einfach alles, was die Gäste nicht sehen sollen (z.B. den Mitgliederliste-Link) zwischen diese Zeilen:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_in -->
*Was Gäste nicht sehen sollen*
<!-- END switch_user_logged_in -->
Oder umgekehrt, was nur die eingeloggten User sehen sollen zwischen diese Zeilen:

Code: Alles auswählen

<!-- BEGIN switch_user_logged_out -->
*Was nur Gäste sehen sollen*
<!-- END switch_user_logged_in -->
Fertig!

(Hab' ich auch erst kürzlich hier gelernt)