hoe maak ik profiel onzichtbaar voor (niet) ingelogte users

Voor discussies rondom phpBB2. phpBB2 wordt niet meer ondersteund en deze berichten kunnen wellicht gedateerd zijn.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
juppertje
Berichten: 48
Lid geworden op: 29 jul 2005, 02:44

Bericht door juppertje » 30 jul 2005, 23:07

fast sjonny schreef:Ik heb in dat bestand

Code: Selecteer alles

if ( !$userdata['session_logged_in'] )
{
   redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=viewprofile&" . POST_USERS_URL . "=" . $profiledata['user_id'], true));
} 
toegevoegd omdat hierdoor het userprofiel niet meer door mensen kan worden opgevraagd die niet zijn ingelogd.
Uit mijn hoofd lukte mij dit destijds niet in profile.php, maar achteraf besef ik me dat dit wel had gekund, alleen iets verderop in de code ;)

Als je bovenstaande code hebt weggehaald kan je volgens mij bij jou op het forum nog steeds een profiel oproepen door op de naam van een gebruiker te klikken in posts e.d..

Zo en nu tijd voor een boterhammetje :D

Groeten,
Jan

hallo Jan ik heb je code aangepoast omdat met die code in /includes/usercp_viewprofile.php users door op naam te klikken bij wie is online nog steeds het profiel konden zien ik heb dat verandert naar :
if ( !$userdata['user_level'] == ADMIN )
{
redirect(append_sid("login.$phpEx?redirect=profile.$phpEx&mode=viewprofile&" . POST_USERS_URL . "=" . $profiledata['user_id'], true));
}

en dat werkt perfect alleen admin kan door snel klikken op profile het profile zijn precies zoals ik wil ;)

juppertje
Berichten: 48
Lid geworden op: 29 jul 2005, 02:44

Bericht door juppertje » 24 jun 2006, 01:45

Hallo hier ben ik weer en heb nog een vraagje over deze topic wat nog een stapje verder gaat, alles werkt perfect maar toch zou ik graag ook in het forum waar je de berichten schrijft ook de optie uitschakelen dat men niet meer op de icoon email kan drukken, ik hoop dat jullie me kunnen helpen het gaat dus om dit icoon wat bij sommige mensen onder hun geplaatste bericht staat.

Afbeelding


dus dat ook weer alleen de admins hier op kunnen drukken en verder niemand.


dus vraag me welke file ik moet aanpassen en de onderstaande regel moet plaatsen?

Alvast bedankt voor jullie medewerking maar ben al sinds ik dit bericht geplaatst heb aan puzellen geweest en helaas zonder resultaat en is me niet gelukt.


p.s ik heb tijdelijk even in subsilver/viewtopic_body.tpl

Code: Selecteer alles

<td valign="middle" nowrap="nowrap">{postrow.PHOTO_GALLERY}{postrow.PROFILE_IMG} {postrow.PM_IMG} {postrow.EMAIL_IMG} {postrow.WWW_IMG} {postrow.AIM_IMG} {postrow.YIM_IMG} {postrow.MSN_IMG}<script language="JavaScript" type="text/javascript"><!-- 
de file {postrow.EMAIL_IMG} verwijderd maar dit is een tijdelijke oplossing lijkt mij die wel werkt :wink:

Lontronics

Bericht door Lontronics » 24 jun 2006, 08:01

In viewtopic.php zoek (bij mij rond regel 930, maar mogelijk niet helemaal correct ivm aantal aanpassingen):

Code: Selecteer alles

	else
	{
		$profile_img = '';
		$profile = '';
		$pm_img = '';
		$pm = '';
		$email_img = '';
		$email = '';
		$www_img = '';
		$www = '';
		$icq_status_img = '';
		$icq_img = '';
		$icq = '';
		$aim_img = '';
		$aim = '';
		$msn_img = '';
		$msn = '';
		$yim_img = '';
		$yim = '';
	}
Voeg hieronder toe:

Code: Selecteer alles

if ( !$userdata['user_level'] == ADMIN ) 
{ 
	$email_img = '';
	$email = '';
}
Hiermee wordt het email icoon onderdrukt wanneer je geen admin bent ;)

juppertje
Berichten: 48
Lid geworden op: 29 jul 2005, 02:44

Bericht door juppertje » 24 jun 2006, 10:22

@Lontronics

Wederom bedankt voor jullie snelle antwoord klasse en het werkt echt super.


even offtopic mag ik een donatie doen voor jullie hulp? zo ja waar kan ik dit doen?


ps heb wel ineens een ander error weet niet of dit hier mee te maken heeft maar krijg deze melding: als ik op reply druk in een bericht:

