Guida: installare la Sort Topics Alphabetically
Inviato: ven 10 giu 2011, 19:46
Si scarica la MOD di Ameeck se la si vuole conservare ( si installa anche semplicemente seguendo le istruzioni a seguire)
Questa modifica non implica nessun file aggiuntivo va solamente a integrare nuovo codice atto al funzionamento della medesima, con settaggi impostabili da PCA.
Si accede al database relazionale del forum tramite il front-end grafico PhpMyAdmin
si avrà una pagina del tipo
si tratterà di aprire il database cliccando sul nome in azzurro, nel mio caso my_silvermaledetto
ora si vedranno le singole tabelle che costituiscono il database MySQL
Dovendo integrare una tabella, si procede direttamente cliccando sul pulsante SQL in alto a sinistra
e si aprirà una pagina del tipo
in cui bisognerà solo inserire nell'apposito spazio questo codice
e cliccare evidentemente su Esegui
il che dovrebbe modificare la tabella phpbb_forums ( dove phpbb è il prefisso tabellare di default , ma se avete una board non installata manualmente, questo potrebbe pure essere diverso )
Aprire: viewforum.php
cerca
Aggiungi dopo
In una nuova linea creata
Cerca
Aggiungi dopo
In una nuova linea creata
Cerca
Rimpiazza con
Cerca
Aggiungi dopo
Cerca
Aggiungi dopo
In una nuova linea creata
Cerca
Aggiungi prima
In una nuova linea creata
Cerca
Rimpiazza con
Cerca
Aggiungi dopo
In una nuova linea creata
Cerca
Aggiungi dopo
In una nuova linea creata
Cerca
Rimpiazza con
Aprire: includes/acp/acp_forums.php
Cerca
Aggiungi dopo
In una nuova linea creata
cerca
Agiungi dopo
In una nuova linea creata
Cerca
Aggiungi dopo
In una nuova linea creata
Aprire: language/en/viewforum.php
I file di linguaggio vanno modificati solo con codifica UTF-8 senza BOM!!
Cerca
Aggiungi dopo
In una nuova linea creata
da riportare nella cartella it nella medesima posizione ( se si vuole una traduzione, ma la modifica funzionerà ugualmente)
Aprire: language/en/acp/forums.php
Cerca
Aggiungere dopo
In una nuova linea creata
come prima per la cartella speculare in it
Aprire: styles/prosilver/template/viewforum_body.html
Cerca
Aggiungi prima
In una nuova linea creata
Aprire: adm/style/acp_forums.html
Cerca
Aggiungi dopo
In una nuova linea creata
Salva tutti i file, entra nel PCA e cancella la cache generale del forum.La MOD è finita.
Da PCA quando si creerà un nuovo forum o si andrà a modificarne uno esistente, ora si vedrà questo nuovo settaggio
Nella normale navigazione di quel forum si vedrà invece
la lista alfabetica e dei caratteri speciali, cliccabile.
Questa modifica non implica nessun file aggiuntivo va solamente a integrare nuovo codice atto al funzionamento della medesima, con settaggi impostabili da PCA.
Si accede al database relazionale del forum tramite il front-end grafico PhpMyAdmin
si avrà una pagina del tipo
si tratterà di aprire il database cliccando sul nome in azzurro, nel mio caso my_silvermaledetto
ora si vedranno le singole tabelle che costituiscono il database MySQL
Dovendo integrare una tabella, si procede direttamente cliccando sul pulsante SQL in alto a sinistra
e si aprirà una pagina del tipo
in cui bisognerà solo inserire nell'apposito spazio questo codice
- Codice: Seleziona tutto
ALTER TABLE phpbb_forums ADD sort_alphabet TINYINT( 1 ) NOT NULL DEFAULT '0';
e cliccare evidentemente su Esegui
il che dovrebbe modificare la tabella phpbb_forums ( dove phpbb è il prefisso tabellare di default , ma se avete una board non installata manualmente, questo potrebbe pure essere diverso )
Aprire: viewforum.php
cerca
- Codice: Seleziona tutto
if (!$forum_data)
{
trigger_error('NO_FORUM');
}
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
// Begin Sort topics alphabetically
$letter = request_var('letter', '');
if (!in_array($letter, range('A', 'Z')) && $letter != 'other' || !$forum_data['sort_alphabet'])
{
$letter = '';
}
// End Sort topics alphabetically
Cerca
- Codice: Seleziona tutto
gen_sort_selects($limit_days, $sort_by_text, $sort_days, $sort_key, $sort_dir, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param);
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
// Begin sort topics alphabetically
// A bit of phpBB code from memberlist, thank you
$sql_where_letter = '';
if ($letter == 'other')
{
for ($i = 97; $i < 123; $i++)
{
$sql_where_letter .= ' AND topic_title NOT ' . $db->sql_like_expression(chr($i) . $db->any_char);
}
}
else if ($letter)
{
$sql_where_letter .= ' AND topic_title ' . $db->sql_like_expression(substr($letter, 0, 1) . $db->any_char);
}
// End sort topics alphabetically
Cerca
- Codice: Seleziona tutto
if ($sort_days)
{
$min_post_time = time() - ($sort_days * 86400);
Rimpiazza con
- Codice: Seleziona tutto
if ($sort_days || $letter)
{
$min_post_time = ($sort_days) ? time() - ($sort_days * 86400) : 0;
Cerca
- Codice: Seleziona tutto
OR topic_type = " . POST_ANNOUNCE . ")
Aggiungi dopo
- Codice: Seleziona tutto
$sql_where_letter
Cerca
- Codice: Seleziona tutto
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
'U_ALL_TOPICS' => append_sid("viewforum.$phpEx", "f=$forum_id&letter=&st=$sort_days&sk=$sort_key&sd=$sort_dir"),
'S_SORT_ALPHABET' => $forum_data['sort_alphabet'],
Cerca
- Codice: Seleziona tutto
// Grab icons
$icons = $cache->obtain_icons();
Aggiungi prima
In una nuova linea creata
- Codice: Seleziona tutto
// Begin sort topics alphabetically
foreach (range('A', 'Z') as $single_letter)
{
$template->assign_block_vars('alphabet', array(
'LETTER' => $single_letter,
'U_LETTER' => append_sid("viewforum.$phpEx", "f=$forum_id&letter=$single_letter&$u_sort_param"),
'DIVIDER' => ',',
));
}
$template->assign_block_vars('alphabet', array(
'LETTER' => "#",
'U_LETTER' => append_sid("viewforum.$phpEx", "f=$forum_id&letter=other&$u_sort_param"),
'DIVIDER' => '',
));
// End sort topics alphabetically
Cerca
- Codice: Seleziona tutto
else
{
$topics_count--;
}
Rimpiazza con
- Codice: Seleziona tutto
elseif(empty($letter))
{
$topics_count--;
}
Cerca
- Codice: Seleziona tutto
{
$get_forum_ids = array_diff($active_forum_ary['forum_id'], $active_forum_ary['exclude_forum_id']);
$sql_where = (sizeof($get_forum_ids)) ? $db->sql_in_set('t.forum_id', $get_forum_ids) : 't.forum_id = ' . $forum_id;
}
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
// Sort topic alphabetically
// We need to edit the once generated where part of the query, since table shortcuts are used
$sql_where_letter = str_replace('topic_title', 't.topic_title', $sql_where_letter);
Cerca
- Codice: Seleziona tutto
$sql_approved
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
$sql_where_letter
Cerca
- Codice: Seleziona tutto
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&$u_sort_param"), $topics_count, $config['topics_per_page'], $start),
Rimpiazza con
- Codice: Seleziona tutto
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&letter=$letter&$u_sort_param"), $topics_count, $config['topics_per_page'], $start),
Aprire: includes/acp/acp_forums.php
Cerca
- Codice: Seleziona tutto
'forum_password_unset' => request_var('forum_password_unset', false),
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
'sort_alphabet' => request_var('sort_alphabet', 0),
cerca
- Codice: Seleziona tutto
'forum_password_confirm'=> '',
Agiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
'sort_alphabet' => 0,
Cerca
- Codice: Seleziona tutto
'S_FORUM_PASSWORD_SET' => (empty($forum_data['forum_password'])) ? false : true,
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
'S_SORT_ALPHABETICALLY' => $forum_data['sort_alphabet'],
Aprire: language/en/viewforum.php
I file di linguaggio vanno modificati solo con codifica UTF-8 senza BOM!!
Cerca
- Codice: Seleziona tutto
'POST_FORUM_LOCKED' => 'Forum is locked',
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
'SORT_ALPHABETICALLY' => 'Sort alphabetically',
da riportare nella cartella it nella medesima posizione ( se si vuole una traduzione, ma la modifica funzionerà ugualmente)
'SORT_ALPHABETICALLY' => 'Indice alfabetico',
Aprire: language/en/acp/forums.php
Cerca
- Codice: Seleziona tutto
'REDIRECT_ACL' => 'Now you are able to %sset permissions%s for this forum.',
Aggiungere dopo
In una nuova linea creata
- Codice: Seleziona tutto
'SORT_ALPHABETICALLY' => 'Allow sorting by first letters',
'SORT_ALPHABETICALLY_EXPLAIN' => 'Displays a panel which lets users to choose to display topics starting with a specific letter or character.',
come prima per la cartella speculare in it
'SORT_ALPHABETICALLY' => 'Abilita una lista alfabetica di ordinamento argomenti',
'SORT_ALPHABETICALLY_EXPLAIN' => 'Visualizza un pannello che permette agli utenti
di scegliere di ordinare gli argomenti che iniziano con una lettera specifica o un carattere',
Aprire: styles/prosilver/template/viewforum_body.html
Cerca
- Codice: Seleziona tutto
<!-- BEGIN topicrow -->
Aggiungi prima
In una nuova linea creata
- Codice: Seleziona tutto
<!-- IF S_SORT_ALPHABET -->
<div class="panel">
<div class="inner"><span class="corners-top"><span></span></span>
<ul class="linklist">
<li><strong style="font-size: 0.95em;">{L_SORT_ALPHABETICALLY}: <a href="{U_ALL_TOPICS}" style="font-weight: bold;">{L_ALL_TOPICS}</a>,
<!-- BEGIN alphabet -->
<a href="{alphabet.U_LETTER}" style="font-weight: bold;">{alphabet.LETTER}</a>{alphabet.DIVIDER}
<!-- END alphabet --></strong>
</ul>
<span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->
Aprire: adm/style/acp_forums.html
Cerca
- Codice: Seleziona tutto
<dl>
<dt><label for="topics_per_page">{L_FORUM_TOPICS_PAGE}:</label><br /><span>{L_FORUM_TOPICS_PAGE_EXPLAIN}</span></dt>
<dd><input type="text" id="topics_per_page" name="topics_per_page" value="{TOPICS_PER_PAGE}" size="4" maxlength="4" /></dd>
</dl>
Aggiungi dopo
In una nuova linea creata
- Codice: Seleziona tutto
<dl>
<dt><label for="sort_alphabet">{L_SORT_ALPHABETICALLY}:</label><br /><span>{L_SORT_ALPHABETICALLY_EXPLAIN}</span></dt>
<dd><label><input type="radio" class="radio" name="sort_alphabet" value="1"<!-- IF S_SORT_ALPHABETICALLY --> id="sort_alphabet" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="sort_alphabet" value="0"<!-- IF not S_SORT_ALPHABETICALLY --> id="sort_alphabet" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
Salva tutti i file, entra nel PCA e cancella la cache generale del forum.La MOD è finita.
Da PCA quando si creerà un nuovo forum o si andrà a modificarne uno esistente, ora si vedrà questo nuovo settaggio
Nella normale navigazione di quel forum si vedrà invece
la lista alfabetica e dei caratteri speciali, cliccabile.