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

Topten Topics

Forum contenente i topic di tutte le MODs rilasciate nel nostro forum.
Possono essere scaricate anche tramite phpBBItalia.net Downloader.
juventissimo
Utente
Utente
Messaggi: 243
Iscritto il: 11/12/2011, 12:21
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL 5.5.36-34.2-log
Contatta:

Re: Topten Topics

Messaggio da juventissimo » 19/01/2012, 19:36

Micogian ha scritto:Già discusso di questo problema, mi pare qui: http://www.phpbbitalia.net/forum/databa ... tml#p23018
Micogian ha scritto:Il link per aprire l'ultimo post dovrebbe essere questo:

Codice: Seleziona tutto

$last_post_link[$n4]		= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "#p" . $row4['topic_last_post_id']);
Adesso dovrebbe essere a posto anche la function mod_data()

Le modifiche sono già state fatte nel codice postato, attendo per farlo nella Mod.

io ho seguito quello che hai scritto, ma non ho ben capito dove devo mettere e/o sostituire il codice :(
mi potresti editare il codice che ti ho allegato cosi non rischio di fare danni?
grazie mille

Codice: Seleziona tutto

<?php
// MOD Topten Topics : Topics più recenti, Topics più visti e Posts più recenti 
// created by Micogian (Bingo)
if (!defined('IN_PHPBB'))
{
   exit;
}
// configurazione: numero dei recods da visualizzare nella Lista
$list_rec = 20 ;   // numero di records da estrarre dalla tabella (alcuni topics potrebbero non aver il permesso di lettura)
$list_view = 10 ;  // sostituire il numero della variabile $lista se si desidera diminuire/aumentare il numero dei Topics 

//---------- 10 Topics più Recenti start -----------//
$sql1 = "SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_time, tt.topic_moved_id, tt.topic_first_poster_name,
    ft.forum_id, ft.forum_name
    FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft 
    WHERE tt.topic_moved_id = 0
    AND tt.forum_id <> '38'
    AND tt.forum_id <> '44'
    AND tt.forum_id <> '67'
    AND tt.forum_id = ft.forum_id
    ORDER BY tt.topic_time DESC LIMIT 0,$list_rec";
$result1 = $db->sql_query($sql1);
    $n1 = 0;
    while ($row1 = $db->sql_fetchrow($result1))
    {
       	if ($auth->acl_get('f_read', $row1['forum_id']) == 1) 
        {
            if ($n1 < $list_view)
			{
				if (strlen($row1['topic_title']) > 28)
				{
				$topic_title1 = substr($row1['topic_title'],0,27) . "...";
				}else{
				$topic_title1 = $row1['topic_title'];
				}
			$last_topic_link[$n1]   		= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row1['forum_id'] . "&t=" . $row1['topic_id']);
            $last_topic_title[$n1]  		= $row1['topic_title'];
			$last_topic_title_short[$n1]  	= $topic_title1;
			$last_topic_forum[$n1]  		= $row1['forum_name'];
            $last_topic_author[$n1] 		= $row1['topic_first_poster_name'];
            $last_topic_data[$n1]   		= $user->format_date($row1['topic_time'], "|d M|");
			++$n1 ;          	
            }else{
			break ;
			}
        }
    }
//---------- 10 Topics più Recenti end -----------//

//---------- 10 Topics più Visti start -----------//

$sql2 = "SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_first_poster_name, tt.topic_views,
    ft.forum_id, ft.forum_name 
    FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft
    WHERE tt.forum_id = ft.forum_id
    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 -----------//

//---------- 10 Ultimi posts start -----------//
$sql4 = "SELECT tt.topic_id, tt.forum_id, tt.topic_moved_id, tt.topic_last_post_id, tt.topic_last_poster_id, tt.topic_last_poster_name, tt.topic_last_post_subject, tt.topic_last_post_time,
    ft.forum_id, ft.forum_name
    FROM " . TOPICS_TABLE . " tt, " . FORUMS_TABLE . " ft 
    WHERE tt.topic_moved_id = 0
    AND tt.forum_id <> '38'
    AND tt.forum_id <> '44'
    AND tt.forum_id = ft.forum_id
    ORDER BY tt.topic_last_post_time DESC LIMIT 0,$list_rec";
