- Home
- Categorie
- Coding e Sistemistica
- Gestione di Forum
- [PhpBB 3] get_user_avatar
-
[PhpBB 3] get_user_avatar
get_user_avatar() permette la visualizzazione dell'avatar utente.
Sintassi :
[php]function get_user_avatar($avatar, $avatar_type, $avatar_width, $avatar_height, $alt = 'USER_AVATAR')
{
global $user, $config, $phpbb_root_path, $phpEx; // Nota 1
if (empty($avatar) || !$avatar_type)
{
return ''; // Nota 2
}
$avatar_img = '';
switch ($avatar_type)
{
case AVATAR_UPLOAD: // Nota 3
$avatar_img = $phpbb_root_path . "download/file.$phpEx?avatar=";
break;
case AVATAR_GALLERY: // Nota 4
$avatar_img = $phpbb_root_path . $config['avatar_gallery_path'] . '/';
break;
}
$avatar_img .= $avatar;
return '<img src="' . (str_replace(' ', '%20', $avatar_img)) . '" width="' . $avatar_width . '" height="' . $avatar_height . '" alt="' . ((!empty($user->lang[$alt])) ? $user->lang[$alt] : $alt) . '" />';
}
[/php]Funzionamento :
La funzione necessita di quattro parametri, i primi quattro sono relativi ai campi contenuti nel database , l'ultimo dal file di lingua.
Nella nota 1 sono indicate le variabili glogali di cui la funzione ha bisogno. Nell'array $user sono contenute tutte le impostazioni dell'utente, ad esempio lo stile che ha scelto per visualizzare il forum o il suo fuso orario. In questo caso il valore che è indispensabile riguarda la lingua.
$config invece contiene i settaggi che l'amministratore ha scelto per forum, la chiave che interessa alla funzione si riferisce alla posizione della cartella dove vengono caricati gli avatar.
Il valore sarebbe inutile se non fosse concatenato con la variabile phpbb_root_path, che indica la root del forum.
$phpEx invece sta a indicare l'estensione del file in php.Nel caso lo script non trovasse un valore relativo al tipo di avatar o alla sua tipologia, la funzione non restituisce nulla.
La tipologia dell'avatar è indicata dal parametro $avatar_type.
Il parametro è particolarmente rilevante allo scopo, in quanto definisce il tipo di avatar utilizzato, che può essere stato scelto dalla galleria del forum, caricato dall'utente attraverso il pannello di controllo utente o hostato su un sito esterno.
Quest'ultimo caso viene ignorato dalla funzione, in quanto l'url dell'avatar è statico.
Nel caso dell'avatar caricato **(Nota 3) **, l'url dell'avatar è ricavato dal file download/file.php, mentre nell'altro caso la funzione ricerca nell'array $config e nella variabile $phpbb_root_path i parametri relativi alla posizione della galleria all'interno del forum (Nota 4).Esempio di funzionamento :
[php]$sql = 'SELECT * FROM ' . USERS_TABLE . '
ORDER by user_lastpost_time';
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$avatar_img = get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $row['user_avatar_width'], $row['user_avatar_height']);
$template->assign_vars(array(
'AVATAR' => $avatar_img
)); [/php]