Fatal error: Call to undefined function: init_display_review_attachments() in /var/www/www.mysite.nl/forum/includes/topic_review.php on line 118


Code: Selecteer alles

<?php
/***************************************************************************
 *                              topic_review.php
 *                            -------------------
 *   begin                : Saturday, Feb 13, 2001
 *   copyright            : (C) 2001 The phpBB Group
 *   email                : support@phpbb.com
 *
 *   $Id: topic_review.php,v 1.5.2.1 2002/05/03 15:58:35 the_systech 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.
 *
 *
 ***************************************************************************/

function topic_review($topic_id, $is_inline_review)
{
	global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
	global $userdata, $user_ip;
	global $orig_word, $replacement_word;
	global $starttime;

	if ( !$is_inline_review )
	{
		if ( !isset($topic_id) )
		{
			message_die(GENERAL_MESSAGE, 'Topic_not_exist');
		}

		//
		// Get topic info ...
		//
		$sql = "SELECT t.topic_title, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments 
			FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f 
			WHERE t.topic_id = $topic_id
				AND f.forum_id = t.forum_id";
			$tmp = '';
		attach_setup_viewtopic_auth($tmp, $sql);
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
		}

		if ( !($forum_row = $db->sql_fetchrow($result)) )
		{
			message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
		}

		$forum_id = $forum_row['forum_id'];
		$topic_title = $forum_row['topic_title'];
		
		//
		// Start session management
		//
		$userdata = session_pagestart($user_ip, $forum_id);
		init_userprefs($userdata);
		//
		// End session management
		//

		$is_auth = array();
		$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);

		if ( !$is_auth['auth_read'] )
		{
			message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']));
		}
	}

	//
	// Define censored word matches
	//
	if ( empty($orig_word) && empty($replacement_word) )
	{
		$orig_word = array();
		$replacement_word = array();

		obtain_word_list($orig_word, $replacement_word);
	}

	//
	// Dump out the page header and load viewtopic body template
	//
	if ( !$is_inline_review )
	{
		$gen_simple_header = TRUE;

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

		$template->set_filenames(array(
			'reviewbody' => 'posting_topic_review.tpl')
		);
	}

	//
	// Go ahead and pull all data for this topic
	//
	$sql = "SELECT u.username, u.user_id, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
		FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
		WHERE p.topic_id = $topic_id
			AND p.poster_id = u.user_id
			AND p.post_id = pt.post_id
		ORDER BY p.post_time DESC
		LIMIT " . $board_config['posts_per_page'];
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not obtain post/user information', '', __LINE__, __FILE__, $sql);
	}
		init_display_review_attachments($is_auth);
	//
	// Okay, let's do the loop, yeah come on baby let's do the loop
	// and it goes like this ...
	//
	if ( $row = $db->sql_fetchrow($result) )
	{
		$mini_post_img = $images['icon_minipost'];
		$mini_post_alt = $lang['Post'];

		$i = 0;
		do
		{
			$poster_id = $row['user_id'];
			$poster = $row['username'];

			$post_date = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);

			//
			// Handle anon users posting with usernames
			//
			if( $poster_id == ANONYMOUS && $row['post_username'] != '' )
			{
				$poster = $row['post_username'];
				$poster_rank = $lang['Guest'];
			}
			elseif ( $poster_id == ANONYMOUS )
			{
				$poster = $lang['Guest'];
				$poster_rank = '';
			}

			$post_subject = ( $row['post_subject'] != '' ) ? $row['post_subject'] : '';

			$message = $row['post_text'];
			$bbcode_uid = $row['bbcode_uid'];

			//
			// If the board has HTML off but the post has HTML
			// on then we process it, else leave it alone
			//
			if ( !$board_config['allow_html'] && $row['enable_html'] )
			{
				$message = preg_replace('#(<)([\/]?.*?)(>)#is', '<\2>', $message);
			}

			if ( $bbcode_uid != "" )
			{
				$message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
			}

			$message = make_clickable($message);

			if ( count($orig_word) )
			{
				$post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
				$message = preg_replace($orig_word, $replacement_word, $message);
			}

			if ( $board_config['allow_smilies'] && $row['enable_smilies'] )
			{
				$message = smilies_pass($message);
			}

			$message = str_replace("\n", '<br />', $message);

			//
			// Again this will be handled by the templating
			// code at some point
			//
			$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
			$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

			$template->assign_block_vars('postrow', array(
				'ROW_COLOR' => '#' . $row_color, 
				'ROW_CLASS' => $row_class, 

				'MINI_POST_IMG' => $mini_post_img, 
				'POSTER_NAME' => $poster, 
				'POST_DATE' => $post_date, 
				'POST_SUBJECT' => $post_subject, 
				'MESSAGE' => $message,
					
				'L_MINI_POST_ALT' => $mini_post_alt)
			);
				display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth);

			$i++;
		}
		while ( $row = $db->sql_fetchrow($result) );
	}
	else
	{
		message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', '', __LINE__, __FILE__, $sql);
	}

	$template->assign_vars(array(
		'L_AUTHOR' => $lang['Author'],
		'L_MESSAGE' => $lang['Message'],
		'L_POSTED' => $lang['Posted'],
		'L_POST_SUBJECT' => $lang['Post_subject'], 
		'L_TOPIC_REVIEW' => $lang['Topic_review'])
	);

	if ( !$is_inline_review )
	{
		$template->pparse('reviewbody');
		include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
	}
}

