Descrizione MOD: modifica la Lista degli "iscritti" con aggiunta di tre campi: lo Style utilizzato, la data dell'ultimo Post effettuato dall'utente e la data di ultima visita.
Demo: http://www.actaplantarum.org/floraitali ... erlist.php
Cronologia:
- 13/01/2010 - Iniziato sviluppo della MOD.
- 15/01/2010 - Inserita modifica template per style "prosilver"
- 17/02/2010 - Inseriti i links "sort" alle colonne "Ultimo post" e "ultima visita"
Versioni phpBB compatibili: 3.0.x
File da modificare:
1) memberlist.php
2) language/it/memberlist.php
3) styles/.../template/memberlist_body.html
1) Apri: memberlist.php
Trova:
Codice: Seleziona tutto
if ($auth->acl_get('u_viewonline'))
{
$sort_key_text['l'] = $user->lang['SORT_LAST_ACTIVE'];
$sort_key_sql['l'] = 'u.user_lastvisit';
Codice: Seleziona tutto
$sort_key_text['v'] = $user->lang['SORT_LAST_VISIT'];
$sort_key_sql['v'] = 'u.user_lastvisit';
Codice: Seleziona tutto
'U_SORT_ACTIVE' => ($auth->acl_get('u_viewonline')) ? $sort_url . '&sk=l&sd=' . (($sort_key == 'l' && $sort_dir == 'a') ? 'd' : 'a') : '',
Aggiungi:
Codice: Seleziona tutto
'U_SORT_VISITED' => ($auth->acl_get('u_viewonline')) ? $sort_url . '&sk=v&sd=' . (($sort_key == 'v' && $sort_dir == 'a') ? 'd' : 'a') : '',
Trova:
Codice: Seleziona tutto
// Dump it out to the template
return array(
'AGE' => $age,
'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($data['user_regdate']),
'VISITED' => (empty($last_visit)) ? ' - ' : $user->format_date($last_visit),
Codice: Seleziona tutto
'LASTPOST' => $user->format_date($data['user_lastpost_time']),
'USER_STYLENAME' => nome_style($data['style_id']),
La variabile VISITED (data ultima visita) è già presente nell'array.
Trova: la fine del file.
Codice: Seleziona tutto
?>
Codice: Seleziona tutto
// nome_style() function by bingo
function nome_style($style_cor) {
global $db;
$sql = "SELECT style_name FROM " . STYLES_TABLE . " WHERE style_id = {$style_cor}";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
return $row['style_name'];
}
2) Apri: language/it/memberlist.php
Trova:
Codice: Seleziona tutto
'LAST_ACTIVE' => 'Ultima azione',
Codice: Seleziona tutto
'LASTPOST' => 'Ultimo Post',
'USER_STYLENAME' => 'Nome Style',
'SORT_LAST_VISIT' => 'Ultima visita',
3) Apri:styles/subsilver2/template/memberlist_body.html
Trova la porzione di codice:
Codice: Seleziona tutto
<tr>
<th nowrap="nowrap">#</th>
<th nowrap="nowrap" width="25%" align="{S_CONTENT_FLOW_BEGIN}"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
<th nowrap="nowrap" width="15%"><a href="{U_SORT_JOINED}">{L_JOINED}</a></th>
<th nowrap="nowrap" width="10%"><a href="{U_SORT_POSTS}">{L_POSTS}</a></th>
<th nowrap="nowrap" width="15%"><a href="{U_SORT_RANK}">{L_RANK}</a></th>
<th nowrap="nowrap" width="11%">{L_SEND_MESSAGE}</th>
<th nowrap="nowrap" width="11%"><a href="{U_SORT_EMAIL}">{L_EMAIL}</a></th>
<th nowrap="nowrap" width="11%"><a href="{U_SORT_WEBSITE}">{L_WEBSITE}</a></th>
<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><th width="2%" nowrap="nowrap">{L_MARK}</th><!-- ENDIF -->
</tr>
Codice: Seleziona tutto
<tr>
<th nowrap="nowrap">#</th>
<th nowrap="nowrap" width="12%" align="{S_CONTENT_FLOW_BEGIN}"><a href="{U_SORT_USERNAME}">{L_USERNAME}</a></th>
<th nowrap="nowrap" width="13%"><a href="{U_SORT_JOINED}">{L_JOINED}</a></th>
<th nowrap="nowrap" width="5%"><a href="{U_SORT_POSTS}">{L_POSTS}</a></th>
<th nowrap="nowrap" width="10%"><a href="{U_SORT_RANK}">{L_RANK}</a></th>
<th nowrap="nowrap" width="9%">{L_SEND_MESSAGE}</th>
<th nowrap="nowrap" width="9%"><a href="{U_SORT_EMAIL}">{L_EMAIL}</a></th>
<th nowrap="nowrap" width="9%"><a href="{U_SORT_WEBSITE}">{L_WEBSITE}</a></th>
<th nowrap="nowrap" width="8%">{L_USER_STYLENAME}</th>
<th nowrap="nowrap" width="10%"><a href="{U_SORT_ACTIVE}">{L_SORT_LAST_ACTIVE}</a></th>
<th nowrap="nowrap" width="10%"><a href="{U_SORT_VISITED}">{L_SORT_LAST_VISIT}</a></th>
<!-- IF S_IN_SEARCH_POPUP and not S_SELECT_SINGLE --><th width="2%" nowrap="nowrap">{L_MARK}</th><!-- ENDIF -->
</tr>
Trova la porzione di codice:
Codice: Seleziona tutto
<td class="gen" align="center"> {memberrow.ROW_NUMBER} </td>
<td class="genmed" align="{S_CONTENT_FLOW_BEGIN}">{memberrow.USERNAME_FULL}<!-- IF S_SELECT_SINGLE --> [ <a href="#" onclick="insert_single('{memberrow.A_USERNAME}'); return false;">{L_SELECT}</a> ]<!-- ENDIF --></td>
<td class="genmed" align="center" nowrap="nowrap"> {memberrow.JOINED} </td>
<td class="gen" align="center">{memberrow.POSTS}</td>
<td class="gen" align="center"><!-- IF memberrow.RANK_IMG -->{memberrow.RANK_IMG}<!-- ELSE -->{memberrow.RANK_TITLE}<!-- ENDIF --></td>
<td class="gen" align="center"> <!-- IF memberrow.U_PM --><a href="{memberrow.U_PM}">{PM_IMG}</a><!-- ENDIF --> </td>
<td class="gen" align="center"> <!-- IF memberrow.U_EMAIL --><a href="{memberrow.U_EMAIL}">{EMAIL_IMG}</a><!-- ENDIF --> </td>
<td class="gen" align="center"> <!-- IF memberrow.U_WWW --><a href="{memberrow.U_WWW}">{WWW_IMG}</a><!-- ENDIF --> </td>
<!-- IF memberrow.S_PROFILE_FIELD1 -->
Codice: Seleziona tutto
<td class="gen" align="center"> {memberrow.ROW_NUMBER} </td>
<td class="genmed" align="{S_CONTENT_FLOW_BEGIN}">{memberrow.USERNAME_FULL}<!-- IF S_SELECT_SINGLE --> [ <a href="#" onclick="insert_single('{memberrow.A_USERNAME}'); return false;">{L_SELECT}</a> ]<!-- ENDIF --></td>
<td class="genmed" align="center"> {memberrow.JOINED} </td>
<td class="gen" align="center">{memberrow.POSTS}</td>
<td class="genmed row" align="center"><!-- IF memberrow.RANK_IMG -->{memberrow.RANK_IMG}<!-- ELSE -->{memberrow.RANK_TITLE}<!-- ENDIF --></td>
<td class="gen" align="center"> <!-- IF memberrow.U_PM --><a href="{memberrow.U_PM}">{PM_IMG}</a><!-- ENDIF --> </td>
<td class="gen" align="center"> <!-- IF memberrow.U_EMAIL --><a href="{memberrow.U_EMAIL}">{EMAIL_IMG}</a><!-- ENDIF --> </td>
<td class="gen" align="center"> <!-- IF memberrow.U_WWW --><a href="{memberrow.U_WWW}">{WWW_IMG}</a><!-- ENDIF --> </td>
<td class="genmed" align="center">{memberrow.USER_STYLENAME}</td>
<td class="genmed" align="center">{memberrow.LASTPOST}</td>
<td class="genmed" align="center">{memberrow.VISITED}</td>
<!-- IF memberrow.S_PROFILE_FIELD1 -->
La modifica consente di aggiungere tre colonne alla Lista degli iscritti: Stile utilizzato, Ultimo_post e Ultima_visita.
Come ho anticipato, ci sarebbe da studiare l'ordinamento dei nuovi campi.
------------ INIZIO MODIFICHE TEMPLATE "prosilver" -------------------------
4) Modifica del template "Prosilver"
APRI: styles/prosilver/memberlist_body.html
TROVA: *** questa operazione va fatta due volte perchè il codice viene ripetuto più avanti
Codice: Seleziona tutto
<!-- IF U_SORT_ACTIVE --><th class="active"><a href="{U_SORT_ACTIVE}#memberlist">{L_SORT_LAST_ACTIVE}</a></th><!-- ENDIF -->
Codice: Seleziona tutto
<th class="userstyle">{L_USER_STILENAME}</th>
TROVA:
Codice: Seleziona tutto
<td colspan="<!-- IF U_SORT_ACTIVE -->5<!-- ELSE -->4<!-- ENDIF -->"> </td>
Codice: Seleziona tutto
<td colspan="<!-- IF U_SORT_ACTIVE -->6<!-- ELSE -->5<!-- ENDIF -->"> </td>
Codice: Seleziona tutto
<!-- IF U_SORT_ACTIVE --><th class="active"> </th><!-- ENDIF -->
Codice: Seleziona tutto
<th class="userstyle"> </th>
Codice: Seleziona tutto
<!-- IF S_VIEWONLINE --><td>{memberrow.VISITED} </td><!-- ENDIF -->
Codice: Seleziona tutto
<td>{memberrow.USER_STYLENAME}</td>
Codice: Seleziona tutto
<td colspan="<!-- IF S_VIEWONLINE -->5<!-- ELSE -->4<!-- ENDIF -->">{L_NO_MEMBERS}</td>
Codice: Seleziona tutto
<td colspan="<!-- IF S_VIEWONLINE -->6<!-- ELSE -->5<!-- ENDIF -->">{L_NO_MEMBERS}</td>
APRI: file themes/common.css
TROVA:
Codice: Seleziona tutto
/* Specific column styles */
table.table1 .name { text-align: left; }
table.table1 .posts { text-align: center !important; width: 7%; }
table.table1 .joined { text-align: left; width: 15%; }
table.table1 .active { text-align: left; width: 15%; }
Codice: Seleziona tutto
table.table1 .stylename { text-align: left; width: 10%; }