Aller au contenu

Hack de HAck


jer666

Messages recommandés

salut, j'ai récupérer un hack assez intérressant pour mon site

ce hack permet entre autre de redimensionner "automatiquement" les images déposées sur le forum :)

	function &xoopsCodeImageSize(&$text, $allowimage = 1)
{
 $patterns     = array();
 $replacements = array();

 $patterns[] = "/\[img]([^\[\]\"\(\)\?\&'<>,]*),(\d+),(\d+)\[\/img\]/sU";
 $patterns[] = "/\[img]([^\[\]\"\(\)\?\&'<>,]*),(\d+)\[\/img\]/sU";
 $patterns[] = "/\[img]([^\[\]\"\(\)\?\&'<>,]*)\[\/img\]/sU";

 if ($allowimage != 1) 
 {
 	$replacement    = '<a href="\\1" target="_blank">\\1</a>';
 	$replacements[] = $replacement;
 	$replacements[] = $replacement;
 	$replacements[] = $replacement;
 } 
 else 
 {
 	$replacements[] = '<img src="\\1" width="\\2" height="\\3" alt="" />';
 	$replacements[] = '<img src="\\1" width="\\2" alt="" />';
 	$replacements[] = '<img src="\\1" alt="" />';
 }

 return preg_replace($patterns, $replacements, $text);
}

ca c'est ce qui est rajoutédans un fichier par le hack

$patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
 $patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
 $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
 $patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU";
 if ($allowimage != 1) {
 	$replacements[] = '<a href="\\3" target="_blank">\\3</a>';
 	$replacements[] = '<a href="\\1" target="_blank">\\1</a>';
 	$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\4" target="_blank">\\4</a>';
 	$replacements[] = '<a href="'.XOOPS_URL.'/image.php?id=\\2" target="_blank">\\3</a>';
 } else {
 	$replacements[] = '<img src="\\3" align="\\2" alt="" />';
 	$replacements[] = '<img src="\\1" alt="" />';
 	$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\4" align="\\2" alt="\\4" />';
 	$replacements[] = '<img src="'.XOOPS_URL.'/image.php?id=\\2" alt="\\3" />';
 }

voici le code utilisé pour enregistré les images sur xoops

Imaginons que je désire par exemple forcer la taille, ou demander avec une fenetre de choisir la taille (avec une fenetre comme celle qui s'affiche pour mettre l'image a droite ou a gauche) Pourriez vous m'expliquer comment procéder? j'apprend petit a petit le php, mais là ;)

j'ai remarqué que la balise alt est présente? est il possible de la remplir avec un script? par exemple $xoops_pagetitle ? pour avoir comme atl le titre de la page?? ou peut etre le nom de la photo par exemple ?

merci de toute réponse ou aide que vous pourriez m'apporter :)

Lien vers le commentaire
Partager sur d’autres sites

j'ai remarqué que la balise alt est présente? est il possible de la remplir avec un script? par exemple $xoops_pagetitle ? pour avoir comme atl le titre de la page?? ou peut etre le nom de la photo par exemple ?

Oui sans problème... Le mieux est de mettre une variable qui ai un contenu en rapport avec l'image (meiileurs pour le référencement). Le nom du fichier est donc une bonne solution.

Imaginons que je désire par exemple forcer la taille, ou demander avec une fenetre de choisir la taille (avec une fenetre comme celle qui s'affiche pour mettre l'image a droite ou a gauche) Pourriez vous m'expliquer comment procéder? j'apprend petit a petit le php, mais là hat.gif

Si tu veux que le visiteurs spécifie la taille de l'image à l'aide d'une fenêtre, ce sera du Javascript et non du PHP. (Fonction prompt() de javascript)

Lien vers le commentaire
Partager sur d’autres sites

Vous vous compliquez la vie les gars...

Dans la balise <IMG> en HTML il y a dse attributs "width" et "height" qui permettent de définir la taille d'affichage de l'image.

Exemple : <img src="toto.gif" width="40" height="30" alt="une image"/>

Il suffit de passer les valeurs de width et height en paramètres de la page PHP, et de les insérer dynamiquement dans le code :

<img src="toto.gif" width="<? echo($width) ?>" height="<? echo($height) ?>" alt="une image"/>

Les URL ressembleraient donc à ça : http://monsite.com/mapage.php?width=40&height=30

Et le tour est joué !.

PS : le paramètre "alt" est obligatoire en xhtml strict. Et le slash de fermeture de balise simple aussi.

Lien vers le commentaire
Partager sur d’autres sites

:) merci!

mais j'ai rien compris!!!!!!!! j'ai oubliéde vous dire je ne comprend pas grand chose en prog. Je connais un peu le html, je me lance depuis quelques jours en php... mais je ne comprend encore que le francais smil42b057261f96f.gif

pourriez vous vous exprimer en gars qui y comprend rien, svp? smil4319e3a90d7bd.gif

merci!!

Lien vers le commentaire
Partager sur d’autres sites

quand tu affiche une image par la méthode HTML (donc universelle je pense :francais: ), tu a un tag unique : (pas besoin de le fermer)

<img src="Le chemin de l'image.jpg" width=x height=y alt="Ceci est une image ">

Donc en fesant varier la valeur width et height (en remplaçant x et y par les tailles auquels tu veux réduire ton image, tu obtiendra l'effet désiré. (et en moins de lignes de codes...)

Voila :mdr2:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...