?>

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 24 jun 2006, 19:54

Die code klopt niet, het moet dit zijn:

Code: Selecteer alles

if ( $userdata['user_level'] != ADMIN )
{
   $email_img = '';
   $email = '';
}

Lontronics

Bericht door Lontronics » 24 jun 2006, 22:32

Code: Selecteer alles

if ( !$userdata['user_level'] == ADMIN ) 
{ 
   $email_img = ''; 
   $email = ''; 
}
en

Code: Selecteer alles

if ( $userdata['user_level'] != ADMIN ) 
{ 
   $email_img = ''; 
   $email = ''; 
}
hebben in dit geval exact hetzelfde resultaat.
...zie dus niet in waarom de code niet zou kloppen ;)

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 25 jun 2006, 08:25

theoretische gezien kan het niet het zelfde resultaat geven.

Code: Selecteer alles

!$userdata['user_level'] betekent, wanneer $userdata['user_level'] == true, geef false terug. (Dus ook wanneer tekst oid is).
Wanneer je dat dus gaat vergelijken met == ADMIN, is het (zover ik php ken ;)), dus altijd false. En zal de code nooit uitgevoerd worden. 

Daantje
Berichten: 68
Lid geworden op: 06 jul 2006, 07:52
Locatie: Amstelveen

Bericht door Daantje » 20 jul 2006, 11:50

Ik heb de wijzigingen die hier staan: http://www.lontronics.nl/forum/viewtopic.php?t=22
gebruikt bij de search functie alleen nu doet ie het niet meer, ik word telkens teruggestuurd naar de mainpage!?

wat heb ik fout gedaan?

Daantje
Berichten: 68
Lid geworden op: 06 jul 2006, 07:52
Locatie: Amstelveen

Bericht door Daantje » 20 jul 2006, 16:33

Kan iemand me helpen...?

juppertje
Berichten: 48
Lid geworden op: 29 jul 2005, 02:44

Bericht door juppertje » 20 jul 2006, 18:48

Zoals hier staat kan alleen maar de Admin alles zien en verder niemand

Daantje
Berichten: 68
Lid geworden op: 06 jul 2006, 07:52
Locatie: Amstelveen

Bericht door Daantje » 20 jul 2006, 21:17

juppertje schreef:Zoals hier staat kan alleen maar de Admin alles zien en verder niemand
|

Is dat een antwoord op mijn vraag, want dan snap ik hem niet?
(ik ben zelf de admin en ook al ben ik aangemeld ik blijf terug worden gestuurd naar de mainpage)

Lontronics

Bericht door Lontronics » 20 jul 2006, 21:26

Je had het ook op mijn supportforum kunnen vragen of even een mail kunnen sturen, kom nu toevallig deze topic tegen ;)

Ik heb even gekeken en ik vermoed dat je de code verkeerd hebt overgenomen omdat ik in de topic een regel niet helemaal als code had weergegeven.

Het laatste stuk van de aanpassing (is nu ook op mijn forum aangepast) moet zijn:
Zoekfunctie niet meer zichtbaar voor gasten

Door onderstaande aanpassing wordt de zoekfunctie uitgeschakeld voor gasten en wordt je doorgestuurd naar het loginscherm.

- /search.php
Zoek:

Code: Selecteer alles

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

Voeg hieronder de volgende code toe:

Code: Selecteer alles

if ( !$userdata['session_logged_in'] ) 
{ 
   header('Location: ' . append_sid("login.$phpEx?redirect=".$_SERVER['REQUEST_URI'], true)); 
}

Daantje
Berichten: 68
Lid geworden op: 06 jul 2006, 07:52
Locatie: Amstelveen

Bericht door Daantje » 21 jul 2006, 09:52

ja bedankt! ;)

Gesloten