Communauté Elgg francophone

Créer un compteAide  
Connexion
Plugins et développement
Partage de plugins et ressources utiles pour le développement

ordre des plugins

Démarré par jmperuchot le 2 février 2018 Réponses (4)

bonjour,

je n'arrive pas à écrire sur le mur d'un contact j'ai l'affichage "THIS WALL IS EMPTY"

Lorsque je veux envoyer un message à un contact j'ai le message

"le destinataire n'a pas pu être trouvé dans la base de données des utilisateurs"

est ce qu'il y a un ordre au niveau des plugins 

 

 

 

 ceci est la liste de nos plugins installés 

Réponses

  • Florian DANIEL ~ Facyla le 2 février 2018

    Bonjour,

    L'ordre a une importance, mais normalement si c'est bloquant ça devrait être signalé dans les pré-requis du plugin.

    Pour voir ce qu'il se passe côté code, ça peut être très utilie d'installer/activer elgg developper toosl (plugin "developers") qui ajoute un menu "Inspecter" et qui permet notamment de savoir quel fichier traite quelle action : ça permet d'identifier rapidement le fichier responsable, puis de tester pour voir s'il manque des paramètres, etc.

     

  • jmperuchot le 3 février 2018

    bonjour,

    j'ai ce genre de trace dans les événements est ce normal

     

    500 upload_users_upgrade_v1_8_2
    500 elgg_hybridauth_upgrade
    500 (Closure mod/hypeScraper/start.php:76)
    500 (Closure mod/hypeWall/start.php:62)
  • Florian DANIEL ~ Facyla le 3 avril 2018

    Hello

    500 est la priorité (ou plutôt le "poids") par défaut des plugins, des vues, des événements : ce n'est pas anormal d'avoir plusieurs événements ou hooks avec la même priorité. 

    Quand la priorité est identique, c'est l'ordre des plugins qui détermine l'ordre d'exécution (ou de surcharge s'il s'agit de vues).

    Par contre s'il y a plusieurs événements pour une même action, et que celle-ci ne marche pas in fine, ce sont peut-être les fonctions correspondantes qui posent problème (donc ici potentiellement : les 4 listées). Si en désactivant l'une d'elle ça marche, ça indique clairement où regarder et ce qui coince :)

  • jmperuchot le 4 avril 2018

    bonjour,

    merci de votre réponse sur l'ordre des plugins et les prioritées

     

    pour le sujet de cette discussion j'ai modifié un fichier dans hypewall 

     

    Pour pouvoir écrire sur le mur d’un contact connecté il faut modifier

    \mod\hypeWall\classes\hypeJunction\Wall\Permissions.php

    <?php

    namespace hypeJunction\Wall;

    /**

     * @access private

     */

    class Permissions {

                    /**

                     * Allow users to post on each other's walls

                     * Container here is the wall, and can be a user or group

                     *

                     * @param string  $hook   Equals 'container_permissions_check'

                     * @param string  $type   Equals 'object'

                     * @param boolean $return Current permission

                     * @param array   $params Additional params

                     * @return boolean Filtered permission

                     */

                    public static function containerPermissionsCheck($hook, $type, $return, $params) {

                                   $container = elgg_extract('container', $params);

                                   $user = elgg_extract('user', $params);

                                   $subtype = elgg_extract('subtype', $params);

     

                                   if ($subtype !== Post::SUBTYPE) {

                                                   return $return;

                                   }

                                   if ($container->isFriend($user)) { //jmp

                                                   return true;

                                   } else {

                                                   $third_party_wall_global = elgg_get_plugin_setting('third_party_wall', 'hypeWall');

                                                   $third_party_wall_user = elgg_get_plugin_user_setting('third_party_wall', $container->guid, 'hypeWall');

     

                                                   if ($third_party_wall_global && $third_party_wall_user) {

                                                                   return true;

                                                   }

                                   }

    //jmp

                                   if (!$container instanceof ElggUser) {

                                                   return $return;

                                   }

     

                                   if (!$user instanceof ElggUser) {

                                                   return $return;

                                   }

     

    /*           jmp        if ($container->isFriend($user)) {

                                                   return true;

                                   } else {

                                                   $third_party_wall_global = elgg_get_plugin_setting('third_party_wall', 'hypeWall');

                                                   $third_party_wall_user = elgg_get_plugin_user_setting('third_party_wall', $container->guid, 'hypeWall');

     

                                                   if ($third_party_wall_global && $third_party_wall_user) {

                                                                   return true;

                                                   }

                                   }

    Jmp */

                                   return $return;

                    }

     

    }

     

    POur que le rafraichisement fonctionne correctement il faut dévalider

    Tokenizing Autocomplete 

     voir le site https://driving-lovers.com