Discussion

06/04/2020 à 19h26 : m-ickael : AH AH, non nouvelle mode j'ai l'impression avec le côté ombre :)

06/04/2020 à 15h44 : Swan : Coucou Oui j'ai vu, tu as vu du rond pendant neuf mois, alors tu t'es dis pourquoi pas ?? ;)

05/04/2020 à 21h59 : m-ickael : MDR, merci .. Tu verras sur le forum une nouvelle version de mon site (graphique)

05/04/2020 à 17h57 : Swan : Hoo félicitation Mickael :) Bon bah le confinement c'est chiant ! je suis fatiguée à ne rien faire. Et aujourd'hui c'est dimanche, je fais rien aussi.. :rire

05/04/2020 à 17h55 : Swan : Hey salouté touti ^^ Répondu Myster :)

04/04/2020 à 16h22 : Myster : Bonjour tout le monde, @Swan je t'ai envoyé un MP :)

29/03/2020 à 12h20 : m-ickael : je reprends volontairement le 06 avril pour travailler, et je reprendrai des jours après le confinement. Le petit fait presque ses nuits, et il est très calme.

29/03/2020 à 12h19 : m-ickael : Be moi congé paternité du coup, avec 3 semaines d'avance .. Il devait naitre le 11.04.20 et il est né le 18.03.20 :O

28/03/2020 à 13h03 : Swan : Bonjour à tous, alors le confinement , chez vous.. cela se passe comment ?

27/03/2020 à 11h33 : m-ickael : Salut à tous

25/03/2020 à 06h37 : hight_tower : Bonjour et bonne journée, highty

20/03/2020 à 12h12 : Swan : Bonjour tout le monde ^^

09/03/2020 à 20h08 : m-ickael : Certes, moins communautaire .. Mais bon, c'est calme.

09/03/2020 à 20h08 : m-ickael : Moi j'aime les deux, mais je préfère celui ci .. Plus facile de s'y retrouver :)

09/03/2020 à 20h08 : m-ickael : Salut :)

06/03/2020 à 14h59 : Swan : Oui c'est vrai ^^ j'aimais bien aussi :p

05/03/2020 à 18h11 : Myster : Bonjour, oh hâte de voir, il est bien ce thème, mais je trouve qu'on se sent perdu, et il n'y a pas le côté "communautaire" qu'il y avais y'a quelque année avec la shoutbox partout, les petits smileys icones à côté des liens :D

04/03/2020 à 12h45 : Swan : Bonjour, je pense repasser sur un thème plus tutti fruti ^^

03/03/2020 à 21h13 : m-ickael : Salut :)

02/03/2020 à 11h50 : Swan : :lu Bonjour tout le monde, comme d’habitude toujours à courir partout :p

01/03/2020 à 12h02 : m-ickael : Bon dimanche à tous :)

22/02/2020 à 11h57 : Swan : Bon week end à tous :)

21/02/2020 à 11h01 : Myster : Bonjour les gens :)

20/02/2020 à 15h44 : m-ickael : Salut :)

20/02/2020 à 09h10 : Swan : Bonjour tout le monde ^^

18/02/2020 à 10h54 : Swan : :lu Bonjour à tous , j'ai quelques thèmes St valentin sur le départ, "Mais c'est passé la St Valentin !!!" Oui je sais .. Pas grave ;)

10/02/2020 à 09h10 : Swan : :lu Bonjour tout le monde ^^ Le thème LightManga à été ajouté à la section des téléchargements ^^

09/02/2020 à 19h21 : m-ickael : Oui :)

09/02/2020 à 12h58 : Swan : Coucou tout le monde ^^ Bientôt la St Valentin :p

07/02/2020 à 09h16 : m-ickael : Salut à tous :)

06/02/2020 à 12h04 : Swan : Salut la compagnie ^^ Heuu .. je crois qu'aujourd'hui j'ai rien à faire :waw

05/02/2020 à 12h18 : Swan : Coucou tout le monde ^^ Je remercie tous pour EDN Merci de votre soutien de par votre présence , vos commentaires et votre soutien financier pour que le site continue d'exister;)

31/01/2020 à 22h12 : m-ickael : Bonjour, et courage :)

30/01/2020 à 11h34 : Swan : Hey salut :lu Enfin ré-inscrite au code ;) J'espère que cette fois sera la bonne pour le permis..

