Chi siamo --> chi-siamo function ModTitolo($stringa) { $friendlyURL = htmlentities($stringa, ENT_COMPAT, "UTF-8", false); $friendlyURL = preg_replace('/&([a-z]{1,2})(?:acute|lig|grave|ring|tilde|uml|cedil|caron);/i','\1',$friendlyURL); $friendlyURL = html_entity_decode($friendlyURL,ENT_COMPAT, "UTF-8"); $friendlyURL = preg_replace('/[^a-z0-9-_]+/i', '-', $friendlyURL); $friendlyURL = preg_replace('/-+/', '-', $friendlyURL); $friendlyURL = trim($friendlyURL, '-'); $friendlyURL = strtolower($friendlyURL); $friendlyURL = substr($friendlyURL, 0, 50); return $friendlyURL; } function cerca_in_multiarray($value, $array) { foreach ($array AS $item) { if (!is_array($item)) { if ($item == $value) { return true; } continue; } if (in_array($value, $item)) { return true; } else if (cerca_in_multiarray($value, $item)) { return true; } } return false; } function crea_lista_where_addon($post) { foreach ($_POST as $key => $value) { if ($value != "*") { $result = mysql_query("SELECT id from contenuti_addon where nome_addon = '$key' ") or die("contattare admin"); if (mysql_result($result, 0) != "") { $lista_where .= " AND contenuti_addon.nome_addon = '$key' AND contenuti_addon.valore_addon = '$value'"; } } } return $lista_where; } function get_select_addon($nome_addon) { $result = mysql_query("SELECT valore_addon from contenuti_addon where nome_addon = '$nome_addon' GROUP by valore_addon "); while ($row = mysql_fetch_array($result)) { if ($row['valore_addon']) { $lista_result .= " "; } } return $lista_result; } function redirect($url) { echo ''; } ///se la colonna non esiste la crea function verifica_esistenza_colonna($db, $column, $column_attr = "VARCHAR( 255 ) NULL" ){ $exists = false; $columns = mysql_query("show columns from $db") or die("contattare admin"); while($c = mysql_fetch_assoc($columns)){ if($c['Field'] == $column){ $exists = true; break; } } if(!$exists){ mysql_query("ALTER TABLE `$db` ADD `$column` $column_attr") or die("contattare admin"); } } /// do un array di valori separati da virgola, è valido per tutti i tipi di archivio //px_from_left','px_from_top','button_2_height','button_2_width','href_2' esclusi per ora function rendering_multimedia($array, $format_grafico, $id_contenuto = "", $tabella_rif = "") { if(!$tabella_rif){ $tabella_rif = "contenuti"; } $lista_foto = ""; $i = 0; $array_foto = array_filter(explode(",",$array)); foreach($array_foto as $foto) { $foto = str_replace("%20"," ",trim($foto)); if($foto) { $result = mysql_query("SELECT * from media where id_album = '$id_contenuto' and nome = '$foto' order by id desc LIMIT 1 ") or die("contattare admin"); $num_results = mysql_num_rows($result); if($num_results > 0) { while($row = mysql_fetch_array($result)) { $n = $i + 1; if($row['titolo']) { $titolo = " ".stripslashes($row['titolo'])." "; } else { $titolo = " "; } if($row['descrizione']) { $descrizione = " ".stripslashes($row['descrizione'])." "; } else { $descrizione = " "; } if($row['url_destinazione_1']) { $link_1 = " href='".stripslashes($row['url_destinazione_1'])."' "; } else { $link_1 = " "; } if($row['target_1']) { $target_1 = " target='".stripslashes($row['target_1'])."' "; } else { $target_1 = " "; } if($row['titolo_collegamento_1']) { $titolo_1 = " ".stripslashes($row['titolo_collegamento_1'])." "; } else { $titolo_1 = " "; } if($i == 1) { $classe = " active el_$n "; } else { $classe = " el_$n "; } $format = str_replace( array('[titolo]', '[descrizione]', '[url]', '[link]', '[target]', '[titolo_collegamento]', '[i]','[classe]'), array("$titolo", "$descrizione", "$foto", "$link_1", "$target_1", "$titolo_1", "$i", "$classe" ), $format_grafico ); ///fine replace $i++; ///così gli slider partono dallo 0 } //fine while } else { $lista_foto .= str_replace( array('[url]','[link]', '[titolo]', '[titolo1]', '[link1]','[target1]', '[descrizione]'), array($foto, '', '', '', '', '', ''), $format_grafico ); ///fine replace } } //fine if foto $lista_foto .= $format; } // return $lista_foto; } function mostra_data_oggi() { $giorno = date("j"); $mese = date("n"); $anno = date("Y"); $ora = date("H:i"); $internettime = date("B"); $settimana = date("w"); $giornosettimana = array( "Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato" ); $nomemese = array( 1 => "gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre" ); echo ("$giornosettimana[$settimana]" . "," . " " . "$giorno" . " " . "$nomemese[$mese]" . " " . "$anno"); } function url_corrente() { $pageURL = $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://'; $pageURL .= $_SERVER['SERVER_PORT'] != '80' ? $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"] : $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; return $pageURL; } function TagliaStringa($stringa, $max_char) { if (strlen($stringa) > $max_char) { $stringa_tagliata = substr($stringa, 0, $max_char); $last_space = strrpos($stringa_tagliata, " "); $stringa_ok = substr($stringa_tagliata, 0, $last_space); return $stringa_ok . "..."; } else { return $stringa; } } // // CONVERTE LA DATA DAL FORMATO SQL A QUELLO "UMANO" function convertiDataSql($dataSql) { $ieri = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"))); $oggi = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d"), date("Y"))); list($data, $ora) = explode(" ", $dataSql); if ($data == $ieri) $dataOk = "Ieri alle"; elseif ($data == $oggi) $dataOk = "Oggi alle"; else { list($a, $m, $g) = explode("-", $data); $dataOk = "$g/$m/$a"; } return ("$dataOk $ora"); } function db_addon_array($id_widget,$id_rif = "", $tabella_rif = ""){ $addon_array = array(); if($tabella_rif == "contenuti"){ $query1 = "SELECT RL_contenuti_componenti_plugin.id_componente, contenuti.tipo FROM RL_contenuti_componenti_plugin INNER JOIN contenuti ON RL_contenuti_componenti_plugin.id_contenuto = contenuti.id where id_contenuto = '".$id_widget."' and contenuti.tipo = 'widget'"; $query2 = "SELECT * from contenuti_addon where id_contenuto = '$id_widget' and stato_addon = '1' "; } if($tabella_rif == "prodotti"){ $query2 = "SELECT * from prodotti_addon where id_prodotto = '$id_widget' and stato_addon = '1' "; } if($tabella_rif == "categorie"){ $query2 = "SELECT * from categorie_addon where id_categoria = '$id_widget' and stato_addon = '1' "; } if($query1) { $query = mysql_query($query1) or die("contattare admin per db_addon_array"); } if($id_rif && isset($query) && mysql_num_rows($query) > 0){ $result_attributi = mysql_query("SELECT * from contenuti_addon where id_contenuto = '$id_rif' and stato_addon = '1' and id_plugin = '".mysql_result($query,0,'id_componente')."' "); } else { $result_attributi = mysql_query($query2); } while($row_attributo = mysql_fetch_array($result_attributi)) { ///converto in varibili gli attributi $addon_array = $addon_array + array ($row_attributo['nome_addon'] => stripslashes($row_attributo['valore_addon'])); } // fine while, è ora possibile richiamare $att_prezzo, $att_lunghezza... return $addon_array; } function mostra_widget($data,$id_rif,$tabella_rif){ foreach($data as $widget){ $id_widget = $widget['id']; if(is_numeric($id_widget)){ $html = prima_foto(get_field("contenuti","layout"," where id = '$id_widget' " )); $visibilita = get_field("contenuti","visibilita"," where id = '$id_widget' " ); $addon_personalizzati = db_addon_array($id_widget,$id_rif,$tabella_rif); } else { $html = $widget['widget']; } if($html){ $addon_default = db_addon_array($id_widget,$id_widget,$tabella_rif); if($addon_personalizzati){ $addon=$addon_personalizzati; } else { $addon=$addon_default; } $dati = json_decode(json_encode($addon)); ///echo(path_site."template/".$_SESSION['base_theme']."/widget/".$html); include(path_site."template/".$_SESSION['base_theme']."/widget/".$html); } } } ///cerca in array multidim function val_in_array($array, $key, $val) { foreach ($array as $item){ if (isset($item[$key]) && $item[$key] == $val){ return 1; } } } /////// funzione per selezionare gli enum di una colonna function seleziona_enum($nome_tabella, $nome_colonna) { $result = mysql_query(" SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$nome_tabella' AND COLUMN_NAME = '$nome_colonna' "); $valori = mysql_result($result, 0); /// valore con lista originale in formato enum('valore1','valore2') $valori_da_rimuovere = array( "enum", "(", ")", "'" ); /// valori da rimuovere dalla lista originale $lista_valori = str_replace($valori_da_rimuovere, "", $valori); ///lista dei valori separati da virgola: valore1, valore2 return $lista_valori; } /////// funzione per selezionare 1 elemento function get_field($nome_tabella,$nome_colonna,$where=""){ if(is_numeric($where)){ $where = " where id = '$where' "; } $result = mysql_query(" SELECT $nome_colonna FROM $nome_tabella $where") or die("contattare admin"); if(@mysql_result($result,0)){ return mysql_result($result,0); } } /////// funzione per selezionare gli enum di una colonna function get_fields($nome_tabella, $nome_colonna, $where = "") { $result = mysql_query(" SELECT $nome_colonna FROM $nome_tabella $where") or die("contattare admin"); while ($row = mysql_fetch_assoc($result)) { $values[] .= $row[$nome_colonna]; } return ($values); } ////////ELIMINA UN VALORE DA UN ARRAY function array_remove_item($arr, $item) { // verifico che il valore sia compreso nell'array if (in_array($item, $arr)) { // rimuovo il valore passando ad unset la chiave dell'item // recuperata usando array_search unset($arr[array_search($item, $arr)]); // restituisco l'array dopo averla re-indicizzata return array_values($arr); } else { // se non trovo corrispondenze restituisco l'array così com'è return $arr; } } ////// formatto il nome per l'id dell'addon function rimuovi_spazi($nome_addon) { $caratteri_non_ammessi = array( " ", "-", "_", "/", "*", "€", "@" ); return strtolower(str_replace($caratteri_non_ammessi, "_", $nome_addon)); } //// converte la data da datetime al formato di interesse function converti_data($data, $formato, $lettere = '') { if ($lettere) { return converti_numero_mese(date("$formato", strtotime($data))); } else { return date("$formato", strtotime($data)); } // fine if lettere } ///fine function converti data function converti_numero_mese($data) { switch ($data) { case 01: case 1: return "gen"; break; case 02: case 2: return "feb"; break; case 03: case 3: return "mar"; break; case 04: case 4: return "apr"; break; case 05: case 5: return "mag"; break; case 06: case 6: return "giu"; break; case 07: case 7: return "lug"; break; case 08: case 8: return "ago"; break; case 09: case 9: return "set"; break; case 10: return "ott"; break; case 11: return "nov"; break; case 12: return "dic"; break; } // fine switch case } ///fine funzione conversione function converti_indirizzo($tabella, $id, $valore, $and = "") { $result = mysql_query("SELECT $valore from $tabella where id = '$id' $and "); if (@mysql_num_rows($result) != 0) return mysql_result($result, 0); } function prima_foto($foto) { return get_file($foto, 1); } function impostazione($nome_colonna){ return get_field("impostazioni",$nome_colonna," where id = '1' "); } function impostazione_extra($nome_voce){ return get_field("impostazioni_extra","valore"," where id_sito = '1' and proprieta = '$nome_voce' "); } function get_file($stringa, $posizione = "") { $file_ret = ""; $file = explode(",", $stringa); if (!$posizione) { $posizione = 1; } $i = 0; foreach ($file as $val) { if (strpos($val, '.') !== false) { $i++; if ($i == $posizione) { $file_ret = $val; break; } } } return $file_ret; } function extra_js($extra_js){ $extra_js = array_filter($extra_js); foreach($extra_js as $js) { $file = ""; if (strpos($js,'://') !== false) { $file = $js; } elseif (strpos($js,'../../') !== false) { $file = $_SESSION['url_sito'].'/site/'.str_replace('../../','',$js).'';} else { $file = $_SESSION['url_sito'].'/site/template/'.$_SESSION['base_theme'].'/'.$js.''; } echo ' '; } } function extra_css($extra_css){ $extra_css = array_filter($extra_css); foreach($extra_css as $css) { if (strpos($css,'.') == false) continue; if (strpos($css,'://') !== false) { $file = $css; } else { $file = $_SESSION['url_sito'].'/site/template/'.$_SESSION['base_theme'].'/'.$css.''; } echo ' '; } } function menu($id_menu, $lingua) { $query = "SELECT html FROM componenti_design where menu_id = '$id_menu' and lingua = '$lingua'"; $result = mysql_query($query); $menu = str_replace("../", "http://" . $_SESSION['alias'] . "/", mysql_result($result, 0)); return $menu; } function titolo_menu($id_menu, $lingua) { $query = mysql_query("SELECT titolo FROM componenti_design where menu_id = '$id_menu' and lingua = '$lingua'"); return mysql_result($query, 0); } function var_o_constant($vars) { $var = strtoupper($vars); if (defined('' . constant($var) . '')) { echo constant($var); } else { echo $vars; } } function rimuovi_speciali($str) { $str = str_replace(' ', '_', $str); return preg_replace("/[^a-zA-Z0-9_-]/", "", $str); } function lista_localita($tipologia, $loc_sup = "") { //tipologia = regione, loc sup = localita superiore switch ($tipologia) { case "nazioni": case "nazione": $tabella = "nazioni"; $colonna = "nazione"; $where = " "; break; case "regioni": case "regione": $tabella = "italia_regioni"; $colonna = "regione"; $where = " "; break; case "provincie": case "provincia": $tabella = "italia_provincie"; $colonna = "provincia"; $where = " where id_regione = '$loc_sup' "; break; case "comune": case "comuni": $tabella = "italia_comuni"; $colonna = "comune"; $where = " where id_provincia = '$loc_sup' "; break; } if (!$colonna) { break; } $lista_localita = array(); $result = mysql_query("SELECT id, $colonna FROM $tabella $where ") or die("contattare admin"); while ($row = mysql_fetch_array($result)) { array_push($lista_localita, array( id => $row['id'], nome => $row[$colonna] )); } return $lista_localita; } ///////funzione utilzizata per gli invii di email function invia_email($mittente_nome, $mittente_email, $oggetto, $messaggio, $destinatario, $smtp = "1") { require_once($_SERVER['DOCUMENT_ROOT'] . '/site/include/class.phpmailer.php'); //includiamo la classe . $mail = new PHPMailer(); $inviato = false; $smtp_attivo = impostazione_extra("smtp_attivo"); $user_smtp = impostazione_extra("user_smtp"); $pass_smtp = impostazione_extra("pass_smtp"); $porta_smtp = impostazione_extra("porta_smtp"); $sicurezza_smtp = impostazione_extra("sicurezza_smtp"); $host_smtp = impostazione_extra("host_smtp"); if(!$mittente_email) { $mittente_email = impostazione_extra("email_comunicazioni"); } if(!$mittente_nome) { $mittente_nome = impostazione_extra("nome_azienda"); } $mittente_email = "info@sansicarioaction.it"; if ($smtp_attivo == 1 && $smtp != '0') { $mail->IsSMTP(); $mail->Host = "$host_smtp"; $mail->SMTPDebug = 0; $mail->SMTPAuth = true; if ($sicurezza_smtp) { $mail->SMTPSecure = "$sicurezza_smtp"; } $mail->Username = "$user_smtp"; $mail->Password = "$pass_smtp"; $mail->Port = $porta_smtp; } $mail->IsHTML(true); try { $mail->From = "$mittente_email"; $mail->FromName = "$mittente_nome"; $mail->AddAddress("$destinatario"); $mail->Subject = stripslashes($oggetto); $mail->Body = stripslashes($messaggio); $mail->AltBody = $messaggio; if ($mail->Send()) { return "1"; } else { ///echo "email non inviata e stato smtp: $smtp quindi: "; if($smtp == '1') { invia_email($mittente_nome, $mittente_email, $oggetto, $messaggio, $destinatario, 0); return "1"; } else { return $mail->ErrorInfo; } } } catch (phpmailerException $e) { // echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { // echo $e->getMessage(); //Boring error messages from anything else! } $mail->ClearAddresses(); $ip = $_SERVER['REMOTE_ADDR']; # mysql_query("INSERT INTO messaggi_admin (tipologia, letto, titolo, messaggio, ip, data) VALUES ('messaggi','0','$oggetto', '$messaggio', '$ip' , NOW()) "); } // fine funziona invio ?>' . stripslashes($dato) . ' '; } if ($tipo == "checkbox_privacy") { return '
'; } /// if ($tipo == "checkbox_privacy2") { return '
'; } /// if ($tipo == "datepicker") { return ' '; } if ($tipo == "sfoglia_file") { return '
Upload
'; } if ($tipo == "radio") { } /// if ($tipo == "text") { return ' ' . $titoloSeo; } if ($tipo == "password") { return ' ' . $titoloSeo; } if ($tipo == "hidden") { return ' ' . $titoloSeo; } if ($tipo == "hidden2") { return ' ' . $titoloSeo; } if ($tipo == "select") { $valore_attuale = $dato; $opzioni = $dati; if(!$opzioni){ $lista_option = " "; } else { foreach (explode(",", $opzioni) as $valore) { if (strpos($valore, ']]') !== false) { $checksplit = explode("]]", $valore); $val_dato = $checksplit[0]; $label_dato = $checksplit[1]; } else { $val_dato = $valore; $label_dato = $valore; } if ($val_dato == $dato) { $attributo = " selected = 'selected' "; } else { $attributo = " "; } $lista_option .= ""; } } return ' '; } /// fine select } //fine func ?> 1) { $limit_partenza = (($pagina_attuale - 1)*$oggetti_per_pagina); } else { $limit_partenza = 0; } $select = "SELECT * , contenuti.id as contenutoid FROM contenuti $join WHERE contenuti.tipo = '$tipologia' AND contenuti.stato = '1' AND contenuti.lingua = '$lingua' $where $order "; ///la select if($_SESSION['admin'][0] && $_SESSION['debug'] == 1) { echo " $select LIMIT $limit_partenza, $oggetti_per_pagina " ; } $contenuti = mysql_query(" $select LIMIT $limit_partenza, $oggetti_per_pagina ") or die("contattare admin"); /// questi sono gli elementi che andrò a stampare, quindi metto il limite $numero_contenuti = mysql_num_rows(mysql_query("$select")); /// questo è il conteggio che serve al paging, quindi senza limite perchè ho bisogno degli elementi totali } ///fine funzione get_lista_contenuti function query_contenuti($tipologia, $lingua = '', $where = '', $pagina_attuale = '', $oggetti_per_pagina = '', $join = '', $order = ''){ if($pagina_attuale > 1) { $limit_partenza = (($pagina_attuale - 1)*$oggetti_per_pagina); } else { $limit_partenza = 0; } $query = "SELECT * , contenuti.id as contenutoid FROM contenuti $join WHERE contenuti.tipo = '$tipologia' AND contenuti.stato = '1' AND contenuti.lingua = '$lingua' $where $order "; $query .= " LIMIT $limit_partenza, $oggetti_per_pagina "; return $query; } ///fine funzione get_lista_contenuti /* get_singolo_contenuto */ function get_singolo_contenuto($id, $con = '', $pref = '') { $tabella = "contenuti"; if(!$pref) { $pref = "cont"; } if($pref == "prod") { $tabella = "prodotti"; } $contenutos = mysql_query(" SELECT * FROM $tabella where id = '$id' and stato = '1' ") or die("contattare admin"); /// seleziono tutto dalla tabella contenuti per quell'id while($row_contenuto = mysql_fetch_array($contenutos)) { extract($row_contenuto); } // fine while $sql = "SELECT * from $tabella"; $result = mysql_query($sql); while ($colonna = mysql_fetch_field($result)) { $nome_c = $colonna->name; // es-> titolo, es-> sottotitolo $nome = "".$pref."_$nome_c"; /// aggiungo il prefisso cont/$pref global $$nome; // la dichiaro come global $$nome = stripslashes($$nome_c); // gli associo il contenuto con grazie alle due variabili. ora per stampare $row_contenuto['titolo'], basta scrivere $cont_titolo } if(!$cont_meta_titolo) { $cont_meta_titolo = $cont_titolo; } if(!$prod_meta_titolo) { $prod_meta_titolo = $prod_titolo; } }///fine get singolo contenutio ////template si riferisce al collegamento function paging_contenuti ($numero_contenuti, $pagina_attuale, $oggetti_per_pagina, $url_attuale, $class = "") { if(!$pagina_attuale) { $pagina_attuale = 1; } $elementi_paging = ceil($numero_contenuti / $oggetti_per_pagina); $elementi_paging_max = 6; /// +- 3 if($elementi_paging < $elementi_paging_max) { $elementi_paging_max = $elementi_paging; } if($elementi_paging > 1) { if($elementi_paging > $elementi_paging_max) { //$ultimo_paging = "
  • .. $elementi_paging
  • "; } else { $ultimo_paging = ""; } if($pagina_attuale > 1){ $start_paging = $pagina_attuale - 3; if($pagina_attuale < 4) { $start_paging = 1; } } for ($i = $start_paging; $i <= $elementi_paging_max; ++$i) { if($i == $pagina_attuale) { $classe = ' class="active '.$class.' "'; } else { $classe = ' class=" '.$class.' "'; } if($i) { $lista_elementi_paging .= "
  • $i
  • "; } } echo '