Définir une fonction accessible par tous

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

  • Définir une fonction accessible par tous

    Salut à tous,

    Je suis actuellement entrain d'écrire un composant administrateur qui permet d'uploader des vidéos, modifier son player etc.

    J'aimerais savoir à quel endroit je pourrais placer une fonction qui sera accessible pas tous les utilisateurs. Je m'explique :

    Pour l'instant, mon fichier monmodule.php contient :

    Code:
    <?php  
    
    defined( '_JEXEC' ) or die( 'Restricted access' );
    
    require_once( JPATH_COMPONENT.DS.'controller.php' );
    
    $controller = JRequest::getVar( 'controller' );
    
    $classname    = 'gestionvideosController'.$controller;
    $controller   = new $classname( );  
    
    $controller->execute( JRequest::getVar( 'task' ) );
      
    $controller->redirect();  
    ?>
    C'est à dire que je passe la variable task à mon controlleur (monmodule.php) situé dans le dossier admin afin qu'il appel les fonctions suivant la valeur de la variable task. J'ai donc une URL de la forme :
    Code:
    http://localhost:8888/joomla/administrator/index.php?option=com_monmodule&task=video
    Seulement ce que j'aimerais, c'est pouvoir appelé une url telle que :
    Code:
    http://localhost:8888/joomla/?task=callback&key=125345
    afin de pouvoir traité la requête sans avoir besoin d'être connecté...

    Je ne sais pas si j'ai été très clair, n'hésitez pas à me poser des questions et merci d'avance pour votre aide

  • #2
    Re : Définir une fonction accessible par tous

    il faut que tu créées la partie front de ton composant et tu seras obligé de lui passer l'option


    et dans ton controller

    $key = JRequest::getVar( 'key' ) ;

    avec les tests de sécurité minimum

    fais attention à ne pas confondre composant et module
    com_gestionvideos au lieu de com_monmodule
    Christophe
    http://www.webcrea.fr

    Commentaire


    • #3
      Re : Définir une fonction accessible par tous

      D'accord merci ! Et qu'entendez vous par la parti front de mon composant ? Un fichier à créer en plus (en sachant que je souhaite seulement traiter les données de l'url mais ne rien afficher par la suite)?

      Commentaire


      • #4
        Re : Définir une fonction accessible par tous

        un composant avec juste une page index qui ira chercher les fichiers utiles dans le composant admin comme tu as fait pour le composant admin

        il faut qu'il soit dans le dossier components de la racine avec le même nom

        et si tu ne veux rien en retour, une fois le traitement fait tu ne fais pas de rendu
        Christophe
        http://www.webcrea.fr

        Commentaire


        • #5
          Re : Définir une fonction accessible par tous

          Je dois créer un second composant seulement pour une fonction ?

          Commentaire


          • #6
            Re : Définir une fonction accessible par tous

            bein oui puisque tu n'auras pas accès à l'admin sans être loggué et ce n'est qu'un fichier...
            Christophe
            http://www.webcrea.fr

            Commentaire


            • #7
              Re : Définir une fonction accessible par tous

              D'accord désole c'est mon premier composant seulement... Ou placer exactement ce fichier et comment l'appeler ? Si je crée un nouveau dossier cela voudra dire installé deux composants pour chaque personne qui l'utilise ça n'est pas très pratique...

              Commentaire


              • #8
                Re : Définir une fonction accessible par tous

                Christophe
                http://www.webcrea.fr

                Commentaire


                • #9
                  Re : Définir une fonction accessible par tous

                  Merci pour le lien ! J'ai donc créer un dossier site à la raçine de mon composant au même niveau que le dossier admin, je l'ai référencer dans le fichier gestionvideos.xml, et maintenant je créer un fichier controlleur dans ce dossier afin de rediriger les requêtes du type :

                  http://localhost:8888/joomla/?option...ack&key=125345

                  vers une fonction de traitement ? Je ne comprends pas vraiment comment le composant va savoir me rediriger vers la partie site plutot que la partie admin

                  Commentaire


                  • #10
                    Re : Définir une fonction accessible par tous

                    parce que tu tapes la racine, plus administrator
                    Christophe
                    http://www.webcrea.fr

                    Commentaire


                    • #11
                      Re : Définir une fonction accessible par tous

                      C'est ce qu'il me semblait . J'ai donc ajouté un fichier gestionvideos.php à mon dossier site dans lequel j'ai placé ce code :

                      Code:
                      defined( '_JEXEC' ) or die( 'Restricted access' );
                      
                      $task	= JRequest::getCmd('task'); 
                      
                      if( isset($_POST['task']) && $_POST['task'] == "callback" ){
                      	echo "test";
                      }
                      Je ne sais pas si c'est la bonne méthode et si il faut rajouter quelque chose au niveau du contrôleur pour que cela fonctionne ?

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X