Se ti va di descrivere la modifica io ci provo
phpBB Italia chiude!
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
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
Topten Topics
-
maverix
- Utente

- Messaggi: 337
- Iscritto il: 29/04/2011, 13:22
- Sesso: Maschio
- Versione: 3.1.5
- Server: UNIX/Linux
- PHP: 5.4.43
- Database: MySQL(i) 5.5.42-cll
- Località: Lago di Garda
- Contatta:
Re: Topten Topics
Interessante la proposta, un utente si sceglie il lasso di tempo preferito 
Se ti va di descrivere la modifica io ci provo
Se ti va di descrivere la modifica io ci provo
- 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: Topten Topics
Modifica alla sezione "Topic più visti"
Viene aggiunta la possibilità di selezionare il periodo di valutazione (6 mesi per default, 12 mesi, tutto l'archivio):
Sostituire la parte relativa a "Topics più visti" nel file mod_topten_topics.php con la seguente:
Modifica del file mod_topten_topics_body.html (versione per style Prosilver)
Sostituire la riga:
con questa:
E' possibile modificare il colore del modulo select. Se volete assegnare lo stesso colore della tabella è necessario controllare il codice esadecimale del file bg_list.gif che gestisce la class="forabg" e che si trova in theme/images/ del vostro stile e modificare il valore
Anche il valore
Aggiornare la cache del template da PCA e tutto dovrebbe funzionare. Il periodo di default è di 6 mesi, le altre opzioni sono 12 mesi e tutto il periodo.
DEMO: http://www.actafungorum.org/actaforum/index.php
Viene aggiunta la possibilità di selezionare il periodo di valutazione (6 mesi per default, 12 mesi, tutto l'archivio):
Sostituire la parte relativa a "Topics più visti" nel file mod_topten_topics.php con la seguente:
Codice: Seleziona tutto
//---------- 10 Topics più Visti start -----------//
// modifica Mod: inserisce la selezione del periodo di valutazione
$data_cor = time() ; // timestamp data corrente
$data_6 = ($data_cor - 15811200) ; // timestamp di 182 giorni fa
$data_12 = ($data_cor - 31536000) ; // timestamp di 365 giorni fa
$data_views = $_POST['sel_views'] ; // opzione selezionata
// assegnazione dell'opzione scelta, per default (nessuna selezione) è 6 mesi
if ($data_views == '' || $data_views == '1')
{
$template->assign_var('TIME_SELECTED', '1');
$data_ini = $data_6 ;
}
if ($data_views == '2' )
{
$template->assign_var('TIME_SELECTED', '2');
$data_ini = $data_12 ;
}
if ($data_views == '3')
{
$template->assign_var('TIME_SELECTED', '3');
$data_ini = '0' ;
}
// fine modifica Modifica periodo di valutazione
$sql2 = "SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_first_poster_name, tt.topic_views,tt.topic_time,
ft.forum_id, ft.forum_name
FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft
WHERE tt.forum_id = ft.forum_id
AND tt.topic_time > $data_ini
ORDER BY tt.topic_views DESC LIMIT 0,$list_rec";
$result2 = $db->sql_query($sql2);
$n2 = 0 ;
while ($row2 = $db->sql_fetchrow($result2))
{
if ($auth->acl_get('f_read', $row2['forum_id']) == 1)
{
if ($n2 < $list_view)
{
if (strlen($row2['topic_title']) > 28)
{
$topic_title2 = substr($row2['topic_title'],0,27) . "...";
}else{
$topic_title2 = $row2['topic_title'];
}
$view_topic_link[$n2] = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row2['forum_id'] . "&t=" . $row2['topic_id']);
$view_topic_title[$n2] = $row2['topic_title'];
$view_topic_title_short[$n2] = $topic_title2;
$view_topic_forum[$n2] = $row2['forum_name'];
$view_topic_author[$n2] = $row2['topic_first_poster_name'];
$view_topic_views[$n2] = $row2['topic_views'];
++$n2 ;
}else{
break ;
}
}
}
//---------- 10 Topics più visti end -----------//
Sostituire la riga:
Codice: Seleziona tutto
<dd style="width: 33%"> Topics più visti</dd>Codice: Seleziona tutto
<dd style="width: 33%">
<form name="views" action="index.php" method="post">
Topics più visti
<select style="font: 10px Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF; background: #859D90; width: 150px;" name="sel_views" onChange='this.form.submit()' >
<!-- IF TIME_SELECTED == '1' --><option value='1' selected><!-- ELSE --><option value='1'><!-- ENDIF -->ultimi 6 mesi</option>
<!-- IF TIME_SELECTED == '2' --><option value='2' selected><!-- ELSE --><option value='2'><!-- ENDIF -->ultimi 12 mesi</option>
<!-- IF TIME_SELECTED == '3' --><option value='3' selected><!-- ELSE --><option value='3'><!-- ENDIF -->tutto</option>
</select>
</form>
</dd>background: #859D90;Anche il valore
color: #FFFFFF; può essere modificatoe va inserito a seconda del colore della tabella.Aggiornare la cache del template da PCA e tutto dovrebbe funzionare. Il periodo di default è di 6 mesi, le altre opzioni sono 12 mesi e tutto il periodo.
DEMO: http://www.actafungorum.org/actaforum/index.php
-
maverix
- Utente

- Messaggi: 337
- Iscritto il: 29/04/2011, 13:22
- Sesso: Maschio
- Versione: 3.1.5
- Server: UNIX/Linux
- PHP: 5.4.43
- Database: MySQL(i) 5.5.42-cll
- Località: Lago di Garda
- Contatta:
Re: Topten Topics
Cliccando sul tuo forum però di default è "TUTTO" .... è corretto?bingo ha scritto:.
Aggiornare la cache del template da PCA e tutto dovrebbe funzionare. Il periodo di default è di 6 mesi, le altre opzioni sono 12 mesi e tutto il periodo.
DEMO: http://www.actafungorum.org/actaforum/index.php
- 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: Topten Topics
Si, è una modifica che ho fatto in seguito. Ho ritenuto che sia più corretto visualizzare la lista completa e lasciare la scelta all'utente per le altre opzioni.maverix ha scritto:Cliccando sul tuo forum però di default è "TUTTO" .... è corretto?bingo ha scritto:.
Aggiornare la cache del template da PCA e tutto dovrebbe funzionare. Il periodo di default è di 6 mesi, le altre opzioni sono 12 mesi e tutto il periodo.
DEMO: http://www.actafungorum.org/actaforum/index.php
Per default si intende l'opzione "vuota", quindi quando si apre la pagina e non sono attivate le opzioni di scelta.
Basta usare queste condizioni:
Codice: Seleziona tutto
// assegnazione dell'opzione scelta, per default è Tutto
if ($data_views == '' || $data_views == '3')
{
$template->assign_var('TIME_SELECTED', '3');
$data_ini = '0' ;
}
if ($data_views == '1' )
{
$template->assign_var('TIME_SELECTED', '1');
$data_ini = $data_6 ;
}
if ($data_views == '2')
{
$template->assign_var('TIME_SELECTED', '2');
$data_ini = $data_12 ;
}-
maverix
- Utente

- Messaggi: 337
- Iscritto il: 29/04/2011, 13:22
- Sesso: Maschio
- Versione: 3.1.5
- Server: UNIX/Linux
- PHP: 5.4.43
- Database: MySQL(i) 5.5.42-cll
- Località: Lago di Garda
- Contatta:
Re: Topten Topics
Ciao Bingo, ho fatto tutta la modifica e funziona perfettamente 
Ma ci avevi già pensato o è stata una mia idea?
Ho fatto come te, lascio per default "di sempre" (ho modificato la scritta) e poi uno si seleziona il periodo che vuole.
Il colore della casella invece mi va bene che sia diverso, lo si nota di più.
Grazie ancora per la disponibilità.
Ma ci avevi già pensato o è stata una mia idea?
Ho fatto come te, lascio per default "di sempre" (ho modificato la scritta) e poi uno si seleziona il periodo che vuole.
Il colore della casella invece mi va bene che sia diverso, lo si nota di più.
Grazie ancora per la disponibilità.
- 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: Topten Topics
In effetti ci pensavo da un pò perchè ero consapevole che dei topics piuttosto vecchi avrebbero condizionato la Lista.
Il tuo intervento mi ha convinto a trovare una soluzione, non mi sembrava giusto limitare il periodo, credo che la soluzione adottata sia quella più corretta. Si potrebbe anche modificare il periodo di ricerca ma questo dipende da Forum a Forum.
Il tuo intervento mi ha convinto a trovare una soluzione, non mi sembrava giusto limitare il periodo, credo che la soluzione adottata sia quella più corretta. Si potrebbe anche modificare il periodo di ricerca ma questo dipende da Forum a Forum.
-
girello
- Utente

- Messaggi: 191
- Iscritto il: 16/02/2010, 11:36
- Sesso: Maschio
- Versione: 3.1.4
- Server: UNIX/Linux
- PHP: 5.5.19
- Località: mantova
- Contatta:
Re: Topten Topics
bingo ha scritto:Modifica alla sezione "Topic più visti"
Viene aggiunta la possibilità di selezionare il periodo di valutazione (6 mesi per default, 12 mesi, tutto l'archivio):
Sostituire la parte relativa a "Topics più visti" nel file mod_topten_topics.php con la seguente:Modifica del file mod_topten_topics_body.html (versione per style Prosilver)Codice: Seleziona tutto
//---------- 10 Topics più Visti start -----------// // modifica Mod: inserisce la selezione del periodo di valutazione $data_cor = time() ; // timestamp data corrente $data_6 = ($data_cor - 15811200) ; // timestamp di 182 giorni fa $data_12 = ($data_cor - 31536000) ; // timestamp di 365 giorni fa $data_views = $_POST['sel_views'] ; // opzione selezionata // assegnazione dell'opzione scelta, per default (nessuna selezione) è 6 mesi if ($data_views == '' || $data_views == '1') { $template->assign_var('TIME_SELECTED', '1'); $data_ini = $data_6 ; } if ($data_views == '2' ) { $template->assign_var('TIME_SELECTED', '2'); $data_ini = $data_12 ; } if ($data_views == '3') { $template->assign_var('TIME_SELECTED', '3'); $data_ini = '0' ; } // fine modifica Modifica periodo di valutazione $sql2 = "SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_first_poster_name, tt.topic_views,tt.topic_time, ft.forum_id, ft.forum_name FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft WHERE tt.forum_id = ft.forum_id AND tt.topic_time > $data_ini ORDER BY tt.topic_views DESC LIMIT 0,$list_rec"; $result2 = $db->sql_query($sql2); $n2 = 0 ; while ($row2 = $db->sql_fetchrow($result2)) { if ($auth->acl_get('f_read', $row2['forum_id']) == 1) { if ($n2 < $list_view) { if (strlen($row2['topic_title']) > 28) { $topic_title2 = substr($row2['topic_title'],0,27) . "..."; }else{ $topic_title2 = $row2['topic_title']; } $view_topic_link[$n2] = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row2['forum_id'] . "&t=" . $row2['topic_id']); $view_topic_title[$n2] = $row2['topic_title']; $view_topic_title_short[$n2] = $topic_title2; $view_topic_forum[$n2] = $row2['forum_name']; $view_topic_author[$n2] = $row2['topic_first_poster_name']; $view_topic_views[$n2] = $row2['topic_views']; ++$n2 ; }else{ break ; } } } //---------- 10 Topics più visti end -----------//
Sostituire la riga:con questa:Codice: Seleziona tutto
<dd style="width: 33%"> Topics più visti</dd>E' possibile modificare il colore del modulo select. Se volete assegnare lo stesso colore della tabella è necessario controllare il codice esadecimale del file bg_list.gif che gestisce la class="forabg" e che si trova in theme/images/ del vostro stile e modificare il valoreCodice: Seleziona tutto
<dd style="width: 33%"> <form name="views" action="index.php" method="post"> Topics più visti <select style="font: 10px Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF; background: #859D90; width: 150px;" name="sel_views" onChange='this.form.submit()' > <!-- IF TIME_SELECTED == '1' --><option value='1' selected><!-- ELSE --><option value='1'><!-- ENDIF -->ultimi 6 mesi</option> <!-- IF TIME_SELECTED == '2' --><option value='2' selected><!-- ELSE --><option value='2'><!-- ENDIF -->ultimi 12 mesi</option> <!-- IF TIME_SELECTED == '3' --><option value='3' selected><!-- ELSE --><option value='3'><!-- ENDIF -->tutto</option> </select> </form> </dd>background: #859D90;
Anche il valorecolor: #FFFFFF;può essere modificatoe va inserito a seconda del colore della tabella.
Aggiornare la cache del template da PCA e tutto dovrebbe funzionare. Il periodo di default è di 6 mesi, le altre opzioni sono 12 mesi e tutto il periodo.
DEMO: http://www.actafungorum.org/actaforum/index.php
ciao bingo è possibile averla anche per subsilver 2? grazie mille
- 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: Topten Topics
E' da tempo che non lavoro più con subsilver2 ma basta modificare solamente una riga nel template (il php è uguale per tutti).girello ha scritto:ciao bingo è possibile averla anche per subsilver 2? grazie mille
Nel file mod_topten_topics.html trova la riga
Codice: Seleziona tutto
<th style="width: 33%">Topics più visti</th>Codice: Seleziona tutto
<th style="width: 33%">
<form name="views" action="index.php" method="post">
Topics più visti
<select style="font: 10px Verdana, Arial, Helvetica, sans-serif; color: #FFFFFF; background: #859D90; width: 150px;" name="sel_views" onChange='this.form.submit()' >
<!-- IF TIME_SELECTED == '1' --><option value='1' selected><!-- ELSE --><option value='1'><!-- ENDIF -->ultimi 6 mesi</option>
<!-- IF TIME_SELECTED == '2' --><option value='2' selected><!-- ELSE --><option value='2'><!-- ENDIF -->ultimi 12 mesi</option>
<!-- IF TIME_SELECTED == '3' --><option value='3' selected><!-- ELSE --><option value='3'><!-- ENDIF -->tutto</option>
</select>
</form>
</th>Il resto è codice HTML.
- 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: Topten Topics
Se la Mod ha funzionato finora si può pensare a qualcosa di nuovo che crea un errore e le cose nuove nella Mod sono i Topics.
Potrebbe essere qualcosa nel Topic che mette in crisi la query, può essere il titolo (un carattere strano, un apice), qualcosa insomma che non viene correttamente interpretato.
La prova più semplice potrebbe essere quella di modificare il numero dei Topics elaborati.
Nella query la parte finale
Io proverei per eliminazione, con 0,40, 0,30, 0,20, 0,10
se a un certo punto funziona (anche se la lista è più corta) abbiamo individuato il topic incriminato.
Sul momento non mi viene altro in testa.
Potrebbe essere qualcosa nel Topic che mette in crisi la query, può essere il titolo (un carattere strano, un apice), qualcosa insomma che non viene correttamente interpretato.
La prova più semplice potrebbe essere quella di modificare il numero dei Topics elaborati.
Nella query la parte finale
ORDER BY .... DESC LIMIT 0,50"; indica di controllare 50 topic partendo dal primo (che poi è l'ultimo perche c'è il DESC che inverte l'ordine).Io proverei per eliminazione, con 0,40, 0,30, 0,20, 0,10
se a un certo punto funziona (anche se la lista è più corta) abbiamo individuato il topic incriminato.
Sul momento non mi viene altro in testa.
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti
