Script galerie allopass

WRInaute passionné
Bonjour,

Quelqu'un utilise t-il le script galerei d'Allopass ?

Impossible à faire touner chez moi.
De plus, je remarque des chose étrange, genre la fin de cette ligne :
Code:
Code:
($relpath,$extension,$prefix,$prefix_reel,$ncol=4,$auth="") {

Qui doit être géré en fonction de celle-ci :
Code:
Code:
AP_gallery_select("testimg",".jpg","","grande",5,"XXX/YYY/ZZZ");


Code:
Code:
$ncol=4,$auth=""


C'est quoi ça ?

Le code entier...
Code:
Code:
<?
/* Modifiez les paramètres d'appel de la fonction selon vos besoins

NE PAS AJOUTER DE LIGNES VIDES AU DEBUT DE CE FICHIER !

Dans cet exemple : 

"img" correspond au nom du repertoire où sont placées vos images (nom relatif par rapport à l'emplacement de la page B). 
".jpg" correspond à l'extension des fichiers images présents dans ce répertoire. 
"" correspond au préfixe des vignettes. Vous pouvez laisser ce champ vide. 
"grande" correspond au préfixe des images en taille réelle : exemple : grandeimg1.jpg sera l'image originale de la vignette img1.jpg 
"5" correspond au nombre de vignettes par ligne à afficher. 
"XXX/YYY/ZZZ" correspond à l'identification du document que vous avez précédemment relevé. 
*/

AP_gallery_select("testimg",".jpg","","grande",5,"XXX/YYY/ZZZ");

// Ne rien modifier à partir d'ici !!

function AP_gallery_select($relpath,$extension,$prefix,$prefix_reel,$ncol=4,$auth="")
	{
		
echo "relpath = ".$relpath."<br>";
echo "extension = ".$extension."<br>";
echo "prefix = ".$prefix."<br>";
echo "prefix_reel = ".$prefix_reel."<br>";
echo "ncol = ".$ncol."<br>";
echo "auth = ".$auth."<br>";
		
		global $_GET,$PHP_SELF;
		if ($extension=="")
			return -1;
		if ($auth=="")
			return -3;
		$siteid = (int)strtok($auth,"/");
		$docid = (int)strtok("/");

echo "siteid = ".$siteid."<br>";
echo "docid = ".$docid."<br>";

		if ($siteid<1 || $docid<1)
			return -4;
		$code=trim($_GET["RECALL"]);

echo "code = ".$code."<br>";

		while ( list( $key, $val ) = each( $_GET ) )
			{
				if ($key!="ACTION" && $key!="IMG")
					{
						$val=urlencode($val);
						$v.="&".$key."=".$val;
					}

echo "key = ".$key."<br>";
echo "val = ".$val."<br>";
echo "v = ".$v."<br>";

			}
		switch($_GET["ACTION"])
			{
				case "":
				$handle=opendir($relpath); 
echo "handle = ".$handle."<br>";

				if (!$handle)
					return -2;
				$nf=0;
				$ok[0]="";
				while ($file = readdir($handle))
					{

echo "file = ".$file."<br>";

						if (eregi("(\\".$extension.")",$file)==true && ($prefix=="" || eregi("^(".$prefix.")",$file)) )
							{
								if (file_exists($relpath."/".eregi_replace("^(".$prefix.")",$prefix_reel,$file)))
									{
										$ok[$nf]=$file;
										$nf++;
									}
							}
					}
				closedir($handle); 
				echo("<table border = 0 cellpadding = 5 cellspacing =0>\n");
				for ($i=0;$i<$nf;$i++)
					{
						if (($i%$ncol)==0)
							{
								if ($i>0)
									echo("</tr>\n");
									echo("<tr>");
							}
						$param = urlencode($ok[$i]);
						echo ("<td><a href='$PHP_SELF?ACTION=VIEW&IMG=$param$v'><img src='$relpath/".$ok[$i]."' border = 0></a></td>\n");
					}
				echo("</tr></table>\n");

echo "get action= ".$_GET['ACTION']."<br>";
echo "get img = ".$_GET['IMG']."<br>";

				return 0;
				case "VIEW":
				@file("http://www.allopass.com/check/index.php4?CODE=$code&SITE_ID=$siteid&DOC_ID=$docid");
				$r=@file("http://www.allopass.com/check/vf.php4?CODE=$code&AUTH=$auth");

echo "r[0] = ".$r[0]."<br>";
echo "r[1] = ".$r[1]."<br>";

				if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
					{
						exit;
					}
				echo("<img src='$PHP_SELF?ACTION=IMGGEN&IMG=".$_GET["IMG"]."$v'>");

echo "get action= ".$_GET['ACTION']."<br>";
echo "get img = ".$_GET['IMG']."<br>";
echo "v = ".$v."<br>";

				break;
				case "IMGGEN":
				@file("http://www.allopass.com/check/index.php4?CODE=$code&SITE_ID=$siteid&DOC_ID=$docid");
				$r=@file("http://www.allopass.com/check/vf.php4?CODE=$code&AUTH=$auth");
				if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
					{
						exit;
					}
				$img = eregi_replace("^(".$prefix.")",$prefix_reel,$_GET["IMG"]);

echo "img = ".$img."<br>";
echo "relpath = ".$relpath."<br>";

				if (eregi($extension,".jpg") || eregi($extension,".jpeg"))
					$type="jpeg";
				else if (eregi($extension,".png"))
					$type="png";
				else
					$type="gif";
					
echo "get action= ".$_GET['ACTION']."<br>";
echo "get img = ".$_GET['IMG']."<br>";

				header( "Content-type: image/$type" );
				readfile($relpath."/".$img);
				return 0;
			}
	}
?>
 
WRInaute occasionnel
"img" correspond au nom du repertoire où sont placées vos images (nom relatif par rapport à l'emplacement de la page B).

Dans ton exemple c'est "testimg"

Pour ce qu'il y a en fin de ligne c'est normal, ca dit simplement que si tu omet ces deux arguments il prendront une valeur par défaut :
$ncol=4,$auth=""

Non je n'ai pas utilisé le script gallerie d'allopass mais je pense déjà qu'il faut que tu changes cette ligne :
AP_gallery_select("testimg",".jpg","","ppp",1,"XXX/YYY/ZZZ");

pour l'adapter à ton site, chaque argument est expliqué plus haut.

On ne peut t'aider que si tu décris vraiment le problème que tu rencontres.

A+
 
WRInaute passionné
Héhé, j'avais compris l'utilité de cette ligne.
Je met ce qu'il faut est rien ne s'affiche, le source est désesprérément vide.

J'ai même essayé de forcer directement les variable en mettant
$xxx = "gnagna" à la place de la ligne perso...

Rien, nad, queud...
 
WRInaute passionné
Bah, j'ai fait des tests.

Il n'affiche pas correctement cette ligne
Code:
echo("<img src='$PHP_SELF?ACTION=IMGGEN&IMG=".$_GET["IMG"]."$v'>");

Je n'arrive pas à savoir pourquoi.
 
WRInaute occasionnel
Mais comment ça il n'affiche pas CORRECTEMENT cette ligne ?

Donne un exemple de ce qu'il affiche, non ? Ca va nous aider à t'aider.. On dirait que tu n'as jamais demandé de l'aide sur un forum pourtant tu en es à 1222 au compteur de posts :)
 
WRInaute passionné
Héhé simple voici...

http://grantome.free.fr/test.php
Cette page demande le code Allopass
passe de test : azertyu

http://grantome.free.fr/accueil.php
Cette page affiche la photo en vignette.
Le texte, c'es un echo des différentes variables.

Ensuite, il n'y a plus qu'à cliquer sur l'image pour l'avoir en grand, mais avec l'@ cachée.
Suaf que là, ça ne fonctionne pas. Croix rouge à la place de l'image.

Vignette
http://grantome.free.fr/testimg/img1.jpg

Grand format
http://grantome.free.fr/testimg/grandeimg1.jpg

Voilà, là, il y a tout
 
WRInaute occasionnel
ok en regardant le source de l'image grand format :
/accueil.php?ACTION=IMGGEN&IMG=img1.jpg&RECALL=AZERTYU

pour la vignette c'est cette adresse :
/accueil.php?ACTION=VIEW&IMG=img1.jpg&RECALL=AZERTYU

Alors prmeière chose quej'irais vérifier c'est as-tu bien spécifié le préfix que tu as choisi : "grande"

Il faut le spécifier dans l'appel de la fonction, c'est le 4ème argument qui est par défaut à "ppp" mais qui est dans le commentaire nommé "grande" c'est idiot mais c'est comme ça, ici :

"img" correspond au nom du repertoire où sont placées vos images (nom relatif par rapport à l'emplacement de la page B).
".jpg" correspond à l'extension des fichiers images présents dans ce répertoire.
"" correspond au préfixe des vignettes. Vous pouvez laisser ce champ vide.
"grande" correspond au préfixe des images en taille réelle : exemple : grandeimg1.jpg sera l'image originale de la vignette img1.jpg
"5" correspond au nombre de vignettes par ligne à afficher.
"XXX/YYY/ZZZ" correspond à l'identification du document que vous avez précédemment relevé.
*/

AP_gallery_select("testimg",".jpg","","ppp",1,"XXX/YYY/ZZZ");

change le "ppp" en "grande" ou alors change les noms de tes grandes images en mettant le prefix ppp au lieu de grande, mais si tu as déjà fait tes images c'est plus simple de changer la ligne.

Si tu l'as déjà fait alors il faudra réfléchir plus pour trouver la solution.

ps: remarque que dans le commentaire ils parlent de "5" qui correspond au nombre de vignettes par ligne à afficher alors que dans l'exemple que tu donnes (je ne sais pas si tu l'as modifié avant de le mettre ici) l'argument est 1 sans les guillemets car il y en a pas besoin puisque c'est un chiffre. De même le premier argument est "img" dnas le commentaire et "testimg" dans la ligne.. Ces commentaires sont vraiments utiles pour embrouiller les gens.
 
WRInaute passionné
haderach a dit:
Je n'ai pas trouver cette fonctionnalité sur Allopass.

Vous avez un lien?

Merci
Il faut être inscrit et aller dans la section où il y a la FAQ.


Comme je le disais, le pb vient de l'affichage de l'image en grand.
Dans le srcipt, l'image est affihcer aprés un
Code:
header( "Content-type: image/$type" );
, mais cette méthode fait lire du html en premier, ce qui plante l'affichage.
J'ai testé dans tous les sens, j'ai contacté AlloPass.
Il me réponde qu'en effet il y a un bug à ce niveau...

Et ?

Bah rien, ils ne compte pas le résoudre... :evil:

Donc, je fais des essais pour trouver la solution.
 
WRInaute passionné
Non, le but du script est de crypter l'url.
Pour les vignettes, il affiche l'url correct, donc pas de soucis.
Pour la grande image, il crypte l'url et c'est la partie décryptage au moment de l'affichage qui plante lorsque la page charge en premier lieu du code html.

Il faut faire apparaitre l'image direct, mais le hic, c'est que pour limité l'utilisation de cette image à celui qui à entré un code allopass, tu es obligé de mettre en haut de page du code html avec le script de vérification.
 
WRInaute passionné
Celle-ci, :wink:

Code:
<?
$cellule = 0;
/* Modifiez les paramètres d'appel de la fonction selon vos besoins

NE PAS AJOUTER DE LIGNES VIDES AU DEBUT DE CE FICHIER !

Dans cet exemple : 

"img" correspond au nom du repertoire où sont placées vos images (nom relatif par rapport à l'emplacement de la page B). 
".jpg" correspond à l'extension des fichiers images présents dans ce répertoire. 
"" correspond au préfixe des vignettes. Vous pouvez laisser ce champ vide. 
"grande" correspond au préfixe des images en taille réelle : exemple : grandeimg1.jpg sera l'image originale de la vignette img1.jpg 
"5" correspond au nombre de vignettes par ligne à afficher. 
"XXX/YYY/ZZZ" correspond à l'identification du document que vous avez précédemment relevé. 
*/

AP_gallery_select("xxx",".xxx","xxx","xxx",xxx,"xxx","xxx",$photo);

// Ne rien modifier à partir d'ici !!
function AP_gallery_select($relpath,$extension,$prefix,$prefix_reel,$ncol=4,$auth="",$imgpath,$photo)
	{
		global $_GET,$PHP_SELF;
		if ($extension=="")
			return -1;
		if ($auth=="")
			return -3;
		$siteid = (int)strtok($auth,"/");
		$docid = (int)strtok("/");
		if ($siteid<1 || $docid<1)
			return -4;
		$code=trim($_GET["RECALL"]);
		while ( list( $key, $val ) = each( $_GET ) )
			{
				if ($key!="ACTION" && $key!="IMG")
					{
						$val=urlencode($val);
						$v.="&".$key."=".$val;
					}
			}
		switch($_GET["ACTION"])
			{
				case "":
				$handle=opendir($relpath); 
				if (!$handle)
					return -2;
				$nf=0;
				$ok[0]="";
				while ($file = readdir($handle))
					{

						//if (eregi("(\\".$extension.")",$file)==true && ($prefix=="" || eregi("^(".$prefix.")",$file)) )
							//{
								//if (file_exists($relpath."/".eregi_replace("^(".$prefix.")",$prefix_reel,$file)))
									//{
										$ok[$nf]=$file;
										$nf++;
									//}
							//}
					}
				closedir($handle);
				echo ("<b>".$photo."</b><br /><br />");
				echo("<table border = 0 cellpadding = 5 cellspacing =0><tr>");
				for ($i=0;$i<$nf;$i++)
					{
						//if (($i%$ncol)==0)
						//	{
						//		if ($i>0)
						//			echo("</tr>\n");
						//			echo("<tr>");
						//	}
						
						$param = urlencode($ok[$i]);
						$tab = explode("-",$param);
						$present = strpos($param,$photo);

						if ($param == '.')
							{
							}
						elseif ($param == '..')
							{
							}
						elseif ($present > 0 )
							{
								if ($cellule == 3)
									{
										echo("</tr><tr>");
										$cellule = 0;
									}
						echo ("<td><a href='AP_gallery_select.php?ACTION=VIEW&IMG=$param$v' target='_blank'><img src='$relpath/".$ok[$i]."' border = 0></a></td>");
						$cellule = $cellule + 1;
							}
					}
				echo("</tr></table><br /><br />- Cliquez sur la vignette -<br />- Attendez le chargement de l'image -<br />- Faites un clic droit et enregistrer l'image -<br /><br /><br /><font color='#ff0000'>Attention, certaines vignettes ne s'affiche pas, c'est un bug, vous pouvez tout de même cliquez dessus</font>");

				return 0;
				case "VIEW":
				@file("http://www.allopass.com/check/index.php4?CODE=$code&SITE_ID=$siteid&DOC_ID=$docid");
				$r=@file("http://www.allopass.com/check/vf.php4?CODE=$code&AUTH=$auth");

				if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
					{
						exit;
					}
				echo("<img src='$PHP_SELF?ACTION=IMGGEN&IMG=".$_GET["IMG"]."$v'>");

				break;
				case "IMGGEN":
				@file("http://www.allopass.com/check/index.php4?CODE=$code&SITE_ID=$siteid&DOC_ID=$docid");
				$r=@file("http://www.allopass.com/check/vf.php4?CODE=$code&AUTH=$auth");
				if (ereg("ERR",$r[0]) || ereg("NOK",$r[0]))
					{
						exit;
					}
				$img = eregi_replace("^(".$prefix.")",$prefix_reel,$_GET["IMG"]);

				if (eregi($extension,".jpg") || eregi($extension,".jpeg"))
					$type="jpeg";
				else if (eregi($extension,".png"))
					$type="png";
				else
					$type="gif";
					
				header( "Content-type: image/$type" );
				readfile($imgpath."/".$img);
				return 0;
			}
	}
?>
 
Discussions similaires
Haut