$result4 = $db->sql_query($sql4);
    $n4 = 0;
    while ($row4 = $db->sql_fetchrow($result4))
    {
       	if ($auth->acl_get('f_read', $row4['forum_id']) == 1) 
        {
            if ($n4 < $list_view)
			{
				$post_subject = str_replace("Re: ", "", $row4['topic_last_post_subject']) ;
				if (strlen($post_subject) > 28)
				{
				$post_title = substr($post_subject,0,25) . "...";
				}else{
				$post_title = $post_subject ;
				}
			$last_post_link[$n4]		= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "#p" . $row4['topic_last_post_id']);
			//$last_post_link[$n4]   		= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "p#" . $row4['topic_last_post_id']);
			$last_post_title[$n4] 		= $row4['topic_last_post_subject'];
			$last_post_title_short[$n4] = $post_title;
			$last_post_forum[$n4]  		= $row4['forum_name'];
			$last_post_author[$n4] 		= $row4['topic_last_poster_name'];
			++$n4 ;          	
			}else{
			break ;
			}
        }
    }
//---------- 10 Ultimi posts end -----------//

// Crea l'array "topten_list" che contiene le Variabili per il Template
for ($x = 0; $x < $list_view; ++$x)
{
 $template->assign_block_vars('topten_list',array(
	'LAST_TOPIC_LINK'			=> $last_topic_link[$x],
	'LAST_TOPIC_TITLE'			=> $last_topic_title[$x],
	'LAST_TOPIC_TITLE_SHORT'	=> $last_topic_title_short[$x],
	'LAST_TOPIC_FORUM'			=> $last_topic_forum[$x],
	'LAST_TOPIC_AUTHOR'			=> $last_topic_author[$x],
	'LAST_TOPIC_DATA'			=> $last_topic_data[$x],

	'VIEW_TOPIC_LINK'			=> $view_topic_link[$x],
	'VIEW_TOPIC_TITLE'			=> $view_topic_title[$x],
	'VIEW_TOPIC_TITLE_SHORT'	=> $view_topic_title_short[$x],
	'VIEW_TOPIC_FORUM'			=> $view_topic_forum[$x],
	'VIEW_TOPIC_AUTHOR'			=> $view_topic_author[$x],
	'VIEW_TOPIC_VIEWS'			=> $view_topic_views[$x],

	'LAST_POST_LINK'			=> $last_post_link[$x],
	'LAST_POST_TITLE'			=> $last_post_title[$x],
	'LAST_POST_TITLE_SHORT'		=> $last_post_title_short[$x],
	'LAST_POST_FORUM'			=> $last_post_forum[$x],
	'LAST_POST_AUTHOR'			=> $last_post_author[$x]
	));
}
?>

Avatar utente
Micogian
Leader Programmatori
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

Messaggio da Micogian » 19/01/2012, 19:57

No, non è quella la modifica da fare, quella era già fatta.
Devi fare questa:
La Mod si divide in tre parti, l'ultima riguarda "gli ultimi posts".
Devi trovare la riga

Codice: Seleziona tutto

$last_post_link[$n4]    = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "#p" . $row4['topic_last_post_id']); 
e sostituirla con questa:

Codice: Seleziona tutto

$last_post_link[$n4]    = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "&p=" . $row4['topic_last_post_id'] . "#p" . $row4['topic_last_post_id']);
In pratica nell'url che apre il post viene aggiunto il "post_id".
Questo per quanto riguarda le versioni normali di phpbb3, in presenza della SEO non sono certo che funzioni correttamente perchè non ho la SEO per provare. Dovrebbe comunque funzionare regolarmente.

juventissimo
Utente
Utente
Messaggi: 243
Iscritto il: 11/12/2011, 12:21
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL 5.5.36-34.2-log
Contatta:

Re: Topten Topics

Messaggio da juventissimo » 19/01/2012, 20:45

Micogian ha scritto:No, non è quella la modifica da fare, quella era già fatta.
Devi fare questa:
La Mod si divide in tre parti, l'ultima riguarda "gli ultimi posts".
Devi trovare la riga

Codice: Seleziona tutto

$last_post_link[$n4]    = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "#p" . $row4['topic_last_post_id']); 
e sostituirla con questa:

Codice: Seleziona tutto

$last_post_link[$n4]    = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $row4['forum_id'] . "&t=" . $row4['topic_id'] . "&p=" . $row4['topic_last_post_id'] . "#p" . $row4['topic_last_post_id']);
In pratica nell'url che apre il post viene aggiunto il "post_id".
Questo per quanto riguarda le versioni normali di phpbb3, in presenza della SEO non sono certo che funzioni correttamente perchè non ho la SEO per provare. Dovrebbe comunque funzionare regolarmente.
bella, grazie sembra che funzioni :D

EDIT:
mi hanno confermato che funziona :D
grazie

juventissimo
Utente
Utente
Messaggi: 243
Iscritto il: 11/12/2011, 12:21
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL 5.5.36-34.2-log
Contatta:

Re: Topten Topics

Messaggio da juventissimo » 11/02/2012, 10:28

Buona sera a tutti, mi sono accorto che nel mio sito joomla 1.7 ed integrato con il forum phpbb ho un problema con il link alla visualizzazione del mio ultimo post. (il tutto risiede su altervista)

mi spiego meglio:
in home page appare l'elenco di tutte le discussioni e se clicco apre la pagina riferito al post inserito, ma se sul forum la risposta alla discussione va nella seconda pagina il mod mi apre si il topic corretto, ma apre il messaggio d'inizio. (non molto comodo se ho molte pagine)

su opzione avanzate del modulo c'e:

Codice: Seleziona tutto

 message url: viewtopic.phpt=#tid&#p=#mid 
da joomla se clicco mi restituisce questo link sull'indirizzo del forum, ma non lo trova perchè il mio post è in seconda pagina:

Codice: Seleziona tutto

viewtopic.php?t=58#p174
infatti provando ad accedere dal forum e cliccando il post d'interesse che è sulla seconda pagina appare questo:

Codice: Seleziona tutto

viewtopic.php?f=9&t=58&start=10#p174
come devo mettere il codice di base nel message url delle opzioni avanzate del modulo???

non sono molto pratico di questo per cui chiedo aiuto a voi

Grazie carlo

Avatar utente
Micogian
Leader Programmatori
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

Messaggio da Micogian » 11/02/2012, 13:17

Ho l'impressione che la tua richiesta non riguardi la Mod Topten Topics ma una tua personale implementazione.
La Mod Topten Topics prevede la visualizzazione di tre liste: gli "ultimi topics", i "Topics più visti" e gli "Ultimo Posts".
Togliendo i "Topics più visti" che sono un'altra cosa, rimangono gli "Ultimi Topics" il cui link apre il primo post del Topic e gli "Ultimi Posts" che invece apre l'ultimo Post, quindi esistono entrambe le soluzioni.

Per capire meglio, le possibilità di aprire un Topic/Post sono le seguenti:

./viewtopic.php?f=10&t=1234 = apre il primo post del Topic 1234 nel Forum 10

./viewtopic.php?f=10&t=1234&p=9999 = apre il primo post del Topic 1234 nel Forum 10 se non ci sono più pagine nella discussione, altrimenti apre il primo Posts della pagina che comprende il post 9999

./viewtopic.php?f=10&t=1234&p=9999#p9999 = apre la pagina relativa al Post 9999 del topic 1234

Sono tre soluzioni diverse che permettono di aprire il primo Post di un Topics, l'ultimo o anche una pagina intermedia, ovviamente conoscendo il post_id di questa pagina.

juventissimo
Utente
Utente
Messaggi: 243
Iscritto il: 11/12/2011, 12:21
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL 5.5.36-34.2-log
Contatta:

Re: Topten Topics

Messaggio da juventissimo » 11/02/2012, 16:35

Micogian ha scritto:Ho l'impressione che la tua richiesta non riguardi la Mod Topten Topics ma una tua personale implementazione.
La Mod Topten Topics prevede la visualizzazione di tre liste: gli "ultimi topics", i "Topics più visti" e gli "Ultimo Posts".
Togliendo i "Topics più visti" che sono un'altra cosa, rimangono gli "Ultimi Topics" il cui link apre il primo post del Topic e gli "Ultimi Posts" che invece apre l'ultimo Post, quindi esistono entrambe le soluzioni.

