Back to top

Autore Topic: modulo random image  (Letto 1347 volte)

Offline ippogrifo

  • Appassionato
  • ***
  • Post: 228
    • Mostra profilo
modulo random image
« il: 06 Ott 2010, 19:21:30 »

sto usando il modulo random image.... ho configurato il modulo , peraltro molto semplice.....

ma nel posto dove deve comparire la foto, mi compare solo il nome es: 222.jpg!!!!!

tutte le cartelle images, e del modulo sono a 777 perchè avevo dubbi... ma niente l'immagine non si vede sul template... e anche su latri template!!!

un grande grazie per chi ha suggerimenti in merito

ciao

Offline ptux

  • Esploratore
  • **
  • Post: 185
    • Mostra profilo
Re:modulo random image
« Risposta #1 il: 29 Ott 2010, 15:43:53 »
Io sto usando con soddisfazione una modifica del modulo originale. L'unico limite è che se ci sono thumbnails nella casualità della selezione potrebbe capitare che vengano visualizzate (se invece ci sono delle descrizioni al loro posto viene restituito un messaggio di errore...).

Di seguito posto il codice (parte del modulo originale è commentata in quanto sostituita) da salvare in helper.php e collocarlo in /modules/mod_random_image così magari qualcuno che sappia come fare aggiunge le regole per escludere le cartelle thumbnails e descriptions...


Codice: [Seleziona]
<?php
/**
* @version $Id: helper.php 10043 2008-02-16 21:50:49Z ian $
* @package Joomla
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
* @license GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined'_JEXEC' ) or die( 'Restricted access' );


class 
modRandomImageHelper
{
function getRandomImage(&$params$images)
{
$width  $params->get'width' );
$height  $params->get'height' );

$i  count($images);
$random  mt_rand(0$i 1);
$image  $images[$random];
$size  getimagesize (JPATH_BASE.DS.$image->folder .DS$image->name);


if ($width == '') {
$width 100;
}

if ($size[0] < $width) {
$width $size[0];
}

$coeff $size[0]/$size[1];
if ($height == '') {
$height = (int) ($width/$coeff);
} else {
$newheight min ($height, (int) ($width/$coeff));
if ($newheight $height) {
$height $newheight;
} else {
$width $height $coeff;
}
}

$image->width  $width;
$image->height $height;
$image->folder str_replace'\\''/'$image->folder );

return $image;
}

function getImages(&$params$folder)
{
$type  $params->get'type''jpg' );

//$files = array();
$images = array();

//$dir = JPATH_BASE.DS.$folder;

// check if directory exists
if (is_dir($folder))
{
/*if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
$files[] = $file;
}
}
}
closedir($handle);

$i = 0;
foreach ($files as $img)
{
if (!is_dir($dir .DS. $img))
{
if (eregi($type, $img)) {
$images[$i]->name  = $img;
$images[$i]->folder = $folder;
++$i;
}
}
}*/
$images=modRandomImageHelper::getAllFile($folder,$type);
}

return $images;
}

//nuova funzione per l'elenco dei file by Alphagamma
function getAllFile($folder,$type) {
$queue=array();
$files=array();
$queue[]=$folder;
while (count($queue)) {
if ($handle opendir($queue[0])) {
while (false !== ($file readdir($handle))) {
if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
if (is_dir($queue[0]."/".$file)) {
     $queue[]=$queue[0]."/".$file;
    
} else {
    
if (eregi($type$file)) {
    
$last=count($files);
    
$files[$last]->name $file;
$files[$last]->folder $queue[0];
}
    
}
}
}
}
closedir($handle);
array_shift($queue);
}
return $files;
}

function getFolder(&$params)
{
$folder  $params->get'folder' );

$LiveSite  JURI::base();

// if folder includes livesite info, remove
if ( JString::strpos($folder$LiveSite) === ) {
$folder str_replace$LiveSite''$folder );
}
// if folder includes absolute path, remove
if ( JString::strpos($folderJPATH_SITE) === ) {
$folderstr_replaceJPATH_BASE''$folder );
}
$folder str_replace('\\',DS,$folder);
$folder str_replace('/',DS,$folder);

return $folder;
}
}



Ci possono dire su che cosa riflettere, non che cosa pensare!

 



Web Design Bolzano Kreatif