1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?php
function postmini($xprefix, $largmini, $hautmini)
{
//$largligne=1000; // nb pixels in line
global $largline, $screenl, $screenh;
$reduction=150; // si changement de nom de fichier modifier aussi le $prefixmax=str_replace('x_', '', $xprefix); plus loin
$gap=10; // gap between 2 minis
$nextline=$reduction+$gap; // hauteur max line + interline
$marge=$gap/2;
$x=$marge; $y=$nextline;
$n=count($largmini);
$stringl='';
$stringh='';
for($i=0; $i<$n; $i++)
{
$large=$largmini[$i];
$haut=$hautmini[$i];
if($large>$haut) {$xlarge=$reduction; $xhaut=$haut*$reduction/$large;} else {$xhaut=$reduction; $xlarge=$large*$reduction/$haut;}
$namemini=$xprefix . ($i+1) . '.jpg'; // $xprefix est le chemin des mini photos (Paris/x_Paris), $namemini est le nom complet (Paris/x_Paris10)
$prefixmax=str_replace('x_', '', $xprefix); // on prépare le chemin pour les grandes photos (Paris/Paris)
if($i==0) {$stringl=$stringl.$large; $stringh=$stringh.$haut;} else {$stringl=$stringl.','.$large; $stringh=$stringh.','.$haut;} // on recopie le tableau php au format js
if(($x+$xlarge)>($largline-$marge)) // est ce que le blocmineur va encore tenir dans le blocmajeur compte tenu de de la position de x et de sa largeur
{ // non
?>
</div>
<?php
$x=$marge; // on réinitialise x
$y=$y+$nextline; // et on descend d'une ligne
}
if($x==$marge) // test si début de ligne (cas où on vient de changer de ligne + cas initial)
{ // on ouvre un nouveau blocmajeur ou le premier
?>
<div class="blocmajeur" style="height:<?php echo $nextline;?>px;">
<?php
}
?>
<!-- on range l'image à l'intérieur d'un blocmineur-->
<div class="blocmineur" style="width:<?php echo $xlarge;?>px; height:<?php echo $nextline;?>px;">
<div class="container" style="width:<?php echo $xlarge;?>px; height:<?php echo $xhaut;?>px; top:<?php echo $nextline-$xhaut;?>px;">
<a href="javascript:affiche(<?php echo $i;?>, 0)"><img src="<?php echo $namemini; ?>" class="miniphoto"/>
</div>
</div>
<?php
// coordonnées suivantes:
$x+=$xlarge+$gap; // on fait avancer l'abcisse de la largeur de l'image + un gap
}
?>
</div>
<?php
// définition des variables globales pour js et construction des tableaux de dimensions pour js
// Attention si le tableau n'a qu'une entrée $n=1 js ne construit pas le tableau => pour contourner le problème dans le cas où $n=1 on double l'entrée
echo '<script type="text/javascript"><!--
var islocked=false;
var indexcourant=0;
var nbre='.$n.';
var cheminmax="'.$prefixmax.'";
var cheminmin="'.$xprefix.'";
if(nbre>1) {var largeurs= new Array('.$stringl.'); var hauteurs= new Array('.$stringh.');}
else {var largeurs= new Array('.$stringl.','.$stringl.'); var hauteurs= new Array('.$stringh.','.$stringh.');}
--></script>'; // construction du tableau pour js
?>
<!--</div>-->
<?php
}
?> |
Partager