phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.
Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.
Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.
Grazie ancora,
Carlo - Amministratore di phpBB Italia
Welcome MOD
- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
Allora posso aspettare un'aggiornamento?
Ma pensa te se bisogna diventare matti...
- Micogian
- Leader Programmatori
- Messaggi: 3704
- Iscritto il: 07/01/2010, 8:51
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 5.4.36
- Database: MySQL 5.1.70-log
- Località: Udine
- Contatta:
Re: Welcome MOD
apri il file includes/functions.php
trova il codice:
Codice: Seleziona tutto
// The following assigns all _common_ variables that may be used at any point in a template.
$template->assign_vars(array(
Codice: Seleziona tutto
'AVATAR_COR' => $user->data['user_avatar'],
Partendo da questo dato hai la possibilità di creare questa condizione:
Codice: Seleziona tutto
<!-- IF AVATAR_COR == '' --><img src="{T_THEME_PATH}/images/Guest.gif" alt="" /><!-- ELSE -->{USER_AVATAR}<!-- ENDIF -->
Attenzione che {T_THEME_PATH} è la cartella del "tema" dello stile che usi, non la cartella degli avatar, quindi Guest.gif deve stare lì dentro.
- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
Piccola modifica che funziona alla grande!
In gamba come al solito e non finirò mai di ringraziarvi

- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
Con xir stavamo lavorando sull'autoridimensionamento nel caso gli avatar fossero più grandi della tabella e quindi sbordavano.
Infatti abbiamo aggiunto questo file alla welcome mod:
Codice: Seleziona tutto
// funzione autoriduzione avatar - sir xiradorn
$my_avatar = $user->data['user_avatar'];
$my_avatar_type = $user->data['user_avatar_type'];
$my_avatar_width = $user->data['user_avatar_width'];
$my_avatar_height = $user->data['user_avatar_height'];
if ($my_avatar_width > 100 || $my_avatar_height > 100)
{
if ($my_avatar_width > $my_avatar_height)
{
$my_avatar_height = ($my_avatar_height * 100) / $my_avatar_width;
$my_avatar_width = 100;
}
elseif ($my_avatar_height > $my_avatar_width)
{
$my_avatar_width = ($my_avatar_width * 100) / $my_avatar_height;
$my_avatar_height = 100;
}
}
// funzione autoriduzione avatar - sir xiradorn
//END Welcome Mod
Codice: Seleziona tutto
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
Codice: Seleziona tutto
//'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'USER_AVATAR' => get_user_avatar($my_avatar, $my_avatar_type, $my_avatar_width, $my_avatar_height),

Questo avatar, di grosse dimensioni, viene ridimensionato, però, se un'altro utente ne usa di 150x150 (dimensioine massima impostata da me), non si ridimensiona (vedi immagine):

Per caso voi, avete idea su come poter correggere questa cosa?
Io ho modifica un pò variando i parametri in php, ma non ne ho tratto alcuna conclusione.
Scrivo qui perchè magari se va in conflitto qualcosa, e avendo lavorato con bingo alla variante dell'avatar, potevo ricevere un aiuto o qualche delucidazione in merito ^^
Grazie

- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
- Micogian
- Leader Programmatori
- Messaggi: 3704
- Iscritto il: 07/01/2010, 8:51
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 5.4.36
- Database: MySQL 5.1.70-log
- Località: Udine
- Contatta:
Re: Welcome MOD
L'ultima modifica che ho fatto nel mio sito riguarda gli Avatar dei Topics e quelli degli MP che avendo meno spazio a disposizione debordavano dalla colonna profilo.
Le modifiche sono queste (ovviamente le dimensioni le puoi modificare), ma non so se influiscono sulla Mod Welcome, io non la uso:
1) Ridimensionare nei Topics gli Avatar superiori a 140 pixel.
Aprire il file viewtopic.php
Trova la parte di codice:
Codice: Seleziona tutto
// Posts are stored in the $rowset array while $attach_list, $user_cache
// and the global bbcode_bitfield are built
while ($row = $db->sql_fetchrow($result))
{
Codice: Seleziona tutto
// Ridimensiona Avatar se superiore di 140 px
if ($row['user_avatar_width'] > 140 )
{
$row['user_avatar_height'] = ($row['user_avatar_height'] * '140' / $row['user_avatar_width']);
$row['user_avatar_width'] = 140 ;
}
// fine ridimensiona Avatar
Aprire il file includes/ucp/ucp_pm_viewmessage.php
Trova la parte di codice:
Codice: Seleziona tutto
if (!function_exists('get_user_avatar'))
{
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
Codice: Seleziona tutto
// Ridimensiona avatar MP
if ($user_row['user_avatar_width'] > 100 )
{
$user_row['user_avatar_height'] = ($user_row['user_avatar_height'] * '100' / $user_row['user_avatar_width']);
$user_row['user_avatar_width'] = 100 ;
}
// fine ridimensiona avatar MP
- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
Allora, le modifiche da me fatte per la welcome MOD, sono queste:
file index.php
trova
Codice: Seleziona tutto
// Assign index specific vars
Codice: Seleziona tutto
// BEGIN Welcome Mod
//--Welcome_Mod--get the hour number-->
$date = $user->format_date(time(), 'H');
if ($user->data['is_registered'])
{
$u_user_name = get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']);
}
else
{
$u_user_name = $user->lang['WELCOME_GUEST'];
}
switch (true)
{
case ($date < 1):
// if the hour is 6pm-11pm (18-23)
$s_welcome = sprintf($user->lang['GOOD_NIGHT'], $u_user_name);;
break;
case ($date < 4):
// if the hour is 1-3 am
$s_welcome = sprintf($user->lang['UP_LATE'], $u_user_name);
break;
case ($date < 8):
// if the hour is 4-7 am
$s_welcome = sprintf($user->lang['UP_EARLY'], $u_user_name);
break;
case ($date < 12):
// if the hour is 8-11 am
$s_welcome = sprintf($user->lang['GOOD_MORNING'], $u_user_name);
break;
case ($date < 18):
// if the hour is 12-5pm (12-17)
$s_welcome = sprintf($user->lang['GOOD_AFTERNOON'], $u_user_name);
break;
case ($date < 24):
// if the hour is 6pm-11pm (18-23_
$s_welcome = sprintf($user->lang['GOOD_EVENING'], $u_user_name);;
break;
}
// how long a member for
$member_for = '';
if ($user->data['is_registered'] && !$user->data['is_bot'])
{
$member_length = time() - $user->data['user_regdate'];
$years = $months = $days = 0;
$member_for = '';
if ($member_length)
{
if ($member_length >= 31536000)
{
$years = floor($member_length / 31536000);
$member_length = $member_length - ($years * 31536000);
$member_for .= $years > 1 ? ($years . ' ' . $user->lang['WELCOME_YEARS'] . ', ') : ($years . ' ' . $user->lang['WELCOME_YEAR'] . ', ');
}
$months = floor($member_length / 2628000);
if ($months)
{
$months = $months > 1 ? ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ') : ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ');
$member_length = $member_length - ($months * 2628000);
$member_for .= $months;
}
$days = floor($member_length / 86400);
if ($days)
{
$days = $days > 1 ? ($days . ' ' . $user->lang['WELCOME_DAYS']) : ($days . ' ' . $user->lang['WELCOME_DAY']);
$member_for .= $days;
}
}
}
//END Welcome Mod
Codice: Seleziona tutto
'LEGEND' => $legend,
Codice: Seleziona tutto
// BEGIN Welcome Mod
'S_WELCOME' => $s_welcome,
'S_JOINED_DATE' => $user->lang['JOINED'] . ': ' . $user->format_date($user->data['user_regdate']),
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'MEMBER_FOR' => (!empty($member_for)) ? $user->lang['MEMBER_FOR'] . ' ' . $member_for : '',
// END Welcome Mod
prima di:
Codice: Seleziona tutto
?>
Codice: Seleziona tutto
// BEGIN Welcome Mod
$lang = array_merge($lang, array(
'UP_LATE' => 'Sei in ritardo %1$s, Dove ti eri addormentato?!',
'UP_EARLY' => 'Buon Giorno %1$s, Venuto presto stamattina eh?!',
'GOOD_MORNING' => 'Buon Giorno %1$s, Che mattina meravigliosa!',
'GOOD_AFTERNOON' => 'Buon Pomeriggio %1$s, Finalmente sei qui',
'GOOD_EVENING' => 'Buona Sera %1$s, E\' un piacere vederti qui',
'GOOD_NIGHT' => 'Buona Notte %1$s, E\' ora di andare a letto',
'MEMBER_FOR' => 'Iscritto da:',
'WELCOME_GUEST' => 'Ospite',
'WELCOME_HOUR' => 'Ora',
'WELCOME_HOURS' => 'Ore',
'WELCOME_DAY' => 'Giorno',
'WELCOME_DAYS' => 'Giorni',
'WELCOME_MONTH' => 'Mese',
'WELCOME_MONTHS' => 'Mesi',
'WELCOME_YEAR' => 'Anno',
'WELCOME_YEARS' => 'Anni',
));
// END Welcome Mod
dopo:
Codice: Seleziona tutto
<!-- INCLUDE overall_header.html -->
Codice: Seleziona tutto
<!-- IF not S_IS_BOT -->
<div class="forabg">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="topiclist">
<li class="header">
<dl class="icon">
<dt>Benvenuti in {SITENAME}</dt>
</dl>
</li>
</ul>
<ul class="topiclist forums">
<li>
<dl>
<dd style="padding:5px; text-align: center; border:none;">
<!-- IF USER_AVATAR -->{USER_AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif"/><!-- ENDIF -->
</dd>
<dd class="lastpost" style="padding:5px; width:40%;">
<p>{S_WELCOME}</p>
<span><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<br />{CURRENT_TIME}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --><!-- IF S_USER_LOGGED_IN --><br /><br />{S_JOINED_DATE}<br />{MEMBER_FOR}<!-- ENDIF --></span>
</dd>
<dd class="lastpost" style="padding:5px; width:36%;"><span>{TOTAL_POSTS} • {TOTAL_TOPICS}<br />{TOTAL_USERS}<br />{NEWEST_USER}
<!-- IF S_DISPLAY_ONLINE_LIST --><br /><br />{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})<!-- ENDIF --></span>
</dd>
</dl>
</li>
</ul>
<span class="corners-bottom"><span></span></span></div></div>
<!-- ENDIF -->
Codice: Seleziona tutto
<p class="{S_CONTENT_FLOW_END}<!-- IF S_USER_LOGGED_IN --> rightside<!-- ENDIF -->"><!-- IF S_USER_LOGGED_IN -->{LAST_VISIT_DATE}<!-- ELSE -->{CURRENT_TIME}<!-- ENDIF --></p>
<!-- IF U_MCP --><p>{CURRENT_TIME} <br />[ <a href="{U_MCP}">{L_MCP}</a> ]</p><!-- ELSEIF S_USER_LOGGED_IN --><p>{CURRENT_TIME}</p><!-- ENDIF -->
Codice: Seleziona tutto
<!-- IF U_MCP --><p>[ <a href="{U_MCP}">{L_MCP}</a> ]</p><!-- ENDIF -->
La modifica dell'autoresize abbiamo fatto così:
In index.php ho sostituito:
Codice: Seleziona tutto
//END Welcome Mod
Codice: Seleziona tutto
// funzione autoriduzione avatar
$my_avatar = $user->data['user_avatar'];
$my_avatar_type = $user->data['user_avatar_type'];
$my_avatar_width = $user->data['user_avatar_width'];
$my_avatar_height = $user->data['user_avatar_height'];
if ($my_avatar_width > 100 || $my_avatar_height > 100)
{
if ($my_avatar_width > $my_avatar_height)
{
$my_avatar_height = ($my_avatar_height * 100) / $my_avatar_width;
$my_avatar_width = 100;
}
elseif ($my_avatar_height > $my_avatar_width)
{
$my_avatar_width = ($my_avatar_width * 100) / $my_avatar_height;
$my_avatar_height = 100;
}
}
// funzione autoriduzione avatar
//END Welcome Mod
Codice: Seleziona tutto
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
Codice: Seleziona tutto
//'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'USER_AVATAR' => get_user_avatar($my_avatar, $my_avatar_type, $my_avatar_width, $my_avatar_height),
Se mi dai una mano te ne sarei gratissimo bingo (anche agli altri)...perchè fino adesso non ho ricavato un ragno dal buco °_°
- Micogian
- Leader Programmatori
- Messaggi: 3704
- Iscritto il: 07/01/2010, 8:51
- Versione: 3.2.0
- Server: UNIX/Linux
- PHP: 5.4.36
- Database: MySQL 5.1.70-log
- Località: Udine
- Contatta:
Re: Welcome MOD
Il codice da me postato va bene ma va messo nel file index.php con una piccola modifica, al posto di
$row
usare $user->data
:
Codice: Seleziona tutto
// Ridimensiona Avatar se superiore di 140 px
if ($user->data['user_avatar_width'] > 140 )
{
$user->data[user_avatar_height'] = ($user->data['user_avatar_height'] * 140 / $user->data['user_avatar_width']);
$user->data['user_avatar_width'] = 140 ;
}
// fine ridimensiona Avatar
$user->data['avatar_width']
oppure $user->data['user_avatar_width']
Attenzione, è importante che venga prima modificato il valore "height" che viene calcolato in percentiale del valore "width" e poi stabilire la dimensione di "width".
Con questa modifica fatta prima della creazione delle variabili la variabile USER_AVATAR non ha bisogno di essere modificata perchè prende le nuove dimensioni.
Codice: Seleziona tutto
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
- Haku
- Utente
- Messaggi: 2529
- Iscritto il: 22/09/2009, 22:36
- Sesso: Maschio
- Versione: 3.0.9
- Server: UNIX/Linux
- Contatta:
Re: Welcome MOD
Codice: Seleziona tutto
// funzione autoriduzione avatar
$my_avatar = $user->data['user_avatar'];
$my_avatar_type = $user->data['user_avatar_type'];
$my_avatar_width = $user->data['user_avatar_width'];
$my_avatar_height = $user->data['user_avatar_height'];
if ($my_avatar_width > 100 || $my_avatar_height > 100)
{
if ($my_avatar_width > $my_avatar_height)
{
$my_avatar_height = ($my_avatar_height * 100) / $my_avatar_width;
$my_avatar_width = 100;
}
elseif ($my_avatar_height > $my_avatar_width)
{
$my_avatar_width = ($my_avatar_width * 100) / $my_avatar_height;
$my_avatar_height = 100;
}
}
// funzione autoriduzione avatar
//END Welcome Mod
Codice: Seleziona tutto
// Ridimensiona Avatar se superiore di 140 px
if ($user->data['user_avatar_width'] > 140 )
{
$user->data[user_avatar_height'] = ($user->data['user_avatar_height'] * 140 / $user->data['user_avatar_width']);
$user->data['user_avatar_width'] = 140 ;
}
// fine ridimensiona Avatar
Codice: Seleziona tutto
//'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'USER_AVATAR' => get_user_avatar($my_avatar, $my_avatar_type, $my_avatar_width, $my_avatar_height),
Codice: Seleziona tutto
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
Chi c’è in linea
Visitano il forum: Nessuno e 112 ospiti