25/01/2020 à 08h13 : m-ickael : Salut. J'en ai parlé avec Myster. Je lui ai montré un exemple de mon site bien arrondi. Ce sera la futur version en radius 50px :) Mais je le ferai plus tard, quand ça me pétera, ou après une grosse version du genre 5.3 :)

24/01/2020 à 12h34 : Swan : Salut tout le monde ^^ Je vais revenir à un thème plus perso.. le Flat me gave ! Mickael oui il était superbe ton site en 2012 et il l'est toujours avec son design flat, mais il est vrai que je regrette le temps ou les thèmes était plus rond et graphique. Cela revient à la mode en plus !

24/01/2020 à 11h15 : Myster : Mais ouis ils étaient beaux vos thèmes ! :D, maintenant les sites en général je trouve qu'on a plus l'aspect "personnel" sur les sites, c'est souvent des chartes graphiques qui font "pro" maintenant :)

24/01/2020 à 08h46 : m-ickael : Le ON - OFF sur mon site en 2012 était une révolution :D .. Il est propre en plus, je l'aime encore !

24/01/2020 à 08h40 : m-ickael : OMG

24/01/2020 à 08h39 : m-ickael : Et moi alors : https://web.archive.org/web/20120205130624/http://passion-truck.com/site/news/news.php

23/01/2020 à 13h02 : Swan : Bonjour tout le monde ^^ Oui Myster , mais le 1er ça date ... Je l'ai toujours ce thème en plus :rire Pour le deuxième c'est vrai que pour l'époque il était très beau ^^

21/01/2020 à 12h15 : Myster : Coucou les gens, @Swan https://web.archive.org/web/20110822033819/http://chez-swan.net/ ou https://web.archive.org/web/20130118150158/http://chez-swan.net/ Quelle nostalgie ! La bonne époque ! :D

20/01/2020 à 17h15 : MangaWorld : ok merci

20/01/2020 à 09h06 : Swan : :lu Bonjour à tous et bon début de semaine! MangaWorld Jem'y colle aujourd'hui ;)

18/01/2020 à 22h21 : m-ickael : Yep :)

18/01/2020 à 20h05 : Myster : Bonsoir :)

18/01/2020 à 14h48 : Swan : Bonjour ^^ J'ai du mal à dégager du temps en ce moment .. mais soit patient ;)

14/01/2020 à 16h39 : MangaWorld : ok j'attend de tes news ^^

11/01/2020 à 15h13 : Swan : MangaWorld , non je suis seule maintenant à gérer ^^

11/01/2020 à 15h12 : Swan : Bonjour tout le monde :lu Voilà je viens de rentrer de mes 15 jours de soutien de famille ^^ Bon vœux de nouvel an à tous :fete

Vous n'êtes pas autorisé à ajouter un message !




  Documentations et Dossiers » Notifications | PHPBoost 5.2

 Le 10/01/2019 à 13h22 Myster Avatar  
 


Bonjour à toutes et à tous,

Aujourd'hui je vous présente un module pour PHPBoost 5.2.

Notifications!


Un module permettant d'envoyer des notifications à vos membres lorsque d'autres personnes interagissent avec leurs contenus. C'est-à-dire que si un membre poste un sujet sur le forum et qu'un autre membre envoie un message dans ce sujet, le membre qui a créé le sujet recevra une notification lui indiquant que le membre a ajouté une réponse à son sujet.

De base le module de notifications ne communique pas avec les différents modules de PHPBoost, c'est pour cela que vous devez mettre en oeuvre les addons qui sont proposés sur cette page !

Liste des fonctionnalités!




  • Envoyer une notification à un membre, ou tous les membres depuis l'administration
  • Gérer le nombre de notifications par pages
  • Archivage des notifications une fois lues
  • Supprimer une notification en particulier (ou toutes d'un coup)
  • Activation/Désactivation de la suppression automatique des notifications après la lecture
  • Recevoir des notifications sur les différents modules de PHPBoost grâce aux addons ci-dessous
  • Option permettant l'archivage automatique des notifications (à activer dans l'administration)
  • Possibilité d'archiver une notification spécifique si l'option d'archivage automatique n'est pas activée.



Mais pourquoi tu nous parles d'addons ?


Les addons sont des petits morceaux de code à ajouter sur le module pour lequel il a été fait afin justement "d'activer" les notifications pour ce module. Vous trouverez de plus amples détails ci-dessous.

Preview du module







Lien de téléchargement


Pour télécharger le module Notifications pour PHPBoost 5.2 Cliquez-ici

Les addons


Donc comme vous l'aurez compris ce module fonctionne grâce à des addons ! Sans cela, la seule fonctionnalité du module c'est de pouvoir envoyer une notification à un membre depuis votre espace d'administration, ce n'est pas vraiment ce que l'on souhaite j'imagine ! Donc voici les différents addons

Recevoir une notification lorsque quelqu'un poste un message dans notre sujet[
Recevoir une notification lorsque qu'un modérateur ou administrateur supprime notre sujet
Recevoir une notification lorsqu'un membre répond à notre sondage
Recevoir une notification lorsqu'un modérateur ou un administrateur verrouille notre sujet
Recevoir une notification lorsqu'un modérateur ou un administrateur déverrouille notre sujet
Recevoir une notification lorsque notre contribution est mise à jour
Connaître le nombre de notification(s) dans le module connect ..

A FAIRE ABSOLUMENT AVANT D'INTEGRER LES ADDONS


Certains addons nécessite des champs que certaines requêtes SQL de PHPBoost 5.2 n'ont pas (N'ayez crainte vous n'avez juste qu'à modifier une ligne pour demander à PHPBoost qu'il prenne en compte une colonne en plus ..)
Notez que dans la PHPBoost 5.2 final il n'y aura pas besoin de faire les deux modifications ci-dessous car les colonnes seront prise en compte .. En attendant si vous utilisez une RC, vous devez le faire

Caché:

  • Il nous faut l'user_id du créateur du topic pour les différentes notifications donc allez dans forum/post.php, puis à la ligne 256 remplacez

Code PHP :
 
            $topic = PersistenceContext::get_querier()->select_single_row_query('SELECT idcat, title, nbr_msg, last_user_id, last_msg_id, status
            FROM ' . PREFIX . 'forum_topics
            WHERE id=:id', array(
                'id' => $idt_get
            ));
 


Par ceci:

Code PHP :
 
            $topic = PersistenceContext::get_querier()->select_single_row_query('SELECT user_id, idcat, title, nbr_msg, last_user_id, last_msg_id, status
            FROM ' . PREFIX . 'forum_topics
            WHERE id=:id', array(
                'id' => $idt_get
            ));
 


  • Et pour finir il nous faut le titre du sujet donc allez dans forum/action.php à la ligne 69 puis remplacez ceci:

Code PHP :
 
$topic = PersistenceContext::get_querier()->select_single_row(PREFIX . 'forum_topics', array('user_id', 'idcat', 'first_msg_id', 'last_msg_id', 'last_timestamp'), 'WHERE id=:id', array('id' => $msg['idtopic']));
 


Par le code suivant:
Code PHP :
$topic = PersistenceContext::get_querier()->select_single_row(PREFIX . 'forum_topics', array('user_id', 'title', 'idcat', 'first_msg_id', 'last_msg_id', 'last_timestamp'), 'WHERE id=:id', array('id' => $msg['idtopic']));;


Voilà c'est tout ! :)

Liste des addons


Le forum

Recevoir une notification lorsque quelqu'un poste un message dans notre sujet

Caché:

Dans forum/post.php, vers la ligne 340 juste après:

Code PHP :
 
$last_msg_id = $Forumfct->Add_msg($idt_get, $topic['idcat'], $contents, $topic['title'], $last_page, $last_page_rewrite);
 


Ajoutez ceci:

Code PHP :
 
                    if ($topic['user_id'] != AppContext::get_current_user()->get_id())
                      {
                        $notify = New Notifications();
                        $notify->set_sender_id(AppContext::get_current_user()->get_id());
                        $notify->set_recipient_id($topic['user_id']);
                        $notify->set_reading(0);
                        $notify->set_date(time());
                        $notify->set_content(NotificationsFormat::contenu('forum.msg', array(
                            'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
                            'username' => AppContext::get_current_user()->get_display_name(),
                            'sujet' => $topic['title'],
                            'url' => PATH_TO_ROOT . "/forum/topic" . url('.php?id=' . $idt_get . $last_page, '-' . $idt_get . $last_page_rewrite . '.php', '&') . '#m' . $last_msg_id
                        )));
                        Notifications::add_notification($notify);
                      }
 


Recevoir une notification lorsque qu'un modérateur ou administrateur supprime notre sujet
Caché:

A la ligne 80 dans forum/action.php, juste en dessous de
Code PHP :
$Forumfct->Del_topic($msg['idtopic']); //Suppresion du topic.


ajoutez ceci:

Code PHP :
 
if($topic['user_id'] != AppContext::get_current_user()->get_id())
{
    $notify = New Notifications();
    $notify->set_sender_id(AppContext::get_current_user()->get_id());
    $notify->set_recipient_id($topic['user_id']);
    $notify->set_reading(0);
    $notify->set_date(time());
    $notify->set_content(NotificationsFormat::contenu('forum.del.topic', array(
    'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
    'username' => AppContext::get_current_user()->get_display_name(),
    'sujet' => $topic['title'],
    )));
    Notifications::add_notification($notify);
}
 


Recevoir une notification lorsqu'un membre répond à notre sondage
Caché:

  • Dans forum/action.php vers la ligne ligne 215 en dessous de:


Code PHP :
            PersistenceContext::get_querier()->update(PREFIX . 'forum_poll', array('voter_id' =>  implode('|', $voter_id), 'votes' =>  implode('|', $array_votes)), 'WHERE idtopic=:id', array('id' => $idt_get));


Ajoutez ceci:

Code PHP :
 
                    if ($topic['user_id'] != AppContext::get_current_user()->get_id())
                      {
                        $notify = New Notifications();
                        $notify->set_sender_id(AppContext::get_current_user()->get_id());
                        $notify->set_recipient_id($topic['user_id']);
                        $notify->set_reading(0);
                        $notify->set_date(time());
                        $notify->set_content(NotificationsFormat::contenu('forum.poll', array(
                            'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
                            'username' => AppContext::get_current_user()->get_display_name(),
                            'sujet' => $topic['title'],
                            'url' => PATH_TO_ROOT . "/forum/topic.php?id=".$idt_get
                        )));
                        Notifications::add_notification($notify);
                      }
 


Recevoir une notification lorsqu'un modérateur ou un administrateur verrouille notre sujet
Caché:
Dans le fichier forum/action.php vers la ligne 230 juste en dessous de
Code PHP :
 $Forumfct->Lock_topic($idt_get); 


Ajoutez ceci:

Code PHP :
 
                    if ($topic['user_id'] != AppContext::get_current_user()->get_id())
                      {
                        $notify = New Notifications();
                        $notify->set_sender_id(AppContext::get_current_user()->get_id());
                        $notify->set_recipient_id($topic['user_id']);
                        $notify->set_reading(0);
                        $notify->set_date(time());
                        $notify->set_content(NotificationsFormat::contenu('forum.lock.topic', array(
                            'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
                            'username' => AppContext::get_current_user()->get_display_name(),
                            'sujet' => $topic['title'],
                            'url' => PATH_TO_ROOT . "/forum/topic.php?id=".$idt_get
                        )));
                        Notifications::add_notification($notify);
                      }
 


Recevoir une notification lorsqu'un modérateur ou un administrateur déverrouille notre sujet
Caché:
Dans le fichier forum/action.php vers la ligne 239 juste en dessous de
Code PHP :
 $Forumfct->Unlock_topic($idt_get); 


Ajoutez ceci:

Code PHP :
 
                    if ($topic['user_id'] != AppContext::get_current_user()->get_id())
                      {
                        $notify = New Notifications();
                        $notify->set_sender_id(AppContext::get_current_user()->get_id());
                        $notify->set_recipient_id($topic['user_id']);
                        $notify->set_reading(0);
                        $notify->set_date(time());
                        $notify->set_content(NotificationsFormat::contenu('forum.unlock.topic', array(
                            'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
                            'username' => AppContext::get_current_user()->get_display_name(),
                            'sujet' => $topic['title'],
                            'url' => PATH_TO_ROOT . "/forum/topic.php?id=".$idt_get
                        )));
                        Notifications::add_notification($notify);
                      }
 



Les contributions

Pour les contributions j'ai fait qu'un seul addon donc à voir si y'a encore des choses à faire à ce niveau plus tard ..

Recevoir une notification lorsque notre contribution est mise à jour
Caché:
Rendez-vous dans /user/contribution_panel.php vers la ligne 111

Juste en dessous de :
Code PHP :
 
        //Enregistrement en base de données
        ContributionService::save_contribution($contribution);
 


Ajoutez ceci:

Code PHP :
 
                        $notify = New Notifications();
                        $notify->set_sender_id(AppContext::get_current_user()->get_id());
                        $notify->set_recipient_id($topic['user_id']);
                        $notify->set_reading(0);
                        $notify->set_date(time());
                        $notify->set_content(NotificationsFormat::contenu('update.contrib', array(
                            'url_username' => UserUrlBuilder::profile(AppContext::get_current_user()->get_id())->rel(),
                            'username' => AppContext::get_current_user()->get_display_name(),
                            'contribution' => $topic['title'],
                            'url' => PATH_TO_ROOT."/user/contribution_panel.php?id=".$id_to_update
                        )));
                        Notifications::add_notification($notify);
 



Module: "Connect"

Connaître le nombre de notification(s) dans le module connect ..

Caché:
  • Allez dans connect/phpboost/ConnectModuleMiniMenu.class.php vers la ligne 47 juste en dessous de :
    Code PHP :
    $unread_contributions = UnreadContributionsCache::load();

    Ajoutez ceci :
    Code PHP :
    $nbr_notifications = NotificationsService::count('WHERE recipient_id=:recip_id AND reading=0', array('recip_id' => $user->get_id()));

    Puis pour déclarer dans le template le nombre de notifications:
    Vers la ligne 107 de ce même fichier juste en dessous de :
    Code PHP :
                        'NUMBER_UNREAD_CONTRIBUTIONS' => $contribution_number,

    Ajoutez ceci :
    Code PHP :
                        'NBR_NOTIFICATIONS' => $nbr_notifications,


    Vous pouvez maintenant afficher le nombre de notifications dans connect_mini.tpl qui se trouve dans connect/templates/connect_mini.tpl ou dans /templates/{Votre theme}/modules/connect/connect_mini.tpl





Edité par Myster Le 12/01/2019 à 10h38

CsN Mortier


 Le 10/01/2019 à 13h38 m-ickael Avatar  
 


Merci :) Tu as gardé le hidden :D

CsN Fusée


 Le 10/01/2019 à 13h42 Myster Avatar  
 


Oui mais si je met pas de hidden ça fait une grosse page les gens vont croire qu'il faut modifier tout ça alors que ce ne sont que des addons optionnels xD

CsN Mortier


 Le 10/01/2019 à 13h48 m-ickael Avatar  
 


Tu devrais mettre le tuto dans l'archive :) comme phpbb

CsN Fusée


 Le 10/01/2019 à 14h05 Myster Avatar  
 


Oui probablement, je verrais ça un peu plus tard je prends une légère pause d'un jour là ! xD

J'ai ajouté l'addon pour avoir le chiffre (1) ou (2) enfin tout dépends du nombre de notifications que tu as pour le module connect :)

CsN Mortier


 Le 18/02/2019 à 19h27 m-ickael Avatar  
 


ça y est, j'y suis aussi en 5.2 :D



CsN Fusée


 Le 28/02/2019 à 21h49 patgame Avatar  
 


Bonsoir

Très bien de module un grand merci pour le dev

une petite suggestion quand on crée une notification on a le choix de le faire pour un memebre (je suppose que pour plusieurs c'est faisable aussi en espaçant avec; les adresses ou pseudos ?) ou tous les membres

ne pourrait on pas ajouter les groupes? ce qui affinerait encore la communication du site avec ses membres

par exemple dans notre association sportive nous avons une section danse et des sous catégories du type :
danses de salon mardi
danse de salon mercredi
rock salsa bachata( même prof)

il est arrive que le prof de salon qui vient de loin a annulé a cause du mauvais temps et prévient assez tardivement la notification à tout son sens
elle est rapide, couvre tout un groupe ,si en plus c'est relayé par un envoi de mail c'est le top

ou autre exemple
activité zen
gym
etc même principe sous divisé en sous groupe


se serait sympa de pouvoir notifier à un groupe d'utilisateur (un ascenseur, on choisi un ou + groupes et hop)

j'avais oublié qui envoi les notifications aux utilisateurs? dans le cas d'un envoi spécifique car je n'ai pas vu de droit dans la config comme sur les autres modules

cordialement

Patrick



Edité par patgame Le 28/02/2019 à 22h01

CsN Bazooka


Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie
Qui est en ligne ?

Qui est en ligne ?

Au total il y a 1 Utilisateur en ligne :: 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
( basées sur les utilisateurs actifs des 5 dernières minutes )
Utilisateur en ligne: Aucun membre connecté

Membres connectés au cours des dernières 24 heures:

Swan, hight_tower, m-ickael, Myster, Sodeska, Carlosmub, RobertCalry,

Légende

 [ Administrateur(s) ]   [ Modérateur(s) ]   [ Helpers]   [ WebDesigner(s) ]   [ Membres ]