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

[ALPHA] Simple Topic List

Estensioni in fase di sviluppo.
Benny
Utente
Utente
Messaggi: 137
Iscritto il: 26/07/2015, 2:10
Sesso: Maschio

Re: [ALPHA] Simple Topic List

Messaggio da Benny » 01/10/2015, 17:36

Agli ordini

Codice: Seleziona tutto

<?php
/** 
* 
* @package StaffIt - Toic List 
* @copyright (c) 2014 brunino
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 
* 
*/ 
namespace staffit\topiclist\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
	/** @var \phpbb\config\config */	
	protected $config;
	/** @var \phpbb\db\driver\driver_interface */
	protected $db;
	/** @var \phpbb\template\template */
	protected $template;
	/** @var \phpbb\auth\auth */
	protected $auth;
	/** @var \phpbb\user */
	protected $user;
	protected $root_path;
	
	protected $phpEx;
/** 
 	* Constructor 
 	* 
 	* @param \phpbb\config\config   		$config             	 Config object 
 	* @param \phpbb\db\driver\driver_interface      $db        	 	 DB object 
 	* @param \phpbb\template\template    		$template  	 	 Template object 
 	* @param \phpbb\auth\auth      			$auth           	 Auth object 
 	* @param \phpbb\use		     		$user           	 User object 
 	* @param	                		$root_path          	 Root Path object 
 	* @param                  	     		$phpEx          	 phpEx object 
 	* @return \staffit\toptentopics\event\listener 
 	* @access public 
 	*/ 
public function __construct(\phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, \phpbb\template\template $template, \phpbb\auth\auth $auth, \phpbb\user $user, $root_path, $phpEx) 
{
   $this->config = $config;
   $this->db = $db;
   $this->template = $template; 
   $this->auth = $auth;
   $this->user = $user;
   $this->root_path = $root_path;
   $this->phpEx   = $phpEx ;
}
/** 
 	* Assign functions defined in this class to event listeners in the core 
 	* 
 	* @return array 
 	* @static 
 	* @access public 
 	*/ 
