Modifier la fonction hide kunena

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Modifier la fonction hide kunena

    Bonjour,
    J'avais demander a l'époque un coup de main pour modifier la fonction "hide" de kunena et avais trouver reponse et aide ici alors me permet de redemander un coup de main pour cette meme fonction car apres mise a jour joomla et kunena pas moyen de refaire la manip tout ayant changer !!
    Le post ou on avais resolu est ici http://forum.joomla.fr/showthread.ph...592#post812592 et demander donc a pouvoir refaire meme manip mais n'y arrive plus merci par avance a tous

  • #2
    Re : Modifier la fonction hide kunena

    bonjour
    Personne a une idée d'ou ce trouve maintenant ces fonction bbcode ?
    merci

    Commentaire


    • #3
      Re : Modifier la fonction hide kunena

      Bonsoir,

      As-tu regardé dans /administrator/components/com_kunena/libraries/bbcode/bbcode.php ligne 981 ?
      Développeur de l'extension Kunena : https://github.com/Kunena/Kunena-Forum

      Commentaire


      • #4
        Re : Modifier la fonction hide kunena

        bonsoir et merci pour votre réponse
        En effet est tout ouvert sauf ces fichier dans administrator !!
        Mais la wow tout a changer par rapport a avant et mon code est complétement faut et trouve pas le moyen de le transformer
        si vous avez une idée ca serait vraiment d'un grand secours !!
        merci beaucoup
        nadia

        Commentaire


        • #5
          Re : Modifier la fonction hide kunena

          Je n'ai pas bien saisi, ce que tu veux faire exactement
          Dernière édition par xillibit à 25/10/2012, 17h33
          Développeur de l'extension Kunena : https://github.com/Kunena/Kunena-Forum

          Commentaire


          • #6
            Re : Modifier la fonction hide kunena

            J'ai trouvé comment faire avec un code propre, dans le fichier /administrator/components/com_kunena/libraries/forum/message/helper.php ajoute le code suivant ligne 87 :

            Code PHP:
            static public function getMessagesInTopicForUser($message_id$userid$start=0$limit=0) {        
                  
            $instance KunenaForumMessageHelper::get($message_id); 
                
            $topic $instance->getTopic(    );
                    
                
            $db JFactory::getDBO ();
                    
            $query "SELECT m.*
                    FROM #__kunena_messages AS m        
                    WHERE m.thread=
            {$db->quote($topic->id)} AND m.userid={$db->quote($userid)}";
                    
                
            $db->setQuery $query$start$limit );
                    
            $results = (array) $db->loadResult ('id');
                    
            KunenaError::checkDatabaseError ();    
                
                    if ( 
            count($results) > ) {
                        return 
            true;
                    } else {
                        return 
            false;
                    }
                } 
            Dans le fichier /administrator/components/com_kunena/libraries/bbcode/bbcode.php ligne 981 remplace la fonction DoHide par ceci :

            Code PHP:
            function DoHide($bbcode$action$name$default$params$content) {
                    if (
            $action == BBCODE_CHECK)
                        return 
            true;

                    if (!empty(
            $bbcode->lost_start_tags[$name]) && !$bbcode->was_limited) {
                        return 
            "[{$name}]{$content}";
                    }
                    
            // Display nothing in activity streams etc..
                    
            if (!empty($bbcode->parent->forceSecure)) {
                        return;
                    }

                    
            $userid KunenaUserHelper::getMyself();    
                    
            $message KunenaForumMessageHelper::getMessagesInTopicForUser($bbcode->parent->message->id$userid->userid);

                    if ( 
            $userid->userid == || !$message ) {
                        
            // Hide between content from non registered users
                        
            return JText::'COM_KUNENA_BBCODE_HIDDENTEXT' );
                    } elseif ( 
            $message || $userid->isAdmin() ||$userid->isModerator() ) {
                        
            // Display but highlight the fact that it is hidden from guests
                        
            return '<b>' JText::'COM_KUNENA_BBCODE_HIDE_IN_MESSAGE' ) . '</b>' '<div class="kmsgtext-hide">' $content '</div>';
                    }
                } 
            Après je ne sais pas si tu veux afficher un message quand l'utilisateur n'a pas donné de réponse dans le sujet...
            Développeur de l'extension Kunena : https://github.com/Kunena/Kunena-Forum

            Commentaire


            • #7
              Re : Modifier la fonction hide kunena

              bonjour
              avais tester a modif depuis tu ma dit ca mais avais pas pousser ainsi !! ca fonctionne impec et oui le message pèche donc maintenant
              !! non connecté on a "Quelque chose est masqué pour les invités. Veuillez vous connecter ou vous enregistrer pour le visualiser." je voudrais donc modifié ainsi "Veuillez vous connecter ou vous enregistrer pour le visualiser" et lorsque la personne est connecter donc "veuillez répondre au sujet afin de voir la partie masquée" mais par contre super ca marche comme l'ancienne version kunena merci beaucoup vraiment
              nadia

              Commentaire


              • #8
                Re : Modifier la fonction hide kunena

                Pour afficher un autre message quand la personne n'a pas encore répondu au sujet, remplace une nouvelle fois la fonction DoHide par :

                Code PHP:
                function DoHide($bbcode$action$name$default$params$content) {
                        if (
                $action == BBCODE_CHECK)
                            return 
                true;

                        if (!empty(
                $bbcode->lost_start_tags[$name]) && !$bbcode->was_limited) {
                            return 
                "[{$name}]{$content}";
                        }
                        
                // Display nothing in activity streams etc..
                        
                if (!empty($bbcode->parent->forceSecure)) {
                            return;
                        }

                        
                $userid KunenaUserHelper::getMyself();    
                        
                $message KunenaForumMessageHelper::getMessagesInTopicForUser($bbcode->parent->message->id$userid->userid);

                        if ( 
                $userid->userid == ) {
                            
                // Hide between content from non registered users
                            
                return JText::'COM_KUNENA_BBCODE_HIDDENTEXT' );
                }elseif(!
                $message && !$userid->isAdmin() && !$userid->isModerator()) { 

                // Affiche un message pour dire que il est nécessaire de répondre au sujet pour voir le message caché
                      
                return JText::'COM_KUNENA_BBCODE_HIDDENTEXT_REPLY_PLEASE' ); 
                 } elseif ( 
                $message || $userid->isAdmin() ||$userid->isModerator() ) {
                            
                // Display but highlight the fact that it is hidden from guests
                            
                return '<b>' JText::'COM_KUNENA_BBCODE_HIDE_IN_MESSAGE' ) . '</b>' '<div class="kmsgtext-hide">' $content '</div>';
                        }
                    } 
                Après rajoute dans ton fichier de langue la chaine suivante COM_KUNENA_BBCODE_HIDDENTEXT_REPLY_PLEASE avec le texte correspondant

                J'espére que cela marche car je ne l'ai pas testé
                Développeur de l'extension Kunena : https://github.com/Kunena/Kunena-Forum

                Commentaire


                • #9
                  Re : Modifier la fonction hide kunena

                  Rapide et efficace c'est top !! ca fonctionne impeccable xillibit
                  en suivant tes indications ai même réussit a avoir un message différent au non connecté puis a celui qui est connecté et a celui qui a répondu c'est génial !! je te remercie vivement pour ce travail xillibit
                  bien sincèrement
                  Nadia
                  EDIT
                  Pardon si une question pour finaliser !!!
                  En tant qu'admin je vois donc ce qui ai cacher
                  Y'a t'il un moyen de donner accès sans répondre a certain membre uniquement car sur l'ancienne version j'avais créer une catégorie fantôme et avais fais modérateur certain membres afin qu'il voyent les trucs cacher sans répondre ça permettais a eux de pas recevoir mail system quand je postais des trucs. car la je vois que ces membres ne voye plus la partie cacher par contre
                  Dernière édition par nadia12350 à 26/10/2012, 17h57

                  Commentaire


                  • #10
                    Re : Modifier la fonction hide kunena

                    Bonjour,
                    l'astuce est plaisante ... mais j'aurais besoin d'une petite variante plus simple , mais je ne suis pas tres à l'aise avec le code

                    je souhaite juste appliquer cette fonction hide pour afficher du contenu uniquement à un groupe d'utilisateur, une idée ???

                    merci pour votre aide
                    Miecaze
                    C'est pas facile, mais avec un peu d'effort j'y arrive....

                    Commentaire


                    • #11
                      Re : Modifier la fonction hide kunena

                      j'ai cherché a faire aussi miecaze mais ai pas trouvé !!! sur l'ancienne version je pouvais le faire ainsi que cacher les icones message mais la avec la nouvelle ai pas trouvé

                      Commentaire


                      • #12
                        Re : Modifier la fonction hide kunena

                        merci!
                        à mon avis c'est là :
                        Dans le fichier /administrator/components/com_kunena/libraries/bbcode/bbcode.php ligne 994
                        Code PHP:
                                if (JFactory::getUser ()->id == 0) {
                                    
                        // Hide between content from non registered users
                                    
                        return JText::'COM_KUNENA_BBCODE_HIDDENTEXT' );
                                } else {
                                    
                        // Display but highlight the fact that it is hidden from guests
                                    
                        return '<b>' JText::'COM_KUNENA_BBCODE_HIDE_IN_MESSAGE' ) . '</b>' '<div class="kmsgtext-hide">' $content '</div>';
                                } 
                        mais je ne sais pas comment afficher le message pour uniquement 1 groupe d'utilisateur....
                        Miecaze
                        C'est pas facile, mais avec un peu d'effort j'y arrive....

                        Commentaire

                        Annonce

                        Réduire
                        Aucune annonce pour le moment.

                        Partenaire de l'association

                        Réduire

                        Hébergeur Web PlanetHoster
                        Travaille ...
                        X