Per capire meglio, le possibilità di aprire un Topic/Post sono le seguenti:

./viewtopic.php?f=10&t=1234 = apre il primo post del Topic 1234 nel Forum 10

./viewtopic.php?f=10&t=1234&p=9999 = apre il primo post del Topic 1234 nel Forum 10 se non ci sono più pagine nella discussione, altrimenti apre il primo Posts della pagina che comprende il post 9999

./viewtopic.php?f=10&t=1234&p=9999#p9999 = apre la pagina relativa al Post 9999 del topic 1234

Sono tre soluzioni diverse che permettono di aprire il primo Post di un Topics, l'ultimo o anche una pagina intermedia, ovviamente conoscendo il post_id di questa pagina.
quindi secondo il ragionamento che mi stai spiegando il mio codice da così:

Codice: Seleziona tutto

message url: viewtopic.phpt=#tid&#p=#mid 
dovrebbe diventare cosi?

Codice: Seleziona tutto

message url: viewtopic.php?f=#tid&#p=#p 
grazie per l'aiuto

juventissimo
Utente
Utente
Messaggi: 243
Iscritto il: 11/12/2011, 12:21
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.3.28
Database: MySQL 5.5.36-34.2-log
Contatta:

Re: Topten Topics

Messaggio da juventissimo » 13/02/2012, 17:35

andando un po a caso e rivedendo i codici sempre a caso alla fine ne sono venuto fuori :D
il codice inserito mettendo il linki manuale è questo per

Codice: Seleziona tutto

message url: viewtopic.php?t=#tid&p=#mid&#p#mid

Avatar utente
alex75
phpBB Expert
phpBB Expert
Messaggi: 943
Iscritto il: 31/03/2012, 23:46
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.37
Database: MySQL 5.6.39
Località: palermo
Contatta:

Re: Topten Topics

Messaggio da alex75 » 12/05/2012, 11:06

Salve ragazzi...
uso questa mod (1.0.4) sulla 3.0.10 premod seo e devo dire che funziona perfettamente. Unica pecca (molto soggettiva) non visualizza i topi ed i post importanti. ho letto qualche pagina indietro, che bisogna modificare qualcosa del tipo:

trova:

Codice: Seleziona tutto

    WHERE tt.topic_type = 0
        AND tt.topic_moved_id = 0
sostituisci con:

Codice: Seleziona tutto

    WHERE tt.topic_moved_id = 0
L'unico file dove trovo questo codice, è mod_topten_topics.php (sulla root)
modificato questo file; ho pulito la cache ed aggiornato i template.
Adesso visualizzo i topic importanti; ma non gli ultimi post su argomenti importanti...
Si può modificare anche questo?
PS. per i topic più visti, non ho potuto verificare... Queta limitazione è anche lì?

Avatar utente
Micogian
Leader Programmatori
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

Messaggio da Micogian » 12/05/2012, 14:04

Il topic_type indica il tipo di Topic, la scelta di inserire il valore '0' era proprio per non inserire i Topics Importanti e gli Annunci.
Se si vuole inserire tutti i topic va tolta la riga relativa al topic_type, in pratica

Codice: Seleziona tutto

WHERE tt.topic_type = 0
    AND tt.topic_moved_id = 0
diventa

Codice: Seleziona tutto

WHERE tt.topic_moved_id = 0
proprio perchè non tiene conto del topic_type.
La stessa cosa riguarda gli "Ultimi Posts", non c'è questo controllo invece nella Lista dei Topics più visti.

Avatar utente
alex75
phpBB Expert
phpBB Expert
Messaggi: 943
Iscritto il: 31/03/2012, 23:46
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.37
Database: MySQL 5.6.39
Località: palermo
Contatta:

Re: Topten Topics

Messaggio da alex75 » 12/05/2012, 18:55

Perfetto... ho fatto la stessa modifica anche per gli ultimi post, e adesso funziona come volevo io...
Grazie mille, gentilissimo ;)

Rispondi

Torna a “Database MODs”

Chi c’è in linea

Visitano il forum: Nessuno e 134 ospiti