Chemin d'accès à joomla (variables session)

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Chemin d'accès à joomla (variables session)

    Bonjour, j'ai fais de longue recherches mais n'ai rien trouvé. Mon problème:
    // définir le chemin permettant d'accéder à Joomla
    define('JPATH_BASE', 'C:\wamp\www\test');

    // Set flag that this is a parent file
    define( '_JEXEC', 1 );

    define( 'DS', DIRECTORY_SEPARATOR );

    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

    JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;

    $mainframe =& JFactory::getApplication('site');

    $user =& JFactory::getUser();

    Ce morceaux de code permettant de récupérer toutes les infos d'une session de joomla fonctionne bien sur mon site local mais lorsque je voudrais le mettre en distant (site joomla déjà existant), il faudra modifier le chemin du premier define.
    Ma question: y a-t-il un moyen de connaître le chemin du site joomla.
    J'ai essayé define('JPATH_BASE', '$_SERVER['DOCUMENT_ROOT']'); mais ça ne marche pas puisque j'ai les messages d'erreur:

    Warning: require_once($_SERVER["DOCUMENT_ROOT"]/\includes\defines.php): failed to open stream: Invalid argument in C:\wamp\www\test\session\session.php on line 47
    et
    Fatal error: require_once(): Failed opening required '$_SERVER["DOCUMENT_ROOT"]/\includes\defines.php' (include_path='.;C:\php\pear') in C:\wamp\www\test\session\session.php on line 47

    J'ai aussi essayé avec JURI:root() mais cela me mettais class not found.



    Contexte: je suis en train de coder plusieurs pages php pour que les utilisateurs puissent remplir des formulaires. Il faut que je récupère les variables de session de joomla car si c'est ma collègue qui se connecte, elle doit accéder à une page différente. Et le seul moyen que j'ai trouvé ( et qui fonctionne) de trouver les variables de sessions utilisées par joomla est le code ci-dessus.
    Je ferais le liens entre joomla et mon dossier de code (que je rajouterai par ftp au site distant) en créant un lien de menu de type iFrame dirigeant vers mon premier fichier php. S'agit-il d'une bonne méthode ? Sachant que je ne me sent pas du tout la capacité (et le temps vu qu'il me reste 6 semaines de stage) de faire tout ça en php Orienté Objet pour en faire un composant (et en plus selon le modèle ModèleVueCOntrolleur).

    Merci de vos réponses

  • #2
    Re : Chemin d'accès à joomla (variables session)

    Bonjour,
    Un simple fichier php que tu uploades sur ton serveur (à la racine) et contenant le code suivant te donne la réponse :
    Code:
    <?php
     $path = getcwd();
    echo "<p>Chemin de base absolu : <strong>$path</strong><br />" ;
    echo "<strong>Chemins théoriquement définis dans configuration.php pour temp et logs (à vérifier) :</strong><br />" ;
    echo 'var $log_path = ' . "'<strong>$path/logs</strong>'<br />" ;
    echo 'var $tmp_path = ' . "'<strong>$path/tmp</strong>'</p>" ;
    ?>
    Quand tu as l'info, pense bien à supprimer ton fichier du serveur !
    Cordialement,
    Dernière édition par chabi01 à 07/05/2013, 09h35
    Chabi01 - http://www.xlformation.com

    Commentaire


    • #3
      Re : Chemin d'accès à joomla (variables session)

      Génial ça marche merci beaucoup pour ta réponse sur mesure. Trop cool!!!! (J'ai essayé en local et en distant) Ca me donnera donc une url que je mettrai à la place de C:\wamp\www\test.

      Par contre je me perd un peu dans le rapport site en production/siteweb:

      Toutes les manip que l'on fait pour modifier le site se font à une adresse bizarre: xxxxx.xxxxxxx.ovh.net
      L'URL du site accessible par les navigateurs de recherche est www.xxxxx.fr
      Par conséquent si je met le chemin issu de ton code, est-ce que ça fonctionnera? (par rapport aux changements de noms de domaines)
      En théorie par rapport aux fichiers d'installation du site qui sont installés dans un repertoire fixe, ça devrait fonctionner selon moi...

      Commentaire


      • #4
        Re : Chemin d'accès à joomla (variables session)

        Si tu parles de l'url fournie au départ par OVH sur les hébergements mutualisés, c'est le pointage de base d'ovh. Cela ne change rien aux chemins absolus, c'est juste un pointage qui te permet de travailler sur ton site avant que tu n'actives les pointages du domaine.
        Donc, il n'y a pas de relation entre le chemin absolu et le pointage du nom de domaine : le chemin absolu ne changera jamais alors que tu peux changer les pointages à volonté pour un domaine ou un sous domaine.
        Cordialement,
        Chabi01 - http://www.xlformation.com

        Commentaire


        • #5
          Re : Chemin d'accès à joomla (variables session)

          Merci beaucoup beaucoup pour tes réponses dans le mille et rapides.
          Bonne journée, cordialement,

          Commentaire


          • #6
            Re : Chemin d'accès à joomla (variables session)

            Bonne suite
            Cordialement,
            Chabi01 - http://www.xlformation.com

            Commentaire


            • #7
              Re : Chemin d'accès à joomla (variables session)

              J'ai crié victoire trop vite,j'ai une dernière question j’espère que tu es encore là shabi01:
              En ce qui concerne l'IFrame: pour l'instant, comme je travaille en local, le lien est juste http://localhost/test/serieux/redirection.php.
              Qu'en sera-t-il en distant? Par quoi faut-il remplacer localhost ?

              (Et à propos des pointages, l'adresse dite bizarre est exclusivement réservé au travail que l'on effectue sur le site et les modifications sont immediatement repercutees sur le www.www.fr sur lequel on peut egalement apporter des modifications en ajoutant /administrator à l'url. Etrange ...)
              Dernière édition par Grrrrrrrr à 07/05/2013, 15h46

              Commentaire


              • #8
                Re : Chemin d'accès à joomla (variables session)

                Non, tu confonds plusieurs choses.

                Localhost est le "nom de domaine" associé à ton serveur local de manière à te simplifier la vie lorsque tu travailles avec un Wampp/Lampp ou équivalent (tu es donc sur ta propre machine qui émule un serveur Apache).

                Quand tu prends un hébergement chez Ovh, tu réserves en même temps le nom de domaine.

                Lorsque tu prends un hébergement en ligne chez Ovh, Ovh te créé ton espace réservé. Au moment de ta location, tu choisis un nom de domaine.
                Hors, ce nom de domaine met un certain temps pour être activé (validation Afnic/Internic puis pointage des dns, ce qui prend entre 24 et 48 heures environ).

                Pour que tu puisses immédiatement travailler en ligne, Ovh met donc en place un serveur virtuel qui te permet d'accéder immédiatement à ton espace www qui sera accessible en ligne, puis ensuite via ton nom de domaine qui lui aussi pointera vers le même espace.

                Exemple : tu prends un hébergement avec comme nom de domaine monsite.fr
                Ovh met ton espace en place et te permet de travailler sur une adresse de type http://cluster006.ovh.net/~monsite/
                Tu peux alors commencer à travailler.

                Dès que ton nom de domaine est validé et que les pointages dns sont effectifs et propagés (tout autour de la planète), ton nom de domaine pointe alors sur le même espace que celui que t'avais au départ activé Ovh en virtuel.

                Il n'y a donc aucune différence entre ton serveur virtuel de départ et le nom de domaine, c'est juste un pointage qui permet d'accéder à ton dossier www.

                Pour continuer l'exemple, imaginons que tu veuilles un autre site monsecondsite.fr

                Tu ne vas pas prendre un nouvel hébergement : tu vas créer un nouveau dossier au même niveau que www (et pas dans www) et ensuite faire pointer ton nouveau domaine via la fonction "multi site" de Ovh en lui indiquant dans quel dossier aller quand les gens vont taper ton url monsecondsite.fr

                C'est donc uniquement une histoire de pointage vers ton espace disque et vers le dossier correspondant sur ton serveur.

                Si je termine avec ta question initiale, imaginons que ton chemin absolu vers ton chemin absolu était :
                /homez.45/monsite/www
                avec ton second domaine que tu aurais par exemple installé dans un dossier "toto", le chemin absolu serait alors :
                /homez.48/monsite/toto
                (parce que ton premier domaine détermine le nom de ton espace de stockage au départ chez Ovh).

                J'espère que c'est assez clair : si ce n'est pas le cas, dis moi ce que tu n'as pas compris.
                Cordialement,
                Chabi01 - http://www.xlformation.com

                Commentaire


                • #9
                  Re : Chemin d'accès à joomla (variables session)

                  Si si c'est très clair merci. (Pardon pour le temps de réponse, avec les jours fériés... )
                  Ça réponds parfaitement aux questions que je me posaient sur les liens entre le site, l’hébergement, le nom de domaine et le répertoire du site.

                  Donc, en ce qui concerne l'IFrame (contenu externe) de Joomla (qui devra indiquer l'url d'un fichier php dans un dossier de mon site), dans la partie "Adresse URL", je met www.monsite.fr/dossier/monfichier.php (ou dans http://cluster006.ovh.net/dossier/monfichier.php si j'ai bien compris)?
                  Cordialement,
                  Dernière édition par Grrrrrrrr à 10/05/2013, 08h33

                  Commentaire


                  • #10
                    Re : Chemin d'accès à joomla (variables session)

                    Oui : tu auras alors l'affichage du fichier.
                    Tu pourrais également faire un lien "encapsuleur" dans un menu : cela générera l'iframe avec ton url qui affichera alors ton fichier dans ton site (sans sortir de tes pages donc, ce qui te permet de garder la navigation et le design de tes pages).

                    Cordialement,
                    Chabi01 - http://www.xlformation.com

                    Commentaire


                    • #11
                      Re : Chemin d'accès à joomla (variables session)

                      Je crois que c'est ce que j'ai fait:
                      J'ai crée un lien de menu de type IFrame, ce qui fait que:
                      L'utilisateur (enregistré dans mon cas) clique sur le le (sous-)menu et affiche la même fenêtre Joomla mais avec le code du fichier à l'intérieur.
                      C'est bien ça non?
                      En revanche, si l'utilisateur saisi directement l'url www....../monfichier.php, évidemment il se retrouve sur une fenetre entierement dédiée au code.

                      Au début j'avais une méthode beaucoup plus embêtante:
                      1) Créer une nouvelle position dans le template
                      2)Créer un module de type intégré pointant vers l'url de mon fichier. L'associer à la position créée
                      3) Créer un article et mettre dans la zone de texte {loadposition nomDeLaPosition}
                      4) Créer un lien de menu vers cet article
                      C'était assez chiant en fait.

                      Commentaire


                      • #12
                        Re : Chemin d'accès à joomla (variables session)

                        Oui, c'est bon.
                        Et oui, tu ne peux pas empêcher une personne vérifiant ton code d'appeler directement ton code php externe.
                        Cordialement,
                        Chabi01 - http://www.xlformation.com

                        Commentaire


                        • #13
                          Re : Chemin d'accès à joomla (variables session)

                          Sauf en mettant cela à chaque page: (ce code permet de n'acceder au fichier que si l'utilisateur est enregistré (session en cours) et qu'il n'y a pas d’interdiction à son encontre dans la condition)
                          <?php

                          // définir le chemin permettant d'accéder à Joomla
                          define('JPATH_BASE', 'C:\wamp\www\test');

                          // Set flag that this is a parent file
                          define( '_JEXEC', 1 );

                          define( 'DS', DIRECTORY_SEPARATOR );

                          require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
                          require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

                          JDEBUG ? $_PROFILER->mark( 'afterLoad' ) : null;

                          $mainframe =& JFactory::getApplication('site');

                          $user =& JFactory::getUser();
                          if (!isset($user->username) || !isset($user->name) || !isset($user->password) || $user->username!='Lambda')
                          {
                          echo 'Dégage parasite';
                          exit;
                          }
                          ?>
                          Dernière édition par Grrrrrrrr à 10/05/2013, 12h33

                          Commentaire


                          • #14
                            Re : Chemin d'accès à joomla (variables session)

                            J'ai une autre question mais sur un autre sujet:
                            je vais faire un formulaire et je me demandais si sa représentation dans la base de données se limitait à une table?
                            1 formulaire = 1 table avec un champs du formulaire pour une colonne ?
                            Merci,

                            Commentaire


                            • #15
                              Re : Chemin d'accès à joomla (variables session)

                              Crée un nouveau sujet pour ta nouvelle question...
                              Cordialement,
                              Chabi01 - http://www.xlformation.com

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X