Avatar eerst goedkeuren

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Gebruikersavatar
rogierb
Berichten: 166
Lid geworden op: 18 jan 2004, 15:09
Contacteer:

Avatar eerst goedkeuren

Bericht door rogierb » 10 mar 2004, 18:07

Ey,
om mijn forum een beetje in 'stijl' te houden mogen nu de leden alleen gallery avatars gebruiken. Maar is er ook een manier om ze de mogelijkheid te geven om wel een eigen avatar (van pc of internet) te laten gebruiken, maar dat deze pas zichtbaar is nadat hij is goedgekeurd door mij?

Ik heb al gezocht op phpbbhacks.com, maar kon niets vinden.
Weet iemand misschien of dit bestaat?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 10 mar 2004, 22:24

Voor zover ik weet bestond het nog niet, dus heb het uitgezocht:

Open
/includes/usercp_viewprofile.php

Zoek

Code: Selecteer alles

if ( $profiledata['user_avatar_type'] && $profiledata['user_allowavatar'] )
Vervang met

Code: Selecteer alles

if ( $profiledata['user_avatar_type'] && ($profiledata['user_allowavatar'] || $userdata['user_level'] == ADMIN) )
Open
/includes/usercp_register.php

Zoek

Code: Selecteer alles

			$avatar_sql = user_avatar_upload($mode, $avatar_mode, $userdata['user_avatar'], $userdata['user_avatar_type'], $error, $error_msg, $user_avatar_upload, $user_avatar_name, $user_avatar_size, $user_avatar_filetype);
Plaats erachter

Code: Selecteer alles

			$allowavatar = 0;
Zoek

Code: Selecteer alles

		$avatar_sql = user_avatar_url($mode, $error, $error_msg, $user_avatar_remoteurl);
Plaats erachter

Code: Selecteer alles

		$allowavatar = 0;
Zoek

Code: Selecteer alles

		$avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local);
		
	}
Vervang met

Code: Selecteer alles

		$avatar_sql = user_avatar_gallery($mode, $error, $error_msg, $user_avatar_local);
		$allowavatar = 1; 
		
	}
	else
	{
		$allowavatar = 1; 
	}

	if ( $allowavatar == 0 && !$error )
	{
			include($phpbb_root_path . 'includes/emailer.'.$phpEx);
			$emailer = new emailer($board_config['smtp_delivery']);

			$emailer->from($board_config['board_email']);
			$emailer->replyto($board_config['board_email']);

			$emailer->use_template('user_activate_avatar', stripslashes($user_lang));
			$emailer->email_address($board_config['board_email']);
			$emailer->set_subject($lang['New_password_activation']);

			$emailer->assign_vars(array(
				'USERNAME' => $username,
				'U_PROFIEL_LINK' => $server_url . '?mode=viewprofile&' . POST_USERS_URL . '=' . $user_id,
				'U_EDIT_LINK' => $server_protocol . $server_name . $server_port . preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path'])) . '/admin/admin_users.'.$phpEx.'?mode=edit&u='.$user_id,
				'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
			);
			$emailer->send();
			$emailer->reset();
	}
Zoek

Code: Selecteer alles

" . $avatar_sql . "
Plaats erachter

Code: Selecteer alles

, user_allowavatar = $allowavatar
Zoek

Code: Selecteer alles

	$user_avatar = ( $userdata['user_allowavatar'] ) ? $userdata['user_avatar'] : '';
	$user_avatar_type = ( $userdata['user_allowavatar'] ) ? $userdata['user_avatar_type'] : USER_AVATAR_NONE;
Vervang met

Code: Selecteer alles

	$user_avatar = $userdata['user_avatar'];
	$user_avatar_type = $userdata['user_avatar_type'];
Zoek

Code: Selecteer alles

		if ( $userdata['user_allowavatar'] && ( $board_config['allow_avatar_upload'] || $board_config['allow_avatar_local'] || $board_config['allow_avatar_remote'] ) )
Vervang met

Code: Selecteer alles

		if ( $board_config['allow_avatar_upload'] || $board_config['allow_avatar_local'] || $board_config['allow_avatar_remote'] )
Open
/language/{taal}/lang_main.php

Zoek

Code: Selecteer alles

// That's all, Folks!
// -------------------------------------------------
Plaats erachter

Code: Selecteer alles

// avatar activatie hack
$lang['New_avatar_activation'] = 'Avatar activeren';
Maak een nieuwe file
/languages/{taal}/email/user_activate_avatar.tpl

Code: Selecteer alles

Subject: Avatar activeren
Charset: iso-8859-1

Hoi,

De gebruiker {USERNAME} heeft een nieuwe avatar toegevoegd aan zijn profiel:
{U_PROFIEL_LINK}

Klik hier om naar het adminpanel te gaan en deze goed te keuren:
{U_EDIT_LINK}


{EMAIL_SIG}
Ik heb het getest en het werkt, bij een gallery avatar gebeurt er niks en kan het lid de avatar gebruiken, bij alle andere avatars wordt de avatar uitgeschakeld en krijgt de admin een mailtje op het forumadres waarin gemeldt wordt dat deze een avatar mag gaan activeren. Dit gebeurt dan op de user management pagina in het adminpanel, onderaan bij "Kan avatar weergeven".

De admin ziet de avatar in de admin pagina en in de publieke profiel pagina van de gebruiker, maar voor alle andere forumleden is deze avatar overal verborgen totdat hij ingeschakeld wordt. De gebruiker zelf ziet hem nog wel tijdens het aanpassen van zijn profiel, en kan deze desgewenst nog veranderen. :bier:

Gebruikersavatar
rogierb
Berichten: 166
Lid geworden op: 18 jan 2004, 15:09
Contacteer:

Bericht door rogierb » 11 mar 2004, 17:02

Heel erg bedankt! Ik ga hem proberen!

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 mar 2004, 18:50

De finishing touch:

Open
/language/{taal}/lang_main.php

Zoek

Code: Selecteer alles

$lang['Profile_updated'] = 'Je profiel is bijgewerkt';
Plaats eronder

Code: Selecteer alles

$lang['Profile_updated_avatar'] = 'Je profiel is bijgewerkt, je nieuwe avatar is tijdelijk uitgeschakeld totdat de beheerder deze heeft goedgekeurd';
Open
/includes/usercp_register.php

Zoek

Code: Selecteer alles

$message = $lang['Profile_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'],  '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
Vervang met

Code: Selecteer alles

$message = (($allowavatar == 0) ? $lang['Profile_updated_avatar'] : $lang['Profile_updated']) . '<br /><br />' . sprintf($lang['Click_return_index'],  '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
--

Nu geeft hij een een verklarende boodschap aan de gebruiker, wanneer deze een remote of ge-uploade avatar heeft ingevuld. :)

Gesloten