static public function getSubscribedEvents()	
{
return array(			
'core.user_setup'						=> 'setup',
'core.viewtopic_modify_post_row' => 'viewtopic_add',
);	
}
public function setup($event)	{	
//language start
$lang_set_ext = $event['lang_set_ext'];
		$lang_set_ext[] = array(
			'ext_name' => 'staffit/topiclist',
			'lang_set' => 'common',
		);
		$event['lang_set_ext'] = $lang_set_ext;
}
public function viewtopic_add($event)	
{
//$array_topic_data=$event['post_row'];
$rowmessage=$event['post_row'];
$message=$rowmessage['MESSAGE'];
$post_id=$rowmessage['POST_ID'];
if(strpos($message,"tlist]"))
{
//costanti di lingua momentanee
$l_topic_list=$this->user->lang['TOPIC_TITLE']; //da cambiare
$l_topic_no=$this->user->lang['TOPIC_TITLE']; //da cambiare
$l_topic_title=$this->user->lang['TOPIC_TITLE'];
$l_topic_author=$this->user->lang['TOPIC_AUTHOR'];
$l_topic_date=$this->user->lang['TOPIC_DATE'];
define("TOPIC_LIST", "$l_topic_list");
define("TOPIC_TITLE", "$l_topic_title");
define("TOPIC_AUTHOR", "$l_topic_author");
define("TOPIC_DATE", "$l_topic_date");
define("NO_TOPIC", "$l_topic_no");


preg_match_all("#\[tlist\](.*?)\[/tlist\]#", $message, $forum_id_from);
if($forum_id_from[1][0])
{
$forum_id=$forum_id_from[1][0];
}else{
$forum_query=$this->db->sql_query("SELECT forum_id
    FROM " . POSTS_TABLE . "
    WHERE post_id = $post_id");
    $forum_id_array=$this->db->sql_fetchrow($forum_query);
$forum_id=$forum_id_array['forum_id'];
}


$topic_list="<h3>" .TOPIC_LIST. "</h3>";
$topic_list .= "<table border=\"2\"><tr align=\"center\"><th width=\"700\"><b>" .TOPIC_TITLE. "</b></th></tr>";
$lista_topics=$this->db->sql_query("SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_time, tt.topic_moved_id, tt.topic_poster, 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.topic_type <= 0
    AND tt.forum_id = ft.forum_id
    AND tt.topic_visibility=1
    AND ft.forum_id=$forum_id
    ORDER BY tt.topic_title ASC");
while($topics=$this->db->sql_fetchrow($lista_topics))
{
$titolo_topic=$topics['topic_title'];
$autore_topic=$topics['topic_first_poster_name'];
$id_autore_topic=$topics['topic_poster'];
$id_topic=$topics['topic_id'];
//$data_topic=date("d/m",$topics['topic_time']); 
$data_topic=$this->user->format_date($topics['topic_time']);
$topic_list.="<tr align=\"center\"><td><a href=\"{$this->root_path}viewtopic.{$this->phpEx}?t=$id_topic\">$titolo_topic</a></td><td></tr>;
}
$topic_list.="</table>";
$message=str_replace("[tlist][/tlist]", "$topic_list", "$message");
$message=str_replace("[tlist]" . $forum_id . "[/tlist]", "$topic_list", "$message");
$rowmessage['MESSAGE']=$message;
$event['post_row'] = $rowmessage;
}
}
}

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da brunino » 01/10/2015, 17:58

Prova così

Codice: Seleziona tutto

<?php
/** 
* 
* @package StaffIt - Toic List 
* @copyright (c) 2014 brunino
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 
* 
*/ 
namespace staffit\topiclist\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
	/** @var \phpbb\config\config */	
	protected $config;
	/** @var \phpbb\db\driver\driver_interface */
	protected $db;
	/** @var \phpbb\template\template */
	protected $template;
	/** @var \phpbb\auth\auth */
	protected $auth;
	/** @var \phpbb\user */
	protected $user;
	protected $root_path;
	
	protected $phpEx;
/** 
 	* Constructor 
 	* 
 	* @param \phpbb\config\config   		$config             	 Config object 
 	* @param \phpbb\db\driver\driver_interface      $db        	 	 DB object 
 	* @param \phpbb\template\template    		$template  	 	 Template object 
 	* @param \phpbb\auth\auth      			$auth           	 Auth object 
 	* @param \phpbb\use		     		$user           	 User object 
 	* @param	                		$root_path          	 Root Path object 
 	* @param                  	     		$phpEx          	 phpEx object 
 	* @return \staffit\toptentopics\event\listener 
 	* @access public 
 	*/ 
public function __construct(\phpbb\config\config $config, \phpbb\db\driver\driver_interface $db, \phpbb\template\template $template, \phpbb\auth\auth $auth, \phpbb\user $user, $root_path, $phpEx) 
{
   $this->config = $config;
   $this->db = $db;
   $this->template = $template; 
   $this->auth = $auth;
   $this->user = $user;
   $this->root_path = $root_path;
   $this->phpEx   = $phpEx ;
}
/** 
 	* Assign functions defined in this class to event listeners in the core 
 	* 
 	* @return array 
 	* @static 
 	* @access public 
 	*/ 
static public function getSubscribedEvents()	
{
return array(			
'core.user_setup'						=> 'setup',
'core.viewtopic_modify_post_row' => 'viewtopic_add',
);	
}
public function setup($event)	{	
//language start
$lang_set_ext = $event['lang_set_ext'];
		$lang_set_ext[] = array(
			'ext_name' => 'staffit/topiclist',
			'lang_set' => 'common',
		);
		$event['lang_set_ext'] = $lang_set_ext;
}
public function viewtopic_add($event)	
{
//$array_topic_data=$event['post_row'];
$rowmessage=$event['post_row'];
$message=$rowmessage['MESSAGE'];
$post_id=$rowmessage['POST_ID'];
if(strpos($message,"tlist]"))
{
//costanti di lingua momentanee
$l_topic_list="Elenco dei Topic; //da cambiare
$l_topic_no=$this->user->lang['TOPIC_TITLE']; //da cambiare
$l_topic_title=$this->user->lang['TOPIC_TITLE'];
//$l_topic_author=$this->user->lang['TOPIC_AUTHOR'];
$l_topic_date=$this->user->lang['TOPIC_DATE'];
define("TOPIC_LIST", "$l_topic_list");
define("TOPIC_TITLE", "$l_topic_title");
//define("TOPIC_AUTHOR", "$l_topic_author");
define("TOPIC_DATE", "$l_topic_date");
define("NO_TOPIC", "$l_topic_no");


preg_match_all("#\[tlist\](.*?)\[/tlist\]#", $message, $forum_id_from);
if($forum_id_from[1][0])
{
$forum_id=$forum_id_from[1][0];
}else{
$forum_query=$this->db->sql_query("SELECT forum_id
    FROM " . POSTS_TABLE . "
    WHERE post_id = $post_id");
    $forum_id_array=$this->db->sql_fetchrow($forum_query);
$forum_id=$forum_id_array['forum_id'];
}


$topic_list="<h3>" .TOPIC_LIST. "</h3>";
$topic_list .= "<table border=\"2\"><tr align=\"center\"><th width=\"700\"><b>" .TOPIC_TITLE. "</b></th></tr>";
$lista_topics=$this->db->sql_query("SELECT tt.topic_id, tt.forum_id, tt.topic_title, tt.topic_time, tt.topic_moved_id, tt.topic_poster, 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.topic_type <= 0
    AND tt.forum_id = ft.forum_id
    AND tt.topic_visibility=1
    AND ft.forum_id=$forum_id
    ORDER BY tt.topic_title ASC");
while($topics=$this->db->sql_fetchrow($lista_topics))
{
$titolo_topic=$topics['topic_title'];
//$autore_topic=$topics['topic_first_poster_name'];
//$id_autore_topic=$topics['topic_poster'];
$id_topic=$topics['topic_id'];
//$data_topic=date("d/m",$topics['topic_time']); 
$data_topic=$this->user->format_date($topics['topic_time']);
$topic_list.="<tr align=\"center\"><td><a href=\"{$this->root_path}viewtopic.{$this->phpEx}?t=$id_topic\">$titolo_topic</a></td></tr>;
}
$topic_list.="</table>";
$message=str_replace("[tlist][/tlist]", "$topic_list", "$message");
$message=str_replace("[tlist]" . $forum_id . "[/tlist]", "$topic_list", "$message");
$rowmessage['MESSAGE']=$message;
$event['post_row'] = $rowmessage;
}
}
}


Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da Astro86 » 01/10/2015, 18:28

Grazie

Benny
Utente
Utente
Messaggi: 137
Iscritto il: 26/07/2015, 2:10
Sesso: Maschio

Re: [ALPHA] Simple Topic List

Messaggio da Benny » 02/10/2015, 12:29

brunino ha scritto:Prova così
Niente...
Ho cambiato il listener.php, ho svuotato la cache, ho disabilitato la ext, cancellato i dati, cancellato la cache, riabilitato la ext.... ma si vede sempre l'autore....

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da brunino » 02/10/2015, 12:35

Non so che dirti... BHO! L'ho escluso in ogni modo dal codice

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Avatar utente
masterbiz
Utente
Utente
Messaggi: 96
Iscritto il: 03/05/2012, 18:40
Sesso: Maschio
Versione: 3.1.3
Server: UNIX/Linux
PHP: 5.5.9.1
Database: MySQL 5.5.41
Località: Sicily (Island)
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da masterbiz » 26/10/2015, 12:09

Io ho risolto cosi:

da event ; listener.php

Da cosi :

Codice: Seleziona tutto

$l_topic_list=$this->user->lang['TOPIC_TITLE']; //da cambiare
$l_topic_no=$this->user->lang['TOPIC_TITLE']; //da cambiare
A cosi:

Codice: Seleziona tutto

$l_topic_list=$this->user->lang['']; 
$l_topic_no=$this->user->lang[''];
la modifica e' instantanea senza bisogno di cancellare la cache !
[b][i]"Il software è come il sesso, è meglio quando è libero"[/i][/b]

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da brunino » 27/10/2015, 18:45

Nuova versione.

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

shelter
Utente
Utente
Messaggi: 50
Iscritto il: 10/04/2011, 17:35
Sesso: Maschio
Versione: 3.0.14
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL(i) 5.0.75-0ubuntu10.5-lo

Re: [ALPHA] Simple Topic List

Messaggio da shelter » 08/11/2015, 16:55

scusa ma ho una piccola riflessione da farti, ma invece di farla leggere da dentro al topic non si potrebbe creare un modo che si veda in alto nella sezione tipo presentati qui o calcio in modo che sia + leggibile????
nel senso che dare un nome allo scopo nella barra tipo Lista basta poi cliccarci su e la si spulcia senza intasare i topic

allo stato attuale questo bbcode diventa kilometrico per chi ha troppi tropic in sezione

grazie, ottima idea ma troppo ingrobante allo stato attuale usarla per chi ha migliaia di topic in una sezione

Avatar utente
brunino
Moderatore
Moderatore
Messaggi: 2819
Iscritto il: 12/01/2013, 16:35
Sesso: Maschio
Versione: 3.1.2
Server: UNIX/Linux
PHP: php 5.3
Database: mysql
Località: Toscana, Firenze
Contatta:

Re: [ALPHA] Simple Topic List

Messaggio da brunino » 08/11/2015, 22:48

Per quello ci sono altre estensioni come la Top Ten Topics... Questa crea appunto un bbcode da inserire nei topic. Se volete limitarlo a un numero massimo di topic, posso spiegarvi come farlo.

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk
E' sempre gradito un grazie

Creo estensioni per phpBB 3.1 su misura: contattami via MP.
Mie Estensioni: Top Ten Topics | Ban List | Topic List
Visita il mio forum di test e sviluppo stili e estensioni phpBB 3.1

Rispondi

Torna a “In sviluppo”

Chi c’è in linea

Visitano il forum: Nessuno e 96 ospiti