0) { for($i=0; $i < $num; $i++) { list($file, $descr) = split('::', $data[$i]); // con trim tolgo i carattteri vuoti all'inizio e alla fine delle stringhe $description[trim($file)] = trim($descr); } } } // ...altrimenti creo il file description, se non esiste else { if (isset($dir_img)) { $handle_file = fopen($dir_img."/".$description_file, 'w'); if(file_exists($dir_img)){ if ($handle_dir = opendir("$dir_img/")) { while($file=readdir($handle_dir)) { if(preg_match("/\.jpg/i",$file) && substr($file, 0, 2)!='T_'){ $imgMare=rawurldecode($file); $nome_immagine = $imgMare." :: \r\n"; // scrivo il nome nel file description fwrite($handle_file, $nome_immagine); } } } } fwrite($handle_file, "foto_by :: "); // inserisco la riga per l'autore delle foto } } } // fine gestione file delle didascalie $handle = opendir("$dir_img/"); // leggo il nome delle foto dalla cartella indicata da $dir_img while($file=readdir($handle)) // inserisco tutti i nomi delle foto in un array $file_array[] = $file; foreach ($file_array as $file){ // creazione thumblails per le foto che non ne hanno una if((substr($file, -4) == ".jpg") && substr($file, 0, 2)!='T_'){ // le miniature devono iniziare per $inFile = $mainURL."/".myrawurlencode($dir_img)."/".rawurlencode($file); // ottengo le dimensioni attuali list($width_orig, $height_orig) = getimagesize($inFile); // calcolo le nuove dimensioni if ($width_orig > $height_orig) { // se l'immagine e' orizzontale $new_width = $img_width; $new_height = (int) (($img_width / $width_orig) * $height_orig); } else { // se l'immagine e' verticale $new_height = (int) ($img_width-($img_width / 100) * 20); // -20% $new_width = (int) (($new_height / $height_orig) * $width_orig); } $all_height_fileT[] = $new_height; // memorizzo le altezze delle miniature per poi trovare quella massima $fileT="$dir_img/T_$file"; $ricrea_miniatura = false; if(file_exists($fileT)) { // verifico se la miniatura ha le dimensioni richieste list($width_fileT, $height_fileT) = getimagesize($fileT); if ($width_fileT != $new_width OR $height_fileT != $new_height) $ricrea_miniatura = true; } if(!file_exists($fileT) OR $ricrea_miniatura) { // creo o ricreo la miniatura $thumb = imagecreatetruecolor($new_width,$new_height); $source = imagecreatefromjpeg($inFile); imagecopyresampled($thumb, $source, 0, 0, 0, 0, $new_width, $new_height, $width_orig, $height_orig); imagejpeg($thumb, $fileT, 100); // imagejpeg ( resource image [, string filename [, int quality]] ) ob_flush(); flush(); // echo "thumbnail for "$file"
"; } } } // fine creazione miniatura rsort($all_height_fileT); // ordino l'array in ordine decrescente $max_height_fileT = $all_height_fileT[0] + $adjust_width; // ottengo il valore piu' alto di altezza delle miniature $table_height = $max_height_fileT + $height_didascalia ; // calcolo l'altezza che deve avere la tabella $spacer_height = $max_height_fileT + $spacer_width; // calcolo l'altezza dello spacer per la fotogallery senza didascalia unset($file_array); // svuoto l'array dei nomi delle foto $handle = opendir("$dir_img/"); while($file=readdir($handle)) // leggo di nuovo il nome delle foto per includere le miniature appena create $file_array[] = $file; sort($file_array); // ordino l'array dei nomi delle foto // visualizza thumbnails $count = 0; //print_r($file_array); // controllo foreach ($file_array as $file){ if((substr($file, -4) == ".jpg") AND substr($file, 0, 2)=='T_') // includo solo le miniature { $_GETdir=myrawurlencode($dir_img); $fileT="$dir_img/$file"; $imgMare=rawurldecode(substr($file, 2)); list($width_fileT, $height_fileT) = getimagesize($fileT); $nomeImmagine=substr($imgMare, 0,-4); if ($didascalia == "si") { // se la desciption non e' vuota sostituisco il nome dell'immagine con la didascalia if ($description[$imgMare] != NULL) $nomeImmagine = htmlspecialchars(stripslashes($description[$imgMare])); $fotogallery.= "
\"$nomeImmagine\"
".$nomeImmagine."
"; } else { $fotogallery .= "\"$nomeImmagine\""; if ($img_limit != 1) { // per piu' foto includo anche spacer $fotogallery .= ""; } } $count++; } if ($count >= $img_limit) break; // controllo quante miniature visualizzare } // fine visualizza miniature // scrivo l'autore delle foto se il valore non e' nullo if ($description[foto_by] != NULL) print "

(Foto di ".$description[foto_by].")

"; return print $fotogallery; } // fine make_miniature() //***************************************************************** /* RICONOSCIMENTO USER AGENT DELL'UTENTE di Giovanni Marigi http://www.gmarigi.it */ /* La funzione permette di verificare se il browser dell'utente č presente nella lista di browser conosciuti In caso affermativo stampa a video il nome del browser utilizzato @ param $chiave --> indica la chiave di ricerca all'interno del vettore @ param $vettore --> il vettore con i browser noti */ function presenza_user() { /* Array associativi per i browser. Puņ essere aggiornato con nuove corrispondenze se ne conoscete */ $vettore = array( 'MSIE 2' => 'IE', 'MSIE 3' => 'IE', 'MSIE 4.5' => 'IE', 'MSIE 4' => 'IE', 'MSIE 5.5' => 'IE', 'MSIE 5' => 'IE', 'MSIE 6.0' => 'IE', 'Lynx' => 'Lynx', 'Links' => 'Links', 'amaya' => 'Amaya', 'Konqueror' => 'Konqueror', 'Epiphany' => 'Epiphany', 'Galeon' => 'Galeon', 'Avant Browser' => 'Avant Browser', 'Googlebot' => 'Googlebot', 'Safari' => 'Safari', 'Wget' => 'Wget', 'Opera/7' => 'Opera 7', 'Opera 7' => 'Opera 7', 'Opera/6' => 'Opera 6', 'Opera 6' => 'Opera 6', 'Opera/5' => 'Opera 5', 'Opera 5' => 'Opera 5', 'Netscape/7' => 'Netscape', 'Netscape7' => 'Netscape', 'Netscape/6' => 'Netscape', 'Netscape6' => 'Netscape', 'Netscape/5' => 'Netscape', 'Mozilla/4' => 'Netscape', 'Mozilla/3' => 'Netscape', 'Firebird' => 'Mozilla', 'Mozilla' => 'Mozilla'); $chiave = $_SERVER["HTTP_USER_AGENT"]; $contatore = 1; /* Restituzione di un array con le chiavi dell'originario array associativo */ $temp = array_keys($vettore); $conteggio = count($temp); while($contatore < $conteggio) { /* Confronto fra la chiave di ricerca e l'elemento corrente del vettore delle chiavi */ if (strstr($chiave, $temp[$contatore])) { // Ricerca a buon fine return $vettore[$temp[$contatore]];; } $contatore++; } // Browser non presente nella lista } // funzioni aggiunte da Lorenzo function myrawurlencode ( $TheVal ) { return str_replace("%2F","/",rawurlencode($TheVal)); } function myrawurldecode ( $TheVal ) { return rawurldecode(str_replace("/","%2F",$TheVal)); } ?>
Cinema Teatro Miela  
Piazza Duca degli Abruzzi, 3 - Trieste  
promosso da APCLAI  
Direzione del Festival: Rodrigo Diaz