Ciao a tutti...
mi arrivano privatamente molte richieste di aiuto per creare blocchi che visualizzino immagini presenti nelle gallerie myalbum. Molte volte mi è stato chiesto di poter visualizzare una foto random, oppure l'ultima foto inserita dagli utente, ecc... Bene, con questa mia funzione è possibile inserire infiniti blocchi secondo le più diverse necessità.
INIZIAMO:
aprite il file root/include/functions.php ed alla fine, prima del tag di chiusura php inserite questa funzione:
chiudete e salvate.
A questo punto è tutto molto semplice!
Create un blocco PHP e richiamate la funzione in questo modo:
dove i paramentri sono nell'ordine:
- numero Myalbum (lasciare vuoto se è myalbum di base)
- cid = categoria relativa alla foto
- ordine: 1 = foto random; 0 = ultima foto inserita
Come è facile immaginare, questo hack può essere utilizzato il migliaia di modi differenti... Io per esempio lo uso per visualizzare le ultime foto inserite dagli utenti, ecc..
Spero vi sia utile
a presto!!!
sly :ok
ps: il risultato della chiamata della funzione
la potete vedere nel blocco Function Block by slyss su http://www.stefanosilvestrini.com/lab/
mi arrivano privatamente molte richieste di aiuto per creare blocchi che visualizzino immagini presenti nelle gallerie myalbum. Molte volte mi è stato chiesto di poter visualizzare una foto random, oppure l'ultima foto inserita dagli utente, ecc... Bene, con questa mia funzione è possibile inserire infiniti blocchi secondo le più diverse necessità.
INIZIAMO:
aprite il file root/include/functions.php ed alla fine, prima del tag di chiusura php inserite questa funzione:
/****** hack by www.stefanosilvestrini.com *****/
function getPicGallery($myalbumNum, $cid, $random) {
global $xoopsConfig;
$db =& Database::getInstance();
$myalbumNum = trim($myalbumNum);
if($random != 1) $sql = "SELECT s.lid AS lid, s.ext AS ext FROM ".$db->prefix('myalbum'.$myalbumNum.'_photos')." s, ".$db->prefix('myalbum'.$myalbumNum.'_cat')." t WHERE s.cid = t.cid AND s.cid = ".$cid." ORDER BY s.lid DESC LIMIT 1";
else $sql = "SELECT s.lid AS lid, s.ext AS ext FROM ".$db->prefix('myalbum'.$myalbumNum.'_photos')." s, ".$db->prefix('myalbum'.$myalbumNum.'_cat')." t WHERE s.cid = t.cid AND s.cid = ".$cid." ORDER BY RAND() LIMIT 1";
$result = $db->query($sql);
$myrow = $db->fetchArray($result);
$object = "<div style='text-align: center;'>"
."<a href='".XOOPS_URL."/modules/myalbum".$myalbumNum."/photo.php?lid=".$myrow['lid']."'>"
."<img src='".XOOPS_URL."/uploads/thumbs".$myalbumNum."/".$myrow['lid'].".".$myrow['ext']."' align='center' hspace='3' vspace='3' width='100px' />"
."</a>"
."</div>";
return $object;
}
chiudete e salvate.
A questo punto è tutto molto semplice!
Create un blocco PHP e richiamate la funzione in questo modo:
echo getPicGallery('', '1', '1');
dove i paramentri sono nell'ordine:
- numero Myalbum (lasciare vuoto se è myalbum di base)
- cid = categoria relativa alla foto
- ordine: 1 = foto random; 0 = ultima foto inserita
Come è facile immaginare, questo hack può essere utilizzato il migliaia di modi differenti... Io per esempio lo uso per visualizzare le ultime foto inserite dagli utenti, ecc..
Spero vi sia utile

a presto!!!
sly :ok
ps: il risultato della chiamata della funzione
echo getPicGallery('', '1', '1');
la potete vedere nel blocco Function Block by slyss su http://www.stefanosilvestrini.com/lab/



