Génération d'une image dynamique

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

  • Génération d'une image dynamique

    Bonjour,
    J'ai installé sur un site joomla une extension permettant d'insérer une image dans un lecteur video. Je souhaiterai que cette image puisse être générée de façon dynamique en comportant quelques informations relatives au compte de l'utilisateur connecté. Ceci de façon à prévenir les captures d'écran des vidéos diffusée. Pour ceci, j'appelle un fichier "image.php" sensé générer l'image en question. Seulement, le code dont je dispose n'aboutit à rien et je suis bien incapable de comprendre l'origine de cette erreur. Quelqu'un aurait-il une piste ?
    D'avance merci et belle soirée!


    Code:
    <?php 
    //error_reporting(0);
    /* Filename: image.php
    */
    
    //Joomla function to retrieve user info
    define('_JEXEC', 1);
    
    if (file_exists(__DIR__ . '/defines.php'))
    {
      include_once __DIR__ . '/defines.php';
    }
    
    if (!defined('_JDEFINES'))
    {
      define('JPATH_BASE', __DIR__);
      require_once JPATH_BASE . '/includes/defines.php';
    }
    
    require_once JPATH_BASE . '/includes/framework.php';
    
    $app = JFactory::getApplication('site');
    $user = JFactory::getUser();
    if (!$user->guest) {
      if(!$user->name){$username=$user->username;} else{$username=$user->name;}
      $userIP="IP: ". $_SERVER['REMOTE_ADDR'];
      //echo 'Username: ' . $user->username . '<br />';
      //echo 'User ID  : ' . $user->id . '<br />';
    }else{
      $username="USER NOT LOGGED IN";
    }
    
    $username=strtoupper($username);
    $userIP="IP: ". $_SERVER['REMOTE_ADDR'];
    // if IP is forwarded
    if($_SERVER['HTTP_X_FORWARDED_FOR']){$userIPForwarder="FW: ".$_SERVER['HTTP_X_FORWARDED_FOR'];}
    $displaydate=date("d F Y");
    
    if (strlen($username)< 17){$imagewidth=180;}else{$imagewidth=strlen($username)* 10;}
    if($_SERVER['HTTP_X_FORWARDED_FOR']){ // if IP is forwarded
      $im = imagecreate($imagewidth, 70); //make room for date
    }else{
      $im = imagecreate($imagewidth, 50); 
    }
    $bg = imagecolorallocate($im, 200, 200, 200);
    $textcolor = imagecolorallocate($im, 0, 0, 0);
    
    // Write the string at the top left
    imagestring($im, 5, 5, 3, $username, $textcolor);
    imagestring($im, 5, 5, 16, $userIP, $textcolor);
    if($_SERVER['HTTP_X_FORWARDED_FOR']){ // if IP is forwarded
      imagestring($im, 5, 5, 32, $userIPForwarder, $textcolor);
      imagestring($im, 5, 5, 48, $displaydate, $textcolor);
    }else{
      imagestring($im, 5, 5, 32, $displaydate, $textcolor);
    }
    
    // Output the image
    header('Content-type: image/png',true,200);
    
    imagepng($im);
    imagedestroy($im);
    ?>

  • #2
    Re : Génération d'une image dynamique

    Bonsoir,
    D’où vient ce code ? Car il est vraiment pas standard.
    Le mieux est d'utiliser soit un module, soit un plugin avec com ajax(sur Joomla 3).
    Voici la doc officiel : https://docs.joomla.org/Using_Joomla_Ajax_Interface
    http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
    http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

    Commentaire


    • #3
      Re : Génération d'une image dynamique

      Salut,
      Serais-tu en mesure de m'indiquer précisément les points problématiques ?
      Pour bien comprendre ce que m'a conseillé le développeur c'est d'appeler un fichier php contenant le code susmentionné comme watermark du lecteur vidéo JWplayer. Ce code vise donc d'abord à récupérer des données de l'utilisateur joomla, puis de créér une image dynamiquement comprenant ces informations.
      Merci. Ilan

      Commentaire


      • #4
        Re : Génération d'une image dynamique

        Dans Joomla, on n’appelle jamais un code PHP directement, mais on passe par une URL standard qui va appeler le code.
        Ce qui permet de filtrer tous les hacks ou backdoor ou injection, de vérifier une session, des droits ... Enfin j'en passe.
        Si vous avez besoins de générer directement une image (ou géré un updload, un download) il y a com_ajax livré dans Joomla 3 par exemple qui permet d’appeler des plugins ou modules facilement.
        Doc : https://docs.joomla.org/Using_Joomla_Ajax_Interface/fr
        http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
        http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X