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. H.
<?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);
?>