//##########################################################################
//################ IMPOSTAZIONI BASE GALLERIA ##############################
//##########################################################################
// $CONF['parametroDiTest'] = 'defaultModulo';
// $CONF['loc']['parametroDiTest'] = 'defaultModuloLoc';
//MI COPIO I TEMPLATE E LI TENGO SINCRONIZZATI ???subversion1
if($CONF["indi_subversion"] < 1) {
//AGGIUNGO LE PAGINE DELLA GALLERIA AUTOMATICHE
//popup
$MENU["popup"]["xxx"]["nome"] = "POPUP";
$MENU["popup"]["xxx"]["template"] = "template_popup.php";
$MENU["popup"]["xxx"]["menu_pagina_vis"] = "NO";
//galleria
$MENU["gall_popup"]["xxx"]["nome"] = "GALL";
$MENU["gall_popup"]["xxx"]["template"] = "template_gall.php";
$MENU["gall_popup"]["xxx"]["menu_pagina_vis"] = "NO";
$CONF["file:_template/template_gall.php"] = "COPY"; // O COPY
$CONF["file:_template/template_popup.php"] = "COPY"; // O COPY
}
$CONF["gall_img"] = "NULL"; //indirizzo locale immagine _pics/ciao.jpg o immagine remota vedi opzone (gall_url_to_file)
$CONF["gall_init"] = "NO"; //non piu' usato da cancellare
//$CONF["gall_link"] = "NULL"; //DEPRECATO Valore di default del link del popup, deve esserci
$CONF["gall_pagina"] = "gall_popup"; //nome della pagina di default dei popup
$CONF["gall_tipo"] = "DEFAULT"; //LAZY | IMG_MINIATURA, IMG_GRANDE, URL_MINIATURA, URL_GRANDE, NOING o SOLOMIN / LINK (link semplice all' immagine)(per fare solo la miniatura) o PAGINA (per ingrndimenti non in popup) o LINK_POPUP per tornare solo il LINK all' ingrandimento o LINK_PAGINA solo link alla pagina o LIGHTBOX o LIGHTBOX2
$CONF["link_target"] = ""; //target=_blank
$CONF["gall_return"] = "DEFAULT"; // default torna solo il tag IMG, ARRAY torna tutto diviso in array, PATH torna solo il path dell'immagine ridimensionata, URI ritorna l'url con il parametro ?m=XXX per forzare il ricaricamento
$CONF["gall_resize"] = "SI"; //decide se ridimensionare e risalvare l' immagine grande o no
$CONF["gall_resize_furbo"] = "NO"; // Ridimensiona l' immagine grande in modo da rispettare max_h max_w, solo se l' immagine originale ha dimensioni maggiori
$CONF["gall_resize_furbo_min"] = NULL; // Ridimensiona la minitura in modo da rispettare min_h e min_w, solo se l' immagine originale ha dimensioni maggiori
$CONF["gall_crop"] = "SI"; //specifica se tagliare o no l' immagine piccola
$CONF["gall_fill"] = "NO"; //ceccam 22/11/2013 : se SI si deve specificare gall_fill_color, in questo modo l'immagine viene ridimensionata e riempita centrando con il colore specificato (esempio toysforyou dove c'è multizoom dettaglio prodotto)
//cecca 05/06/2020, se gall_fill e se non si passa ne gall_fill_color ne gall_fill_alpha allora fa il controllo automatico se l'immagine ha il canale alfa in automatico, OPPURE si può impostare il gall_fill_color per le immagini senza alpha e in automatico il resto mettendo gall_fill_alpha su AUTO
$CONF["gall_fill_color"] = NULL; //ceccam 22/11/2013 : colore per il fill, vedi sopra, deve essere specificato così: FFFFFF
$CONF["gall_fill_alpha"] = NULL; //ceccam 13/10/2016 : se true forza le bande aggiuntive del fill al colore trasparente quindi è inutile specificare il colore sopra, se AUTO lo mette solo sulle immagini con canale alpha (Imagick::getImageAlphaChannel())
$CONF["gall_crop_max"] = "NO"; //specifica se tagliare o no l' immagine grande
$CONF["gall_crop_norid"] = "NO"; //Forzo la dimensione del sorgente della miniatura alle dimensioni originali in tutti i casi bordo o no
$CONF["gall_crop_orizzontale"] = "NO"; //specifica se tagliare o no esclusivamente immagini orizzontali
$CONF["gall_crop_posizione"] = "centro"; //cecca, specifica se ritagliare dal centro o da (alto/basso/sinistra/destra)
$CONF["gall_limit"] = "NO"; //200 | 300 | 400 se l' immagine originale e' di larghezza inferiore non fa' l' ingrandimento
$CONF["gall_force_reload"] = "NO"; //se SI forza il reload della miniatura
$CONF["gall_auto_rotate"] = "NO"; //ruota l' immagine in base ai dati exif, solo le immagini JPG
$CONF["gall_url_to_file"] = NULL; //percorso con nome dove salvare il file originale se remoto
$CONF["gall_pngquant"] = NULL; //CECCAM 18/11/2013 pngquant, per fare la compressione pngquant alle png solo MINIATURE
$CONF["gall_forza_output_jpeg"] = false; //CECCAM 26/07/2016 passando una png viene data in output comunque una jpeg
$CONF["gall_forza_output_png"] = false; //carlo 23/01/2017 (fatto, testato al volo, ma non usato)
$CONF["gall_skip_infos"] = false;//non ritorna le dimensioni e il mime nell'array, c'è un grosso vantaggio di prestazioni alla prima lettura del file (simulare con "echo 3 > /proc/sys/vm/drop_caches")
$CONF['gall_wh_miniatura'] = false;//forza l'inserimento dimensioni con gall_skip_infos=true sulla miniatura (utile per gall_lazy)
$CONF['gall_wh_ingrandimento'] = false;//forza l'inserimento dimensioni con gall_skip_infos=true sull'ingrandimento
$CONF['gall_name_use_timestamp'] = false;
$CONF['itemprop_image'] = false;
$CONF['gall_lazy'] = false;//aggiunge loading="lazy" https://caniuse.com/#feat=loading-lazy-attr https://web.dev/native-lazy-loading/
if($CONF["indi_subversion"] > 3) $CONF["gall_link_assoluto"] = "SI"; // il link all' immagine e' sempre assoluto
else $CONF["gall_link_assoluto"] = "NO";
//tenere in sync con maxSize dell'editor immagini admin_tnx (fileRenderer in cotto.php) EDIT 2020: non c'è più
$CONF["loc"]["img_fix"] = "1800";
$CONF["rem"]["img_fix"] = "NO";
$CONF["gall_webp"] = !$_GET['nowebp'] && strpos($_SERVER['HTTP_ACCEPT'], "image/webp") !== false;
// $CONF["gall_webp"] = false;
if($CONF["indi_subversion"] > 5) {
$CONF["loc"]["img_fix"] = "2500";
$CONF["rem"]["img_fix"] = "2500";
}
/*
if($CONF["indi_subversion"] > 4) $CONF["gall_agg"] = "border=\"0\""; //parametri aggiuntivi nel tag img
else $CONF["gall_agg"] = ""; //parametri aggiuntivi nel tag img
*/
$CONF["gall_agg"] = ""; //parametri aggiuntivi nel tag img
$CONF["gall_class"] = NULL; //classe immagine
$CONF["gall_gruppo"] = NULL; //rel=lighbox[gruppo]
$CONF["gall_gruppo2"] = NULL; //rel=lighbox_gruppo
//galleria a DIRECTORY
$CONF["gall_dir"] = NULL; //directory per galleria automatica con slash finale
//colonne
if($CONF["indi_subversion"] > 5) $CONF["gall_dir_colonne"] = 0; //numero di colonne della galleria, se metto 0 cambia e usa il template con i div
else $CONF["gall_dir_colonne"] = "4";
$CONF["gall_dir_sort"] = "natsort"; // ordinamento: natsort(def) | filesystem | random | mt_random (vero random) | date_asc | date_desc
$CONF["gall_dir_class"] = "galleria"; //classe tabella galleria
$CONF["gall_dir_nome"] = "NO"; //non mette il nome del file un po sistemato
$CONF["gall_dir_tpl_nome"] = "[gall_dir_file_pulito|e] "; //variabile
$CONF["gall_dir_tpl_alt"] = "[gall_dir_file_pulito|e]"; //attr alt
$CONF["gall_dir_tpl_desc"] = "[gall_dir_file_pulito|e]"; //attr title
$CONF["gall_dir_filtro"] = NULL; //filtraggio sul nome del file
$CONF["gall_dir_escludi"] = NULL; //array di nomi di file da escludere dal gall_dir
$CONF["gall_dir_file"] = NULL; //variabile di template con il nome del file
$CONF["gall_dir_pulito"] = NULL; //variabile di template con il nome del file ripulito
$CONF["gall_dir_limit"] = NULL; //ritorna solo un numero limitato di risultati
//title del link all' ingrandimento
$CONF["gall_title"] = NULL;
//attributo alt miniatura
$CONF["gall_alt"] = NULL;
//riferimento aggiuntivo per creare ilnome random dell' immagine, se lo imposto diverso per
//la stessa immagine crea due file con nomi diversi
$CONF["gall_imgref"] = "0";
//pagina definita in indi dove si ingrandiscono le immagini
//qualita delle imamgini jpg
$CONF["gall_q_grande"] = "80";
$CONF["gall_q_miniatura"] = "80";
//dimensione miniatura se non c'e' il bordo che la definisce
$CONF["gall_min_h"] = "100";
$CONF["gall_min_w"] = "140";
//immagine bianco / nero che imposta la dimensione e l'alpha della miniatura
//$CONF[gall_maschera] = "maschera.png";
//immagine che imposta la dimensione e il bordo della miniatura
//$CONF[gall_bordo] = "indi/bordo_140_93.png";
//Dimensione immagine grande
$CONF["gall_max_h"] = "590";
$CONF["gall_max_w"] = "750";
//per decentrare il crop delle miniature, ad esempio -50 per spostare più in basso una foto...ciauz(cecca)
//esteso anche senza il crop (damiano)
$CONF["gall_xoffset"] = 0;
$CONF["gall_yoffset"] = 0;
$CONF["gall_min_force_x"] = "NO";
$CONF["gall_min_force_y"] = "NO";
//----------------------- png 24 bordo miniatura,
//immagine che imposta la dimensione e il bordo della miniatura
//$CONF[gall_bordo] = "_pics/bordo_xxxxx.png";
//----------------------- png 24 scritta/watemark su ingrandimento / miniatura
$CONF["gall_scritta"] = NULL;
//margine scritta dal bordo
$CONF["gall_margine"] = "10";
//posizione scritta in altezza (alto|basso|centro)
$CONF["gall_posh"] = "basso";
//posizione scritta in altezza (sinistra|centro|destra)
$CONF["gall_posw"] = "destra";
$CONF["gall_min_scritta"] = NULL;
$CONF["gall_min_scritta_margine"] = "10";
$CONF["gall_min_scritta_posh"] = "centro";
$CONF["gall_min_scritta_posw"] = "centro";
//imposta la dimensione dell'immagine sorgente a 1200x1200 e qualità quasi massima 98%
$CONF["img_fix_name"] = "NO"; //per semplificare il nome del file (NON ATTIVARE SE LE IMMAGNI VENGONO DAL DB!!!!!)
//aggiunge cambia le dimensioni della finestra di pop-up dei valori specificati
$CONF["gall_popup_add_w"] = "0";
$CONF["gall_popup_add_h"] = "0";
//------------ opzioni DEPRECATE -------------------
// FUNZIONI POUP
$CONF["popup_link"] = "NULL"; //Valore di default del link del popup, deve esserci
$CONF["popup_img"] = "NULL";
$CONF["popup_pagina"] = "popup"; //nome della pagina di default dei popup
$CONF["popup_tipo"] = "CENTRATO"; //CENTRATO / STANDARD
$CONF["popup_width"] = "500";
$CONF["popup_height"] = "450";
$CONF["popup_opzioni"] = "toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no";
$CONF["popup_multifinestra"] = "SI";
$CONF["popup_img_error"] = "IMAGE NOT FOUND";
//opzioni popup sia gall che altre
//PAGINA apre il popup in una pagina
$CONF["gall_multifinestra"] = "SI"; //le popup si aprono ognuna in una fin diversa oppure nella solita
// TESTI MINIATURA (ALT)
$CONF["xxx"]["gall_txt_miniatura"] = "Click to enlarge";
$CONF["ita"]["gall_txt_miniatura"] = "Clicca per Ingrandire";
$CONF["ger"]["gall_txt_miniatura"] = "Klicken Sie, um zu vergrößern";
$CONF["fra"]["gall_txt_miniatura"] = "Cliquetez pour agrandir";
$CONF["spa"]["gall_txt_miniatura"] = "Chasque para agrandar";
//TESTI INGRANDIMENTO (ALT INGRANDIMENTO)
$CONF["xxx"]["gall_txt_ingrandimento"] = "Click to close the window";
$CONF["ita"]["gall_txt_ingrandimento"] = "Clicca per chiudere la finestra";
$CONF["ger"]["gall_txt_ingrandimento"] = "Klicken zum Schließen des Fensters";
$CONF["fra"]["gall_txt_ingrandimento"] = "Déclic pour fermer la fenêtre";
$CONF["spa"]["gall_txt_ingrandimento"] = "Tecleo para cerrar la ventana";
//TESTI INGRANDIMENTO
$CONF["xxx"]["gall_txt_lightbox"] = 'Press to close';
$CONF["ita"]["gall_txt_lightbox"] = 'Premi per chiudere';
$CONF["ger"]["gall_txt_lightbox"] = 'Press X to close';
$CONF["fra"]["gall_txt_lightbox"] = 'Press X to close';
$CONF["spa"]["gall_txt_lightbox"] = 'Press X to close';
//controlla se il file e' un immagine (png,jpg,gif)
function gall_is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG)))
{
return true;
}
return false;
}
function gall_fancybox($immagini, $triggerJQuerySelector, $gallOpt = array(), $fancyboxOpt = array()){
if(indi_device()->isMobile()) $GLOBALS['DATI']['file:_libs/fancybox2/fix_apertura_diretta_safari_mobile.css'] = 'CDN,BODY,VIS';
foreach($immagini as $k=>$i){
$immagini[$k] = array('href' => gall(array_merge(array("gall_tipo" => "NOING", "gall_return" => "PATH", "gall_img" => $i['path_indi']), $gallOpt)));
}
$GLOBALS['DATI']['body:$("'.$triggerJQuerySelector.'").click(function(e){e.preventDefault();$.fancybox('.json_encode($immagini).','.json_encode($fancyboxOpt).');});'] = 'PRE_CLOSE,JS';
}
//torna le informazioni di un immagine e controlla se il file e' un immagine (png,jpg,gif)
function gall_info_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG)))
{
return $a;
}
return false;
}
//torna solo il nome del file
function gall_pulisci_nome ($nome) {
if($GLOBALS[CONF]["indi_subversion"] < 1) {
return str_replace("_"," ",substr($nome,0,strpos($nome,".")));
} else {
//in base alla lingua prende il nome giusto separato da separatore
//return $nome;
if(strrpos($nome,"/")) $nome = substr($nome,strrpos($nome,"/")+1,strlen($nome));
return str_replace("_"," ",substr($nome,0,strpos($nome,".")));
}
}
//estrae una didascalia dal nome del file tipo 1-Descrizione immagine
function gall_pulisci_nome_new ($nome,$separatore="-") {
if(strrpos($nome,$separatore)) $nome = substr($nome,strrpos($nome,$separatore)+1,strlen($nome));
return str_replace("_"," ",substr($nome,0,strpos($nome,".")));
}
//NON USATA PIU
//La funzione di inizializzazione, server se voglio modificare i parametri globali e di altri moduli, in particolare l' array dati, cosa che viene comunque gia' fatta in automatico
function gall_init() {
global $CONF, $DATI;
$lang = $DATI["lang"];
//mi fermo se ho gia inizializzato
if($CONF["gall_init"] == "SI") {
return FALSE;
}
//inizializzo
if($GLOBALS["CONF"]["DEBUG"] == "SI") d_info("Inizializzo Galleria","mod_galleria","INDI");
//$DATI = array_merge($CONF, $CONF["xxx"], $CONF[$lang], $DATI);
$CONF["gall_init"] = "SI";
}
function gall_get_imgref($CONF){
$imgref =
$CONF["gall_crop"] . "|" .
$CONF["gall_q_grande"] . "|" .
$CONF["gall_q_miniatura"] . "|" .
$CONF["gall_min_h"] . "|" .
$CONF["gall_min_w"] . "|" .
$CONF["gall_max_h"] . "|" .
$CONF["gall_max_w"] . "|" .
$CONF["gall_margine"] . "|" .
$CONF["gall_posh"] . "|" .
$CONF["gall_posw"] . "|" .
$CONF["gall_bordo"] . "|" .
$CONF["gall_scritta"];
if($CONF["gall_min_scritta"] != '') $imgref .= $CONF["gall_min_scritta"]."|";
if($CONF["gall_crop_max"] != 'NO') $imgref .= $CONF["gall_crop_max"] . "gall_crop_max|";
if($CONF["gall_min_force_x"] != 'NO') $imgref .= $CONF["gall_min_force_x"] . "gall_min_force_x|";
if($CONF["gall_min_force_y"] != 'NO') $imgref .= $CONF["gall_min_force_y"] . "gall_min_force_y|";
if($CONF["gall_xoffset"]) $imgref .= "|gall_xoffset" .$CONF["gall_xoffset"];
if($CONF["gall_yoffset"]) $imgref .= "|gall_yoffset" .$CONF["gall_yoffset"];
if($CONF["gall_resize_furbo"] != 'NO') $imgref .= "|gall_resize_furbo" .$CONF["gall_resize_furbo"];
if($CONF["gall_resize_furbo_min"]) $imgref .= "|gall_resize_furbo_min" .$CONF["gall_resize_furbo_min"];
if($CONF["gall_fill"]) $imgref .= "|gall_fill" .$CONF["gall_fill"];
if($CONF["gall_fill_color"]) $imgref .= "|gall_fill_color" .$CONF["gall_fill_color"];
if($CONF["gall_fill_alpha"]) $imgref .= "|gall_fill_alpha" . ($CONF["gall_fill_alpha"] === "AUTO" ? "AUTO" : ($CONF["gall_fill_alpha"] ? "S" : "N"));
if($CONF["gall_pngquant"]) $imgref .= "|gall_pngquant" .$CONF["gall_pngquant"];
if($CONF["gall_maschera"]) $imgref .= "|gall_maschera" .$CONF["gall_maschera"];
if($CONF["gall_auto_rotate"] != 'NO') $imgref .= "|gall_auto_rotate" .$CONF["gall_auto_rotate"];
if ($CONF["gall_crop_posizione"] != "centro") {
//per non far rifare tutte le miniature ignoro il parametro standard centro
$imgref .= "|gall_crop_posizione" .$CONF["gall_crop_posizione"];
}
if(($CONF["gall_min_scritta"] || $CONF["gall_scritta"]) && substr($CONF["gall_img"], -4) == ".png"){
//se l'immagine originale era una png poteva venire lo sfondo della scritta bianco invece che trasparente
$imgref .= "|fix_gall_scritta";
}
//d_info("Generato IMGREF della galleria => ".$imgref,"mod_galleria","INDI");
return $imgref;
}
function popup_init() {
gall_init();
}
//##########################################################################
//################ FUNZIONI GALLERIA AMM #########################
//##########################################################################
//print "ADMIN_IMG";
//img_admin();
//??? non usato
function img_admin() {
global $DATI;
if($_GET["img_admin"] == "SI" and $_GET[id] != "" and $_GET["key"] != "") {
//cancello l' immagine
$IMM = imm_genera_nome($_GET[id],$_GET["key"]);
@unlink($IMM["nome"]);
@unlink($IMM["nome_t"]);
//print d($IMM);
}
}
//??? non usato
function gall_admin($img,$parola) {
global $DATI;
if($_GET["img_admin"] == "SI") {
print "Aggiorna";
}
if($_GET["img_admin"] == "SI" and $_GET[id] != "" and $_GET[key] != "") {
//cancello l' immagine
$IMM = imm_genera_nome($img,$_GET[key]);
@unlink($IMM["nome"]);
@unlink($IMM["nome_t"]);
//print d($IMM);
}
}
//##########################################################################
//################ FUNZIONI POPUP ################################
//##########################################################################
function popup_pagina($pagina,$width=NULL,$height=NULL,$opzioni=NULL) {
if(is_array($pagina)) return popup_a(genera_link($pagina[0], $pagina[1], $pagina[2], $pagina[3]),$width,$height,$opzioni);
else return popup_a(genera_link($pagina),$width,$height,$opzioni);
}
function popup_a($PARAM=NULL,$width=NULL,$height=NULL,$opzioni=NULL) {
//popup_init();
global $MENU,$DATI,$CONF;
//due tipi di parametri semplici e completi
if(is_array($PARAM)) $CONFIGURAZIONE = $PARAM;
else {
if($PARAM != NULL) $CONFIGURAZIONE["popup_link"] = $PARAM;
else $PARAM = $CONFIGURAZIONE["popup_link"];
}
$CONFIGURAZIONE = array_merge($DATI,$CONFIGURAZIONE);
//d($CONFIGURAZIONE);
//if($CONFIGURAZIONE["popup_tipo"] == "CENTRATO") gall_javascipt_popup();
if($width == NULL) $width = $CONFIGURAZIONE["popup_width"];
if($height == NULL) $height = $CONFIGURAZIONE["popup_height"];
if($opzioni != NULL) $CONFIGURAZIONE["popup_opzioni"] = $opzioni;
if($CONFIGURAZIONE["popup_tipo"] == "STANDARD") return ('javascript:OnClick=window.open(\''.$CONFIGURAZIONE["popup_link"].'\',\''.popup_titolo().'\',\'width='.$width.',height='.$height.'\',\''.$CONFIGURAZIONE["popup_opzioni"].'\');');
if($CONFIGURAZIONE["popup_tipo"] == "CENTRATO") return ('javascript:OnClick=popc(\''.$CONFIGURAZIONE["popup_link"].'\',\''.popup_titolo().'\',\''.$width.'\',\''.$height.'\',\''.$CONFIGURAZIONE["popup_opzioni"].'\');');
}
function popup_img($PARAM=NULL,$width=NULL,$height=NULL,$opzioni=NULL) {
//popup_init();
global $MENU,$DATI,$CONF;
//due tipi di parametri semplici e completi
if(is_array($PARAM)) $CONFIGURAZIONE = $PARAM;
else {
if($PARAM != NULL) $CONFIGURAZIONE["popup_img"] = $PARAM;
else $PARAM = $CONFIGURAZIONE["popup_img"];
}
$CONFIGURAZIONE = array_merge($DATI,$CONFIGURAZIONE);
//if($CONFIGURAZIONE["popup_tipo"] == "CENTRATO") gall_javascipt_popup();
//trovo il link
$CONFIGURAZIONE["popup_link"] = genera_link($CONFIGURAZIONE["popup_pagina"],$CONFIGURAZIONE["lang"],array("img" => indi_urlencode($CONFIGURAZIONE["popup_img"])));
//dimensione finestra come dimensione immagine
$dim_tmp = @getimagesize($CONFIGURAZIONE["popup_img"]);
if($width == 0) $width = $dim_tmp["0"];
if($height == 0) $height = $dim_tmp["1"];
if($opzioni != NULL) $CONFIGURAZIONE["popup_opzioni"] = $opzioni;
if($CONFIGURAZIONE["popup_tipo"] == "STANDARD") return ('javascript:OnClick=window.open(\''.$CONFIGURAZIONE["popup_link"].'\',\''.popup_titolo().'\',\'width='.$width.',height='.$height.'\',\''.$CONFIGURAZIONE["popup_opzioni"].'\');');
if($CONFIGURAZIONE["popup_tipo"] == "CENTRATO") return ('javascript:OnClick=popc(\''.$CONFIGURAZIONE["popup_link"].'\',\''.popup_titolo().'\',\''.$width.'\',\''.$height.'\',\''.$CONFIGURAZIONE["popup_opzioni"].'\');');
}
function popup_img_visualizza() {
//popup_init();
global $DATI;
//CODICE X TEMPLATE POPUP
//Stampa il link con l' immagine
$out .= '';
$alt2=encode($DATI["gall_txt_ingrandimento"]);
$img = $_GET["img"];
if(is_file($img)) $out .= '';
else $out .= $DATI["popup_img_error"];
$out .= '';
return $out;
}
function popup_vis_generica() {
//popup_init();
global $DATI;
//CODICE X TEMPLATE POPUP
//Stampa il link con l' immagine
$img = gpc_url($_GET["img"]);
if(is_file($img)) {
$out .= '