[Résolu] LISTENER : Variable PHP pour le poster_id de chaque message ?

Aide aux auteurs d'extensions pour phpBB 3.1.x

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Partager sur FacebookPartager sur TwitterPartager sur Google+

[Résolu] LISTENER : Variable PHP pour le poster_id de chaque message ?

Messagepar Kartoon93 » 07 Jan 2017 à 03:32

Bonjour,

Je suis actuellement entrain d'essayer de développer une extension pour un serveur de jeux.
J'ai besoin de récupérer, pour chaque message d'un topic, le poster_id (l'id de l'auteur du post).

J'ai essayé ce code dans mon listener :

Code: Tout sélectionner
<?php
/**
*
* @package phpBB Extension - Nom Extension
* @copyright (c) 2015 Votre Pseudo
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

namespace destinyrp\linkpanel\event;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;

/**
* Event listener
*/
class listener implements EventSubscriberInterface
{
	/** @var \phpbb\config\config */
	protected $config;

	/** @var \phpbb\user */
	protected $user;

	/** @var \phpbb\template\template */
	protected $template;

	/** @var \phpbb\db\driver\driver_interface */
	protected $db;

	/** @var string */
	protected $root_path;

	/** @var string phpBB admin path */
	protected $phpbb_admin_path;

	/** @var string */
	protected $php_ext;

	/**
	* Constructor
	*
	* @param \phpbb\config\config				$config
	* @param \phpbb\user						$user
	* @param \phpbb\template\template			$template
	* @param \phpbb\db\driver\driver_interface	$db
	* @param									$root_path
	* @param									$phpbb_admin_path
	* @param									$php_ext
	*
	*/

        public function __construct(\phpbb\config\config $config, \phpbb\request\request_interface $request, \phpbb\pagination $pagination, \phpbb\db\driver\driver_interface $db, \phpbb\auth\auth $auth, \phpbb\template\template $template, \phpbb\user $user, \phpbb\controller\helper $helper, $phpbb_root_path, $php_ext)
        {
            $this->config = $config;
            $this->request = $request;
            $this->pagination = $pagination;
            $this->db = $db;
            $this->auth = $auth;
            $this->template = $template;
            $this->user = $user;
            $this->helper = $helper;
            $this->phpbb_root_path = $phpbb_root_path;
            $this->php_ext = $php_ext;
        }

	static public function getSubscribedEvents()
	{
		return array(
            'core.viewtopic_modify_post_row'	=> 'viewtopic_modify_post_row',
		);
	}

    public function viewtopic_modify_post_row($event)
    {   

   

         $this->template->assign_vars(array(
            'VIEWTOPIC_PANEL_ID'			    => $event["poster_id"]
		));
    }
}


Mais, pour chaque utilisateur, l'id qui s'affiche correspond à celui du dernier utilisateur de la page.
Je dois avoir rater une variable, ou alors je n'utilise pas le bon event, mais là j'arrive vraiment pas à trouver :/

Une idée ?

Merci d'avance,
Modifié en dernier par Kartoon93 le 07 Jan 2017 à 15:34, modifié 1 fois.
Kartoon93
Posteur néophyte
Posteur néophyte
 
Messages: 3
Enregistré le: 07 Jan 2017 à 03:22

Re: LISTENER : Variable PHP pour le poster_id de chaque message ?

Messagepar pierredu » 07 Jan 2017 à 11:13

Si je comprends bien, ton code est exécuté pour chaque message du sujet. Donc, à la fin, c'est normal que tu aies le dernier auteur. Au lieu de mettre cela dans une globale, mets ça dans un tableau et affiche le tableau à chaque passage. Tu devrais voir le tableau grandir.
Avatar de l’utilisateur
pierredu
Resp. Extensions
Resp. Extensions
 
Messages: 1033
Enregistré le: 29 Mai 2011 à 06:49
Localisation: Paris

Re: LISTENER : Variable PHP pour le poster_id de chaque message ?

Messagepar Kartoon93 » 07 Jan 2017 à 14:56

Bonjour Pierredu,

Merci pour ta réponse. Aurais-tu un exemple de code sur lequel je pourrais me baser ?
Kartoon93
Posteur néophyte
Posteur néophyte
 
Messages: 3
Enregistré le: 07 Jan 2017 à 03:22

Re: LISTENER : Variable PHP pour le poster_id de chaque message ?

Messagepar Kartoon93 » 07 Jan 2017 à 15:34

Finalement j'ai réussi avec ce que tu m'as dis + en m'inspirant d'une extension qui existait déjà.
Merci beaucoup.
Kartoon93
Posteur néophyte
Posteur néophyte
 
Messages: 3
Enregistré le: 07 Jan 2017 à 03:22


Retourner vers Aide au développement

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité