Extraire des données de configuration pour un script externe

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

  • [RÉGLÉ] Extraire des données de configuration pour un script externe

    Bonjour,

    Le site d'un client utilise un script basé sur des tables non-Joomla! de la même base de données.
    Le site a été copié pour migration en J5 sur mon propre serveur, celui du client ne disposant pas de PHP 8.1, et du coup les données visées (un annuaire) sont cherchées sur le serveur d'origine. Le site sera ensuite transféré sur un nouveau serveur, avec une nouvelle base de données.

    Quatre fichiers débutent par la définition du serveur, de la base, du login et du mot de passe.
    Mon but est de récupérer dans configuration.php les valeurs de ces paramètres.

    Je sais récupérer les lignes correspondantes, mais il me faut transformer la partie "public $host = 'localhost';" en "$server ='localhost';" afin de fournir ensuite la bonne valeur de "$server" à la requête de connexion à la base.

    En bref, je récupère "'localhost';" mais quand j'essaie un str_replace sur les guillemets ou le point-virgule, je ne récupère que du vide au lieu de "localhost" seul.
    Pour obtenir la valeur seule, je suis obligé de supprimer 8 caractères (dont "'") au début et à la fin de cette chaîne.
    Code:
    $egalpos = strpos($line,'=');
    if (strpos($line,'$host ='))  {
            $server = substr(htmlspecialchars($line),$egalpos + 8);
            $host =substr($server, 0,strlen($server) - 8);
    }  
    ​
    N'y a-t-il pas une méthode plus élégante ?

    Merci de vos conseils !
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

  • #2
    Bonjour Robert,

    Dans le fichier configuration.php, il s'agit de variables que l'on initialise.

    Donc, si tu accèdes à l'objet JConfig, tu dois pouvoir juste faire JConfig->server pour récupérer ta valeur.

    Je n'ai pas essayé.

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Je viens de tester et tu dois pouvoir faire :

      Code:
      $config = new \JConfig();
      if (property_exists($config, 'toto')) {
          $montoto = $config->toto;
      }​
      Pascal
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Bonjour et merci Pascal,

        Je ne me souvenais plus que dans MoovJla qui est aussi un script indépendant, on utilise JConfig.

        J'ai essayé ton code et en effet, je récupère très simplement les valeurs voulues. Il me restera à tester sur le site en cours de finalisation en J5.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X