Torna alla HOME Vai alla home Vai alle camere Booking online
Tabella Tariffe

ERRORphp } # fine if (!@$framed and !@$_GET['framed'] and !@$_POST['framed']) # INIZIO VARIABILI MODIFICABILI (modificare il valore sulla destra) # Inserire in questa variabile il nome della pagina se $PHP_SELF non è definita $var_nome_pagina = ""; $var_anno = 2017; $var_tipo_db = "mysqli"; $var_nome_db = "Z08767_fix_prenotazioni-online"; $var_computer_db = "localhost"; $var_porta_db = "3306"; $var_utente_db = "Z0876_hoteldruid"; $var_password_db = "H4uv5j!0"; $var_carica_estensione_db = ""; $var_prefisso_tabelle_db = "gsr4f36_"; $var_lingua_modello = "ita"; $var_stile_soldi = "europa"; $var_stile_data = "europa"; $var_anteponi_nome_valuta = "NO"; $var_estendi_ultima_data = "SI"; $var_mostra_date_passate = "SI"; $var_tariffe_mostra = array( 1 => "SI", 2 => "SI", 3 => "SI", 4 => "SI", 5 => "SI", 6 => "SI", 7 => "SI", 8 => "SI", 9 => "SI", 10 => "SI"); $var_nomi_tariffe_imposte = array(); $var_costi_aggiuntivi_mostra = array(); $var_nomi_costi_agg_imposti = array(); $var_mostra_caparra = "SI"; $var_apertura_tag_font = ""; $var_chiusura_tag_font = ""; $var_stile_tabella_tariffe = "cellspacing=\"0\" cellpadding=\"2\" border=\"1\" style=\"text-align: center; margin-left: auto; margin-right: auto;\""; $var_file_css_frame = ""; $var_tema_modello = ""; # FRASI $var_fr_Valuta_sing = "Euro"; $var_fr_Valuta_plur = "Euro"; $var_fr_dal = "dal"; $var_fr_al = "al"; $var_fr_tariffa = "tariffa"; $var_fr_per = "per"; $var_fr_parola_settimana = "giorno"; $var_fr_parola_settimane = "giorni"; $var_fr_Prezzo = "Prezzo"; $var_fr_Caparra = "Caparra"; $var_fr_di = "di"; $var_fr_persone = "persone"; $var_fr_persona = "persona"; $var_fr_per_ogni = "per ogni"; $var_fr_Costi_aggiuntivi = "Costi aggiuntivi"; $var_fr_della_tariffa = "della tariffa"; $var_fr_della_tariffa_senza_persone = "della tariffa senza persone"; $var_fr_della_tariffa_di_una_persona = "della tariffa di una persona"; $var_fr_del_prezzo_totale = "del prezzo totale"; $var_fr_della_caparra = "della caparra"; $var_fr_del_resto_della_caparra = "del resto della caparra"; $var_fr_alla_settimana = "al giorno"; $var_fr_a_persona = "a persona"; $var_fr_obbligatorio_con = "obbligatorio con"; $var_fr_tutte_le_tariffe = "tutte le tariffe"; $var_fr_per_p = "*p"; # PERIODI NEI MENU $var_periodi_menu = " "; # FINE VARIABILI MODIFICABILI ############################################################################ ### NON MODIFICARE NIENTE A PARTIRE DA QUI ############################################################################ error_reporting(E_ALL ^ E_NOTICE); $PHPR_LOG = "NO"; $pag = $var_nome_pagina; if (!$pag) { if (@$PHP_SELF or @$_SERVER["PHP_SELF"] or @$HTTP_SERVER_VARS["PHP_SELF"]) { if (@$_SERVER["PHP_SELF"]) $PHP_SELF = $_SERVER["PHP_SELF"]; else if (@$HTTP_SERVER_VARS["PHP_SELF"]) $PHP_SELF = $HTTP_SERVER_VARS["PHP_SELF"]; $pag = explode("/",$PHP_SELF); $pag = $pag[(count($pag)-1)]; } # fine if (@$PHP_SELF or @$_SERVER["PHP_SELF"] or... else echo "La variabile \$PHP_SELF non è definita, si dovrà editare a mano questa pagina per inserirne il nome.
"; } # fine if (!$pag) define(C_PERCORSO_A_DATI,"/var/www/vhosts/Z08767-fix.linp018.arubabusiness.it/lalocandadeltramontoinfinito.com/prenotazioni-online/dati/"); $anno = $var_anno; $PHPR_DB_TYPE = $var_tipo_db; $PHPR_DB_NAME = $var_nome_db; $PHPR_DB_HOST = $var_computer_db; $PHPR_DB_PORT = $var_porta_db; $PHPR_DB_USER = $var_utente_db; $PHPR_DB_PASS = $var_password_db; if (strtoupper($var_carica_estensione_db) == "SI") $PHPR_LOAD_EXT = "SI"; else $PHPR_LOAD_EXT = "NO"; $PHPR_TAB_PRE = $var_prefisso_tabelle_db; $lingua_modello = $var_lingua_modello; if ($var_stile_soldi == "europa") $stile_soldi = "europa"; if ($var_stile_soldi == "usa") $stile_soldi = "usa"; if ($var_stile_data == "europa") $stile_data = "europa"; if ($var_stile_data == "usa") $stile_data = "usa"; if (strtoupper($var_anteponi_nome_valuta) == "SI") $anteponi_nome_valuta = "SI"; else $anteponi_nome_valuta = "NO"; if (strtoupper($var_estendi_ultima_data) == "SI") $estendi_ultima_data = "SI"; else $estendi_ultima_data = "NO"; if (strtoupper($var_mostra_date_passate) == "NO") $mostra_date_passate = "NO"; else $mostra_date_passate = "SI"; unset($tariffe_mostra); reset ($var_tariffe_mostra); while (list ($key, $val) = each ($var_tariffe_mostra)) { if (strtoupper($val) == "SI") $tariffe_mostra[$key] = "SI"; if (strtoupper($val) == "NO") $tariffe_mostra[$key] = "NO"; } # fine while $n_tariffe_imposte = $var_nomi_tariffe_imposte; unset($costi_agg_mostra); reset ($var_costi_aggiuntivi_mostra); while (list ($key, $val) = each ($var_costi_aggiuntivi_mostra)) { if (strtoupper($val) == "SI") $costi_agg_mostra[$key] = "SI"; if (strtoupper($val) == "NO") $costi_agg_mostra[$key] = "NO"; } # fine while $n_costi_agg_imposti = $var_nomi_costi_agg_imposti; if (strtoupper($var_mostra_caparra) == "SI") $mostra_caparra = "SI"; else $mostra_caparra = "NO"; $apertura_tag_font = $var_apertura_tag_font; $chiusura_tag_font = $var_chiusura_tag_font; $stile_tabella_tariffe = $var_stile_tabella_tariffe; $file_css_frame = $var_file_css_frame; $extra_head_frame = ""; $tipo_periodi = "g"; # FRASI $fr_Euro = $var_fr_Valuta_sing; $fr_Euros = $var_fr_Valuta_plur; $fr_dal = $var_fr_dal; $fr_al = $var_fr_al; $fr_tariffa = $var_fr_tariffa; $fr_per = $var_fr_per; $fr_parola_settimana = $var_fr_parola_settimana; $fr_parola_settimane = $var_fr_parola_settimane; $fr_Prezzo = $var_fr_Prezzo; $fr_Caparra = $var_fr_Caparra; $fr_di = $var_fr_di; $fr_persone = $var_fr_persone; $fr_persona = $var_fr_persona; $fr_per_ogni = $var_fr_per_ogni; $fr_Costi_aggiuntivi = $var_fr_Costi_aggiuntivi; $fr_della_tariffa = $var_fr_della_tariffa; $fr_della_tariffa_senza_persone = $var_fr_della_tariffa_senza_persone; $fr_della_tariffa_di_una_persona = $var_fr_della_tariffa_di_una_persona; $fr_del_prezzo_totale = $var_fr_del_prezzo_totale; $fr_della_caparra = $var_fr_della_caparra; $fr_del_resto_della_caparra = $var_fr_del_resto_della_caparra; $fr_alla_settimana = $var_fr_alla_settimana; $fr_a_persona = $var_fr_a_persona; $fr_obbligatorio_con = $var_fr_obbligatorio_con; $fr_tutte_le_tariffe = $var_fr_tutte_le_tariffe; $fr_per_p = $var_fr_per_p; # PERIODI NEI MENU $menu_periodi = $var_periodi_menu; function mex_data($messaggio) { return $messaggio; } # fine function mex_data ########################################### ### INIZIO ./includes/funzioni_mysqli.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2014 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## #Funzioni per usare il database MYSQL con estensioni mysqli ignore_user_abort(1); # variabili per le differenze nella sintassi delle query #global $ILIKE,$LIKE; $ILIKE = "LIKE"; $LIKE = "LIKE BINARY"; $DATETIME = "datetime"; $MEDIUMTEXT = "mediumtext"; unset($link_mysqli); function connetti_db ($database,$host,$port,$user,$password,$estensione) { global $link_mysqli; if ($estensione == "SI") dl("mysqli.so"); $link_mysqli = mysqli_connect($host,$user,$password,$database,$port); @mysqli_query($link_mysqli,"SET NAMES 'utf8'"); return $link_mysqli; } # fine function connetti_db function disconnetti_db (&$numconnessione) { $risul = mysqli_close($numconnessione); return $risul; } # fine function disconnetti_db if (substr($PHPR_LOG,0,2) != "SI") { function esegui_query ($query,$silenzio = "",$idlog = "") { global $link_mysqli; $risul[-1] = mysqli_query($link_mysqli,$query); $risul[-2] = -1; if (!$risul[-1] and !$silenzio) { global $PHPR_TAB_PRE; echo "
ERROR IN: ".str_replace(" ".$PHPR_TAB_PRE," ",$query)."
".mysqli_errno($link_mysqli).": ".mysqli_error($link_mysqli)."
"; } # fine if (!$risul and !$silenzio) return $risul; } # fine function esegui_query } # fine if (substr($PHPR_LOG,0,2) != "SI") else { if (!function_exists("inserisci_log")) include("./includes/funzioni_log.php"); function esegui_query ($query,$silenzio = "",$idlog = "") { global $link_mysqli; $risul[-1] = mysqli_query($link_mysqli,$query); $risul[-2] = -3; if (!$risul[-1] and !$silenzio) { global $PHPR_TAB_PRE; echo "
ERROR IN: ".str_replace(" ".$PHPR_TAB_PRE," ",$query)."
".mysqli_errno($link_mysqli).": ".mysqli_error($link_mysqli)."
"; } # fine if (!$risul and !$silenzio) if ($idlog != 1) inserisci_log($query,$idlog); return $risul; } # fine function esegui_query } # fine else if (substr($PHPR_LOG,0,2) != "SI") function risul_query (&$query,$riga,$colonna,$tab="") { /* # version that uses too much memory ($query stores each line) if (!$query[$riga]) { if ($query[-2] != ($riga - 1)) mysqli_data_seek($query[-1],$riga); $query[$riga] = mysqli_fetch_array($query[-1]); $query[-2] = $riga; #if (!$risul) echo "
Nessun risultato in riga $riga colonna $colonna
"; } # fine if (!$query[$riga]) return $query[$riga][$colonna]; */ if ($query[-2] != $riga) { if ($query[-2] != ($riga - 1)) mysqli_data_seek($query[-1],$riga); $query[1] = mysqli_fetch_array($query[-1]); $query[-2] = $riga; #if (!$risul) echo "
Nessun risultato in riga $riga colonna $colonna
"; } # fine if ($query[-2] != $riga) return $query[1][$colonna]; } # fine function risul_query function numlin_query ($query) { $risul = mysqli_num_rows($query[-1]); return $risul; } # fine function numlin_query function aggslashdb ($stringa) { $risul = addslashes($stringa); return $risul; } # fine function aggslashdb function arraylin_query (&$query,$num) { if ($query[-2] != ($num - 1)) mysqli_data_seek($query[-1],$num); $risul = mysqli_fetch_row($query[-1]); $query[-2] = $num; return $risul; } # fine function arraylin_query function numcampi_query ($query) { $risul = mysqli_num_fields($query[-1]); return $risul; } # fine function numcampi_query function nomecampo_query ($query,$num) { $risul = mysqli_fetch_field_direct($query[-1],$num); return $risul->name; } # fine function nomecampo_query function tipocampo_query ($query,$num) { $risul = mysqli_fetch_field_direct($query[-1],$num); return $risul->type; } # fine function tipocampo_query function dimcampo_query ($query,$num) { $risul = mysqli_fetch_field_direct($query[-1],$num); return $risul->max_length; } # fine function dimcampo_query function lock_tabelle ($tabelle,$altre_tab_usate = "",$lock_dir = C_DATI_PATH) { if (@is_array($tabelle)) { for ($num1 = 0 ; $num1 < count($tabelle); $num1++) { $lista_tabelle .= $tabelle[$num1]." write,"; } # fine for $num1 } # fine if (@is_array($tabelle)) if (@is_array($altre_tab_usate)) { for ($num1 = 0 ; $num1 < count($altre_tab_usate); $num1++) { $lista_tabelle .= $altre_tab_usate[$num1]." read,"; } # fine for $num1 } # fine if (@is_array($altre_tab_usate)) $lista_tabelle = substr($lista_tabelle,0,-1); global $link_mysqli; $risul = mysqli_query($link_mysqli,"lock tables $lista_tabelle"); if (!$risul) echo "
ERROR IN: lock tables $lista_tabelle
".mysqli_errno($link_mysqli).": ".mysqli_error($link_mysqli)."
"; return $risul; } # fine function lock_tabelle function unlock_tabelle ($tabelle_lock,$azione = "") { global $link_mysqli; $risul = mysqli_query($link_mysqli,"unlock tables"); } # fine function unlock_tabelle function crea_indice ($tabella,$colonne,$nome) { global $link_mysqli; mysqli_query($link_mysqli,"alter table $tabella add index $nome ($colonne)"); } # fine function crea_indice ########################################### ### FINE ./includes/funzioni_mysqli.php ########################################### $numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT); ########################################### ### INIZIO ./includes/funzioni.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2017 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## error_reporting(E_ALL ^ E_NOTICE); if (function_exists('mb_internal_encoding')) mb_internal_encoding('UTF-8'); if (function_exists('date_default_timezone_set')) if (!ini_get('date.timezone')) date_default_timezone_set('UTC'); # nel caso fosse settato register_globals = Off if (@is_array($_POST)) reset($_POST); for($num1 = 0 ; $num1 < count($_POST); $num1++) { $var_POST = key($_POST); if (!isset($$var_POST)) $$var_POST = $_POST[$var_POST]; next($_POST); } # fine for $num1 if (@is_array($_GET)) reset($_GET); for($num1 = 0 ; $num1 < count($_GET); $num1++) { $var_GET = key($_GET); if (!isset($$var_GET)) $$var_GET = $_GET[$var_GET]; next($_GET); } # fine for $num1 if (@is_file(C_DATI_PATH."/tema.php")) include(C_DATI_PATH."/tema.php"); else { unset($tema); $trad_ui = 0; } # fine else if (@is_file(C_DATI_PATH."/tema.php")) #$pag = explode("/", $SCRIPT_NAME); #$pag = end($pag); $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; #@include("./includes/costanti.php"); #@include(C_DATI_PATH."/costanti.php"); define('C_PHPR_VERSIONE_NUM',2.21); define('C_PHPR_VERSIONE_TXT',"2.2.1"); if (!function_exists('utf8_encode')) { function utf8_encode ($testo) { return ($testo); } function utf8_decode ($testo) { return ($testo); } } # fine if (!function_exists('utf8_encode')) # Se non si specifica nessun anno uso l'attuale @include_once(C_DATI_PATH."/versione.php"); $anno_corrente = date("Y",(time() + (C_DIFF_ORE * 3600))); if (!$anno) { if ($id_sessione) $anno = substr($id_sessione,0,4); else { if (!defined('C_GIORNI_NUOVO_ANNO')) include("./costanti.php"); $anno = date("Y",(time() + (C_DIFF_ORE * 3600) - (C_GIORNI_NUOVO_ANNO * 86400))); # Se ci troviamo nel periodo di C_GIORNI_NUOVO_ANNO ma il nuovo anno è già stato creato if ($anno_corrente != $anno) { if (@is_file(C_DATI_PATH."/selectperiodi$anno_corrente.1.php")) $anno = $anno_corrente; } # fine if ($anno_corrente != $anno) } # fine else if ($id_sessione) } # fine if (!$anno) if ($vers_hinc) $vers_hinc = "?v=".C_PHPR_VERSIONE_NUM; if ($_SERVER['SERVER_NAME']) $HOSTNAME = $_SERVER['SERVER_NAME']; elseif ($SERVER_NAME) $HOSTNAME = $SERVER_NAME; $HOSTNAME = htmlspecialchars($HOSTNAME); if (strstr($_SERVER['HTTP_USER_AGENT'],'(iP') or strstr($_SERVER['HTTP_USER_AGENT'],'Android') or strstr($_SERVER['HTTP_USER_AGENT'],'webOS') or strstr($_SERVER['HTTP_USER_AGENT'],'BlackBerry') or strstr($_SERVER['HTTP_USER_AGENT'],'Mobile') or strstr($_SERVER['HTTP_USER_AGENT'],'Opera Mobi')) $mobile_device = 1; else $mobile_device = 0; if (function_exists('aggslashdb')) { $anno = aggslashdb($anno); $id_sessione = aggslashdb($id_sessione); $HOSTNAME = aggslashdb($HOSTNAME); } # fine if (function_exists('aggslashdb')) else { $anno = addslashes($anno); $id_sessione = addslashes($id_sessione); $HOSTNAME = addslashes($HOSTNAME); } # fine else if (function_exists('aggslashdb')) if (!$parole_sost) { function mex ($messaggio,$pagina) { global $lingua_mex; if ($lingua_mex != "ita") { include("./includes/lang/$lingua_mex/$pagina"); } # fine if ($lingua_mex != "ita") elseif ($pagina == "unit.php") include("./includes/unit.php"); return $messaggio; } # fine function mex } # fine if (!$parole_sost) else { function mex ($messaggio,$pagina) { global $lingua_mex; if ($lingua_mex != "ita") { include("./includes/lang/$lingua_mex/$pagina"); } # fine if ($lingua_mex != "ita") elseif ($pagina == "unit.php") include("./includes/unit.php"); if (substr($messaggio,0,4) != 'var_') @include(C_DATI_PATH."/parole_sost.php"); return $messaggio; } # fine function mex } # fine else if (!$parole_sost) function controlla_anno ($anno) { $verificato = "SI"; $verifica_num = preg_replace("/[0-9]/","",$anno); if (strcmp($verifica_num,"")) $verificato = "NO"; if (strlen($anno) != 4) $verificato = "NO"; $prime_cifre =substr ($anno,0,2); if ($prime_cifre != 18 and $prime_cifre != 19 and $prime_cifre != 20 and $prime_cifre != 21) $verificato = "NO"; return $verificato; } # fine function controlla_anno # controllo che l'anno passato a tutte le pagine non sia falso if (controlla_anno($anno) != "SI") $anno = ""; # parametro deve essere positivo o 0 function controlla_num_pos ($num) { $verificato = "SI"; if (!strcmp($num,"")) $verificato = "NO"; $verifica_num = preg_replace("/[0-9]/","",$num); if (strcmp($verifica_num,"")) $verificato = "NO"; return $verificato; } # fine function controlla_num_pos function controlla_num ($num) { $verificato = "SI"; $uno = substr($num,0,1); if ($uno == "-") $num = substr($num,1); $verifica_num = preg_replace("/[0-9]/","",$num); if (strcmp($verifica_num,"")) $verificato = "NO"; return $verificato; } # fine function controlla_num function nome_valuta ($id_utente_valuta = "") { global $tablepersonalizza; if ($id_utente_valuta) $id_utente = $id_utente_valuta; else global $id_utente; $nome_valuta = esegui_query("select * from $tablepersonalizza where idpersonalizza = 'valuta' and idutente = '$id_utente'"); $nome_valuta = risul_query($nome_valuta,0,'valpersonalizza'); return $nome_valuta; } # fine function nome_valuta function stile_data ($id_utente_st = "") { global $tablepersonalizza; if ($id_utente_st) $id_utente = $id_utente_st; else global $id_utente; $stile_data = esegui_query("select * from $tablepersonalizza where idpersonalizza = 'stile_data' and idutente = '$id_utente'"); $stile_data = risul_query($stile_data,0,'valpersonalizza'); return $stile_data; } # fine function stile_data function formatta_data ($data,$stile_data="europa") { $giorno = substr($data,8,2); $mese = substr($data,5,2); $anno = substr($data,0,4); #$formato = "d-m-Y"; #if ($stile_data == 'usa') $formato = "m-d-Y"; #$data_formattata = date ($formato, mktime(0,0,0,$mese,$giorno,$anno)); switch ($stile_data) { case "usa": $data_formattata = $mese."-".$giorno."-".$anno; break; default: $data_formattata = $giorno."-".$mese."-".$anno; } # fine switch ($stile_data) $data_formattata .= substr($data,10); return $data_formattata; } # fine function formatta_data function stile_soldi ($id_utente_st = "") { global $tablepersonalizza; if ($id_utente_st) $id_utente = $id_utente_st; else global $id_utente; $stile_soldi = esegui_query("select * from $tablepersonalizza where idpersonalizza = 'stile_soldi' and idutente = '$id_utente'"); $stile_soldi = risul_query($stile_soldi,0,'valpersonalizza'); return $stile_soldi; } # fine function stile_soldi function punti_in_num ($num,$stile_soldi="europa",$decimali="") { #$uno = substr ($num,0,1); #if ($uno == "-") { $num = substr ($num,1); } #$num = strrev($num); #$num = chunk_split($num,3,"."); #$num = substr ($num,0,-1); #$num = strrev($num); #if ($uno == "-") { $num = "-".$num; } if (!strcmp($decimali,"")) { if (!strstr($num,".") or substr(strstr($num,"."),1) == 0) $decimali = 0; else $decimali = 2; } # fine (!strcmp($decimali,"")) if ($stile_soldi == "usa") $num = number_format((double) $num,$decimali); else $num = number_format((double) $num,$decimali,",","."); return $num; } # fine function punti_in_num function virgola_in_num ($num,$stile_soldi="europa") { if ($stile_soldi == "europa") $num = str_replace(".",",",$num); return $num; } # fine function virgola_in_num function controlla_soldi ($num,$pos="NO") { $verificato = "SI"; $uno = substr ($num,0,1); if ($uno == "-" and $pos == "NO") $num = substr($num,1); #$num = str_replace(",",".",$num); $parti = explode(".",$num); if (count($parti) > 2) $verificato = "NO"; $num = str_replace(".","",$num); $verifica_num = preg_replace("/[0-9]/","",$num); if (strcmp($verifica_num,"")) $verificato = "NO"; return $verificato; } # fine function controlla_soldi function formatta_soldi ($num) { $num = str_replace(",",".",$num); $parti = explode(".",$num); if (count($parti) == 2) { if ($parti[1]) { if (strlen($parti[1]) > 2) { $parti[1] = substr($parti[1],0,2).".".substr($parti[1],2); $parti[1] = round($parti[1]); } # fine if (strlen($parti[1]) > 2) $num = $parti[0].".".$parti[1]; settype ($num,double); } # fine if ($parti[1]) else $num = $parti[0]; } # fine if (count($parti) == 2) return $num; } # fine function formatta_soldi function togli_acapo($stringa) { $stringa = str_replace("\r\n","",$stringa); $stringa = str_replace("\r","",$stringa); $stringa = str_replace("\n","",$stringa); $stringa = str_replace(" ","",$stringa); return $stringa; } # fine function togli_acapo function aggiungi_slash($stringa) { $stringa = str_replace("\\","\\\\",$stringa); $stringa = str_replace("\$","\\\$",$stringa); $stringa = str_replace("\"","\\\"",$stringa); return $stringa; } # fine function aggiungi_slash function strip_magic_slashs ($val) { if (@get_magic_quotes_gpc()) $val = stripslashes($val); return $val; } # fine function strip_magic_slashs function prendi_numero_versione ($tableversioni,$idversioni="idversioni",$num_versione="num_versione") { $versione = esegui_query("select * from $tableversioni where $idversioni = '2'"); if (numlin_query($versione)) { $versione = risul_query($versione,0,$num_versione); $versione = $versione + 1; if ($versione >= 99999990) $versione = 100; esegui_query("update $tableversioni set $num_versione = '$versione' where $idversioni = '2'"); } # fine if (numlin_query($versione)) else { $versione = 100; esegui_query("insert into $tableversioni ($idversioni,$num_versione) values ('2','100') "); } # fine else if (numlin_query($versione)) return $versione; } # fine function prendi_numero_versione #Funzione per controllare le sessioni $id_utente = ""; function controlla_login (&$numconnessione,&$PHPR_TAB_PRE,&$id_sessione,$nome_utente_phpr,$password_phpr,$anno) { if (defined("C_FILE_SCADENZA_ACCOUNT") and C_FILE_SCADENZA_ACCOUNT != "") { $scadenza = trim(@implode("",@file("./".C_FILE_SCADENZA_ACCOUNT))); $adesso = date("YmdHis"); if (!$scadenza or $scadenza < $adesso) { $disattivato = "SI"; if (defined("C_HTML_PRE_LOGIN") and C_HTML_PRE_LOGIN != "") echo C_HTML_PRE_LOGIN; echo "Expired account.
"; if (defined("C_HTML_POST_LOGIN") and C_HTML_POST_LOGIN != "") echo C_HTML_POST_LOGIN; } # fine (!$scadenza or $scadenza < $adesso) } # fine (defined("C_FILE_SCADENZA_ACCOUNT") and C_FILE_SCADENZA_ACCOUNT != "") if (!$disattivato) { global $lingua_mex,$tema,$pag,$ILIKE,$LIKE,$DATETIME,$nome_utente_login,$PHPR_LOG; @include(C_DATI_PATH."/lingua.php"); #@include_once(C_DATI_PATH."/versione.php"); if ($lingua[1] and @is_dir("./includes/lang/".$lingua[1])) $lingua_mex = $lingua[1]; else $lingua_mex = "ita"; $nome_utente_login = ""; if (!is_file(C_DATI_PATH."/abilita_login")) $id_utente = 1; else { if (!$id_sessione) { if ($nome_utente_phpr and $password_phpr) { if (!$numconnessione) { include(C_DATI_PATH."/dati_connessione.php"); include("./includes/funzioni_$PHPR_DB_TYPE.php"); $numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT); } # fine if (!$numconnessione) $nome_utente_phpr = aggslashdb($nome_utente_phpr); $password_phpr = aggslashdb($password_phpr); $tableutenti = $PHPR_TAB_PRE."utenti"; $tablesessioni = $PHPR_TAB_PRE."sessioni"; $tableversioni = $PHPR_TAB_PRE."versioni"; $tabletransazioni = $PHPR_TAB_PRE."transazioni"; $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; $tabelle_lock = array($tableversioni,$tablesessioni,$tabletransazioni); $altre_tab_lock = array($tablepersonalizza,$tableutenti); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $sec_log_sbagliati = 5; $limite_login_sbagliati = date("Y-m-d H:i:s",(time() - $sec_log_sbagliati + (C_DIFF_ORE * 3600))); $ultimo_login_sbagliato = esegui_query("select ultimo_accesso from $tabletransazioni where tipo_transazione = 'err_l' and ultimo_accesso >= '$limite_login_sbagliati'"); if (numlin_query($ultimo_login_sbagliato) > 0) { $mostra_form_login = "SI"; $messaggio_errore .= mex("Dopo un login
errato
si devono attendere","funzioni.php")." $sec_log_sbagliati ".mex("secondi","funzioni.php").".

"; } # fine if (numlin_query($ultimo_login_sbagliato) > 0) else { $num_log_sbagliati = 7; $num_log_avviso = 3; $minuti_durata_sessione = esegui_query("select valpersonalizza_num from $tablepersonalizza where idpersonalizza = 'minuti_durata_sessione' and idutente = '1'"); $minuti_durata_sessione = risul_query($minuti_durata_sessione,0,'valpersonalizza_num'); $limite_transazioni_vecchie = date("Y-m-d H:i:s",(time() - ($minuti_durata_sessione * 60) + (C_DIFF_ORE * 3600))); esegui_query("delete from $tabletransazioni where ultimo_accesso <= '$limite_transazioni_vecchie'"); $login_sbagliati = esegui_query("select tipo_transazione from $tabletransazioni where tipo_transazione = 'err_l' and dati_transazione1 = '$nome_utente_phpr'"); $login_sbagliati = numlin_query($login_sbagliati); if ($login_sbagliati >= $num_log_sbagliati) { $messaggio_errore .= mex("Numero eccesivo di login
errati
negli ultimi","funzioni.php")." $minuti_durata_sessione ".mex("minuti","funzioni.php").".

"; if (defined("C_HTML_POST_LOGIN") and C_HTML_POST_LOGIN != "") $messaggio_errore .= mex("È possibile reimpostare la password dal proprio account di hosting","funzioni.php").".".C_HTML_POST_LOGIN; } # fine if ($login_sbagliati >= $num_log_sbagliati) else { $utente = esegui_query("select * from $tableutenti where nome_utente = '$nome_utente_phpr'"); if (numlin_query($utente) == 1) { $nome_utente_login = risul_query($utente,0,'nome_utente'); $tipo_pass = risul_query($utente,0,'tipo_pass'); $password = risul_query($utente,0,'password'); if ($tipo_pass == "5") { if (C_VERSIONE_ATTUALE > 1.32) { $salt = risul_query($utente,0,'salt'); for ($num1 = 0 ; $num1 < 15 ; $num1++) $password_phpr = md5($password_phpr.substr($salt,0,(20 - $num1))); } # fine if (C_VERSIONE_ATTUALE > 1.32) else $password_phpr = md5($password_phpr); } # fine if ($tipo_pass == "5") # login effettuato con successo if ($password == $password_phpr and $tipo_pass != "n") { $id_utente = risul_query($utente,0,'idutenti'); $adesso = $anno.date("mdHis",(time() + (C_DIFF_ORE * 3600))); $versione_unica = prendi_numero_versione($tableversioni); list($usec, $sec) = explode(' ', microtime()); mt_srand((float) $sec + ((float) $usec * 100000)); $val_casuale = mt_rand(100000,999999); $id_sessione = $adesso.$val_casuale.$versione_unica; $ultimo_accesso = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600))); global $_SERVER,$REMOTE_ADDR,$REMOTE_PORT,$HTTP_USER_AGENT; if ($_SERVER['REMOTE_ADDR']) $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; $REMOTE_ADDR = aggslashdb($REMOTE_ADDR); if ($_SERVER['REMOTE_PORT']) $REMOTE_PORT = $_SERVER['REMOTE_PORT']; $REMOTE_PORT = aggslashdb($REMOTE_PORT); if ($_SERVER['HTTP_USER_AGENT']) $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; $HTTP_USER_AGENT = aggslashdb($HTTP_USER_AGENT); if ($_SERVER['HTTPS'] == "on" or $_SERVER['SERVER_PORT'] == "443") $tipo_conn = "HTTPS"; else $tipo_conn = "HTTP"; if (C_VERSIONE_ATTUALE >= 2.1) esegui_query("insert into $tablesessioni (idsessioni,idutente,indirizzo_ip,tipo_conn,user_agent,ultimo_accesso) values ('$id_sessione','$id_utente','$REMOTE_ADDR','$tipo_conn','$HTTP_USER_AGENT','$ultimo_accesso')","",$id_utente); else esegui_query("insert into $tablesessioni (idsessioni,idutente,indirizzo_ip,user_agent,ultimo_accesso) values ('$id_sessione','$id_utente','$REMOTE_ADDR','$HTTP_USER_AGENT','$ultimo_accesso')","",$id_utente); } # fine if ($password == $password_phpr and $tipo_pass != "n") else $login_fallito = "SI"; } # fine if (numlin_query($utente) == 1) else $login_fallito = "SI"; if ($login_fallito == "SI") { $mostra_form_login = "SI"; $messaggio_errore .= mex("Nome utente o password
errati
","funzioni.php").".
"; if ($login_sbagliati >= ($num_log_sbagliati - $num_log_avviso - 1)) { if (($num_log_sbagliati - $login_sbagliati - 1) > 1) $messaggio_errore .= mex("Mancano solo","funzioni.php")." ".($num_log_sbagliati - $login_sbagliati - 1)." ".mex("tentativi prima del blocco dei login","funzioni.php").".
"; if (($num_log_sbagliati - $login_sbagliati - 1) == 1) $messaggio_errore .= mex("Manca solo","funzioni.php")." 1 ".mex("tentativo prima del blocco dei login","funzioni.php").".
"; } # fine if (numlin_query($utente) == 1) $messaggio_errore .= "
"; $versione_transazione = prendi_numero_versione($tableversioni); $adesso = date("YmdHis",(time() + (C_DIFF_ORE * 3600))); list($usec, $sec) = explode(' ', microtime()); mt_srand((float) $sec + ((float) $usec * 100000)); $val_casuale = mt_rand(100000,999999); $ultimo_accesso = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600))); global $_SERVER,$REMOTE_ADDR; if ($_SERVER['REMOTE_ADDR']) $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; $REMOTE_ADDR = aggslashdb($REMOTE_ADDR); $id_transazione = $adesso.$val_casuale.$versione_transazione; esegui_query("insert into $tabletransazioni (idtransazioni,tipo_transazione,dati_transazione1,dati_transazione2,ultimo_accesso) values ('$id_transazione','err_l','$nome_utente_phpr','$REMOTE_ADDR','$ultimo_accesso')"); } # fine if ($login_fallito == "SI") } # fine else if ($login_sbagliati >= $num_log_sbagliati) } # fine else if (numlin_query($ultimo_login_sbagliato) > 0) unlock_tabelle($tabelle_lock); } # fine if ($nome_utente and $password) else $mostra_form_login = "SI"; } # fine if (!$id_sessione) else { if (!$numconnessione) { include(C_DATI_PATH."/dati_connessione.php"); include("./includes/funzioni_$PHPR_DB_TYPE.php"); $numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT); } # fine if ($numconnessione) $tableutenti = $PHPR_TAB_PRE."utenti"; $tablesessioni = $PHPR_TAB_PRE."sessioni"; $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; $tabelle_lock = array($tableutenti,$tablesessioni); $altre_tab_lock = array($tablepersonalizza); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $minuti_durata_sessione = esegui_query("select valpersonalizza_num from $tablepersonalizza where idpersonalizza = 'minuti_durata_sessione' and idutente = '1'"); $minuti_durata_sessione = risul_query($minuti_durata_sessione,0,'valpersonalizza_num'); $limite_sessioni_vecchie = date("Y-m-d H:i:s",(time() - ($minuti_durata_sessione * 60) + (C_DIFF_ORE * 3600))); esegui_query("delete from $tablesessioni where ultimo_accesso <= '$limite_sessioni_vecchie'"); $ultimo_accesso = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600))); global $_SERVER,$REMOTE_ADDR,$REMOTE_PORT,$HTTP_USER_AGENT; if ($_SERVER['REMOTE_ADDR']) $REMOTE_ADDR = $_SERVER['REMOTE_ADDR']; $REMOTE_ADDR = aggslashdb($REMOTE_ADDR); if ($_SERVER['REMOTE_PORT']) $REMOTE_PORT = $_SERVER['REMOTE_PORT']; $REMOTE_PORT = aggslashdb($REMOTE_PORT); if ($_SERVER['HTTP_USER_AGENT']) $HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT']; $HTTP_USER_AGENT = aggslashdb($HTTP_USER_AGENT); $sessione = esegui_query("select * from $tablesessioni where idsessioni = '$id_sessione'"); if (numlin_query($sessione) == 1) { $indirizzo_ip = risul_query($sessione,0,'indirizzo_ip'); $tipo_conn = @risul_query($sessione,0,'tipo_conn'); $user_agent = risul_query($sessione,0,'user_agent'); if (($indirizzo_ip == $REMOTE_ADDR and $user_agent == $HTTP_USER_AGENT) or ($tipo_conn == "HTTPS" and ($_SERVER['HTTPS'] == "on" or $_SERVER['SERVER_PORT'] == "443"))) { $id_utente_presunto = risul_query($sessione,0,'idutente'); $utente_presente = esegui_query("select nome_utente from $tableutenti where idutenti = '$id_utente_presunto'"); if (numlin_query($utente_presente) == 1) { $nome_utente_login = risul_query($utente_presente,0,'nome_utente'); $id_utente = $id_utente_presunto; esegui_query("update $tablesessioni set ultimo_accesso = '$ultimo_accesso' where idsessioni = '$id_sessione'"); } # fine if (numlin_query($utente_presente) == 1) else $sessione_scaduta = "SI"; } # fine if (($indirizzo_ip == $REMOTE_ADDR and $user_agent == $HTTP_USER_AGENT) or... else $sessione_scaduta = "SI"; } # fine if (numlin_query($sessione) == 1) else $sessione_scaduta = "SI"; unlock_tabelle($tabelle_lock); if ($sessione_scaduta == "SI") { $mostra_form_login = "SI"; $messaggio_errore .= "".mex("Sessione
scaduta
","funzioni.php").".

"; } # fine if ($sessione_scaduta == "SI") } # fine else if (!$id_sessione) if ($messaggio_errore or $mostra_form_login == "SI") { if ($pag == "aggiorna.php") $action = "aggiorna.php"; else { if ((@is_array($_POST) or @is_array($_GET)) and $pag) { $action = $pag; if (@is_array($_POST)) { reset($_POST); for ($num1 = 0 ; $num1 < count($_POST); $num1++) { $key = key($_POST); if ($key != "id_sessione" and $key != "nome_utente_phpr" and $key != "password_phpr" and $key != "pass_cc" and $key != "logout") $input_var_passate .= ""; next($_POST); } # fine for $num1 } # fine if (@is_array($_POST)) if (@is_array($_GET)) { reset($_GET); for ($num1 = 0 ; $num1 < count($_GET); $num1++) { $key = key($_GET); if ($key != "id_sessione" and $key != "nome_utente_phpr" and $key != "password_phpr" and $key != "pass_cc" and $key != "logout") $input_var_passate .= ""; next($_GET); } # fine for $num1 } # fine if (@is_array($_GET)) } # fine if ((@is_array($_POST) or @is_array($_GET)) and $pag) else $action = "inizio.php"; } # fine else if ($pag == "aggiorna.php") $pag = "login"; if (C_NASCONDI_MARCA == "SI") $titolo = "Login"; else $titolo = mex("Login per HotelDruid","funzioni.php"); $show_bar = "NO"; $tema_corr = $tema[1]; if ($tema[1] and $tema[1] != "base" and @is_dir("./themes/".$tema[1]."/php")) include("./themes/".$tema[1]."/php/head.php"); else include("./includes/head.php"); if (!defined('C_URL_LOGO') or C_URL_LOGO == "") echo "
"; else echo "
"; echo $messaggio_errore; } # fine if ($messaggio_errore or $mostra_form_login == "SI") if ($mostra_form_login == "SI") { if (@is_file(C_DATI_PATH."/dati_subordinazione.php")) include(C_DATI_PATH."/dati_subordinazione.php"); if (defined("C_HTML_PRE_LOGIN") and C_HTML_PRE_LOGIN != "") echo C_HTML_PRE_LOGIN; $mess = $titolo; if ($commento_subordinazione) $mess .= " ($commento_subordinazione)"; echo "$mess:
$input_var_passate ".mex("Nome utente","funzioni.php").":
".mex("Password","funzioni.php").":
"; if (defined("C_HTML_POST_LOGIN") and C_HTML_POST_LOGIN != "") echo C_HTML_POST_LOGIN; } # fine if ($mostra_form_login == "SI") if ($messaggio_errore or $mostra_form_login == "SI") { # You are not authorized to remove the following copyright notice. Ask for permission info@digitaldruid.net if (C_MOSTRA_COPYRIGHT != "NO") { echo "
 Website engine code is copyright © by DigitalDruid.Net. HotelDruid is a free software released under the GNU/AGPL.
"; } # fine if (C_MOSTRA_COPYRIGHT != "NO") echo "
"; if ($tema[1] and $tema[1] != "base" and @is_dir("./themes/".$tema[1]."/php")) include("./themes/".$tema[1]."/php/foot.php"); else include("./includes/foot.php"); } # fine if ($messaggio_errore or $mostra_form_login == "SI") if ($id_utente and ($lingua[$id_utente] == "ita" or @is_dir("./includes/lang/".$lingua[$id_utente]))) $lingua_mex = $lingua[$id_utente]; } # fine else if (!is_file(C_DATI_PATH."/abilita_login")) if ($id_utente and $tema[$id_utente] != "base" and (!$tema[$id_utente] or !@is_dir("./themes/".$tema[$id_utente]."/php"))) $tema[$id_utente] = "base"; if (C_VERSIONE_ATTUALE < C_PHPR_VERSIONE_NUM and $id_utente and $pag != "aggiorna.php") { if (@is_file(C_DATI_PATH."/dati_connessione.php") or @is_file("./dati/connessione_db.php") or @is_file("./datipermanenti/connessione_db.inc")) { if ($pag == "interconnessioni.php" and $id_utente != 1) { $id_utente_az = esegui_query("select idlocale from $PHPR_TAB_PRE"."interconnessioni where tipoid = 'id_utente_az' "); if (numlin_query($id_utente_az) == 1) $id_utente_azione_ic = risul_query($id_utente_az,0,'idlocale'); } # fine if ($pag == "interconnessioni.php" and $id_utente != 1) if ($id_utente == $id_utente_azione_ic) { include("./includes/funzioni_aggiorna.php"); aggiorna_versione_phpr($numconnessione,$id_utente,$id_sessione,$nome_utente_phpr,$password_phpr,$anno); } # fine if ($id_utente == $id_utente_azione_ic) else { $show_bar = "NO"; if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/".$tema[$id_utente]."/php")) include("./themes/".$tema[$id_utente]."/php/head.php"); else include("./includes/head.php"); echo mex("Il database deve essere aggiornato","funzioni.php").".
"; echo "
"; if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/".$tema[$id_utente]."/php")) include("./themes/".$tema[$id_utente]."/php/foot.php"); else include("./includes/foot.php"); } # fine else if ($id_utente == $id_utente_azione_ic) unset($id_utente); } # fine if (@is_file(C_DATI_PATH."/dati_connessione.php") or... } # fine if (C_VERSIONE_ATTUALE < C_PHPR_VERSIONE_NUM and... return $id_utente; } # fine if (!$disattivato) } # fine function controlla_login function scrivi_file ($linee,$nome_file) { $scrittura_corretta = "SI"; if ($fileaperto = fopen("$nome_file.tmp","w+")) { flock($fileaperto,2); if (!@is_array($linee)) { $linee2 = $linee; unset($linee); $linee[0] = $linee2; unset($linee2); } # fine if (!@is_array($linee)) for ($num1 = 0 ; $num1 < count($linee) ; $num1++) fwrite($fileaperto,$linee[$num1]); flock($fileaperto,3); fclose($fileaperto); $linee2 = @file("$nome_file.tmp"); $num_linee2 = 0; $ultima_linea = ""; for ($num1 = 0 ; $num1 < count($linee) ; $num1++) { $linee[$num1] = str_replace("\r\n","\n",$linee[$num1]); $linee[$num1] = str_replace(" ","\n",$linee[$num1]); $sub_linee = explode("\n",$linee[$num1]); for ($num2 = 0 ; $num2 < count($sub_linee) ; $num2++) { if ($num2 == 0) $sub_linee[$num2] = $ultima_linea.$sub_linee[$num2]; if ($num2 != (count($sub_linee)-1)) { if (togli_acapo($linee2[$num_linee2]) != $sub_linee[$num2]) $scrittura_corretta = "NO"; $num_linee2++; } # fine if ($num2 != (count($sub_linee)-1)) else $ultima_linea = $sub_linee[$num2]; } # fine for $num2 } # fine for $num1 if (togli_acapo($linee2[$num_linee2]) != $ultima_linea) $scrittura_corretta = "NO"; if ($scrittura_corretta != "NO") { @unlink("$nome_file"); if (!rename("$nome_file.tmp","$nome_file")) $scrittura_corretta = "NO"; } # fine if ($scrittura_corretta != "NO") } # fine if ($fileaperto = fopen("$nome_file.tmp","w+")) else $scrittura_corretta = "NO"; if ($scrittura_corretta == "NO") { @unlink("$nome_file.tmp"); echo mex("
ERRORE
di scrittura del file","funzioni.php")." $nome_file.
"; } # fine if ($scrittura_corretta == "NO") return $scrittura_corretta; } # fine function scrivi_file function crea_lock_file ($nome_file) { $filelock = fopen("$nome_file.lock","w+"); flock($filelock,2); return $filelock; } # fine function crea_lock_file function distruggi_lock_file ($filelock,$nome_file) { flock($filelock,3); fclose($filelock); @unlink("$nome_file.lock"); } # fine function distruggi_lock_file function elimina_caratteri_slash ($var) { $var = str_replace ("'","",$var); $var = str_replace ("\\","",$var); $var = str_replace ("\"","",$var); return $var; } # fine function elimina_caratteri_slash function recupera_dati_transazione ($id_transazione,$id_sessione,$anno,$lock_tabletransazioni,&$tipo_transazione,$minuti_durata_sessione="",$cond_sessione="SI",$cond_tipo="NO",$transazioni="transazioni") { global $PHPR_TAB_PRE; $tabletransazioni = $PHPR_TAB_PRE.$transazioni; $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; $tipo_transazione = ""; if ($id_transazione) { $tabelle_lock = array($tabletransazioni); if (!$minuti_durata_sessione) $altre_tab_lock = array($tablepersonalizza); else $altre_tab_lock = array(); if ($lock_tabletransazioni == "SI") $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); if (!$minuti_durata_sessione) { $minuti_durata_sessione = esegui_query("select valpersonalizza_num from $tablepersonalizza where idpersonalizza = 'minuti_durata_sessione' and idutente = '1'"); $minuti_durata_sessione = risul_query($minuti_durata_sessione,0,'valpersonalizza_num'); } # fine if (!$minuti_durata_sessione) $limite_transazioni_vecchie = date("Y-m-d H:i:s",(time() - ($minuti_durata_sessione * 60) + (C_DIFF_ORE * 3600))); if ($cond_tipo != "NO") $cond_tipo = " and tipo_transazione = '$cond_tipo'"; else $cond_tipo = ""; esegui_query("delete from $tabletransazioni where ultimo_accesso <= '$limite_transazioni_vecchie' $cond_tipo"); $id_transazione = aggslashdb($id_transazione); if ($cond_sessione == "SI") $cond_sessione = " and idsessione = '$id_sessione'"; else $cond_sessione = ""; $dati_transazione = esegui_query("select * from $tabletransazioni where idtransazioni = '$id_transazione' $cond_sessione"); if (numlin_query($dati_transazione) == 1) { if ($anno == risul_query($dati_transazione,0,'anno')) { $tipo_transazione = risul_query($dati_transazione,0,'tipo_transazione'); $ultimo_accesso = date("Y-m-d H:i:s",(time() + (C_DIFF_ORE * 3600))); esegui_query("update $tabletransazioni set ultimo_accesso = '$ultimo_accesso' where idtransazioni = '$id_transazione' $cond_sessione"); } # fine if ($anno == risul_query($dati_transazione,0,'anno')) } # fine if (numlin_query($dati_transazione) == 1) if ($lock_tabletransazioni == "SI") unlock_tabelle($tabelle_lock); } # fine if ($id_transazione) return $dati_transazione; } # fine function recupera_dati_transazione # Function che calcola l'id del periodo corrente per le prenotazioni già iniziate ==> fisse function calcola_id_periodo_corrente ($anno,$anticipare="SI") { global $id_utente; global $PHPR_TAB_PRE; $tableperiodi = $PHPR_TAB_PRE."periodi".$anno; if ($anticipare == "SI") { $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; if ($id_utente == "") $id_utente_anticipa_ore = 1; else $id_utente_anticipa_ore = $id_utente; $ore_anticipa_periodo_corrente = esegui_query("select valpersonalizza_num from $tablepersonalizza where idpersonalizza = 'ore_anticipa_periodo_corrente' and idutente = '$id_utente_anticipa_ore'"); $ore_anticipa_periodo_corrente = risul_query($ore_anticipa_periodo_corrente,0,'valpersonalizza_num'); } # fine if ($anticipare == "SI") else $ore_anticipa_periodo_corrente = 0; $oggi = date("Y-m-d",(time() + ($ore_anticipa_periodo_corrente * 3600) + (C_DIFF_ORE * 3600))); $idperiodocorrente = esegui_query("select idperiodi from $tableperiodi where datainizio <= '$oggi' and datafine >= '$oggi' "); $numidperiodocorrente = numlin_query($idperiodocorrente); if ($numidperiodocorrente >= 1) { $num_risposta = 0; if ($numidperiodocorrente == 2) $num_risposta = 1; $idperiodocorrente = risul_query($idperiodocorrente,$num_risposta,'idperiodi'); } # fine if ($numidperiodocorrente >= 1) else { $annocorrente = date("Y",(time() + (C_DIFF_ORE * 3600))); if ($anno < $annocorrente) $idperiodocorrente = 100000; if ($anno >= $annocorrente) $idperiodocorrente = -1; } # fine else if ($numidperiodocorrente >= 1) return $idperiodocorrente; } # fine function calcola_id_periodo_corrente function mostra_menu_date ($file,$name_date_var,$date_selected,$show_blank_option,$blank_selected,$id_utente,$tema,$standalone_dates_menu="",$second_date_selected="",$js="") { global $last_dates_menu,$hide_default_dates,$y_ini_menu,$m_ini_menu,$d_ini_menu,$n_dates_menu,$d_increment,$d_names,$m_names,$dates_options_list,$current_dates_menu,$mos_tut_dat,$modifica_pers,$partial_dates; if ($last_dates_menu != $file) { $y_ini_menu = ""; $m_ini_menu = ""; $d_ini_menu = ""; $n_dates_menu = ""; $d_increment = ""; $partial_dates = 0; if (!$standalone_dates_menu) $current_dates_menu = 1; else $current_dates_menu = 0; if (substr($file,0,(strlen(C_DATI_PATH) + 15)) == C_DATI_PATH."/selperiodimenu" and $mos_tut_dat == "SI" and $modifica_pers != "NO") include(C_DATI_PATH."/selectperiodi".substr($file,(strlen(C_DATI_PATH) + 15))); else include("$file"); } # fine if ($last_dates_menu != $file) else if (!$standalone_dates_menu) $current_dates_menu++; if ($blank_selected) $date_selected = ""; $num_periodi_date = count($d_increment); if (($num_periodi_date > 1 or $d_increment[0] > 1) and $date_selected) { for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) { for ($num2 = 0 ; $num2 < $n_dates_menu[$num1] ; $num2++) { $data_corr = date("Y-m-d",mktime(0,0,0,($m_ini_menu[$num1] + 1),($d_ini_menu[$num1] + ($num2 * $d_increment[$num1])),$y_ini_menu[$num1])); if ($data_corr == $date_selected) break; if ((int) str_replace("-","",$data_corr) > (int) str_replace("-","",$date_selected)) { if (floor($current_dates_menu / 2) == (($current_dates_menu - 1) / 2)) $date_selected = $data_prec; else $date_selected = $data_corr; break; } # fine if ((int) str_replace("-","",$data_corr) > (int) str_replace("-","",$date_selected)) $data_prec = $data_corr; } # fine for $num2 if ($data_corr == $date_selected or $data_prec == $date_selected) break; } # fine for $num1 } # fine if (($num_periodi_date > 1 or $d_increment[0] > 1) and $date_selected) if ($tema[$id_utente] != "base") include("./themes/".$tema[$id_utente]."/php/selectperiod.php"); if (!$hide_default_dates) { if (!$js) $out = ""; if ($show_blank_option) $out .= ""; $out .= str_replace("value=\"$date_selected\">","value=\"$date_selected\" selected>",$dates_options_list); $out .= ""; if (!$js) echo $out; else echo "$js += '".str_replace("\n","\\\n",$out)."'; "; } # fine if (!$hide_default_dates) else unset($dates_options_list); if (substr($file,0,(strlen(C_DATI_PATH) + 15)) == C_DATI_PATH."/selperiodimenu" and floor($current_dates_menu / 2) != (($current_dates_menu - 1) / 2) and $mos_tut_dat != "SI" and $modifica_pers != "NO" and $partial_dates) { if (@is_array($_POST)) reset($_POST); for($num1 = 0 ; $num1 < count($_POST); $num1++) { if (key($_POST) != "mos_tut_dat" and substr(key($_POST),0,8) != "modifica") $lista_var .= "&".htmlspecialchars(key($_POST))."=".htmlspecialchars(strip_magic_slashs($_POST[key($_POST)])); next($_POST); } # fine for $num1 if (@is_array($_GET)) reset($_GET); for($num1 = 0 ; $num1 < count($_GET); $num1++) { if (key($_GET) != "mos_tut_dat" and substr(key($_GET),0,8) != "modifica") $lista_var .= "&".htmlspecialchars(key($_GET))."=".htmlspecialchars(strip_magic_slashs($_GET[key($_GET)])); next($_GET); } # fine for $num1 if ($lista_var) { $lista_var = "?mos_tut_dat=SI".$lista_var; $out = ""; if (!$js) echo $out; else echo "$js += '".str_replace("\n","\\\n",$out)."'; "; } # fine if ($lista_var) } # fine if (substr($file,0,(strlen(C_DATI_PATH) + 15)) == C_DATI_PATH."/selperiodimenu" and floor($current_dates_menu / 2) != (($current_dates_menu - 1) / 2) and... $last_dates_menu = $file; } # fine function mostra_menu_date function allunga_tempo_limite ($n_lim="",$agg_lim="") { if (function_exists('set_time_limit')) { if (!strcmp($n_lim,"")) $n_lim = 420; $lim_att = 30; if (function_exists('ini_get')) { $lim_att = ini_get('max_execution_time'); if (strcmp($agg_lim,"")) $n_lim = $lim_att + $agg_lim; } # fine if (function_exists('ini_get')) if ($lim_att < $n_lim) set_time_limit($n_lim); } # fine if (function_exists('set_time_limit') } # fine function allunga_tempo_limite function http_keep_alive ($car=" ") { echo $car; flush(); if (function_exists('ob_flush')) ob_flush(); } # fine function http_keep_alive /* function aggiorna_interconnessioni ($nome_funz1,$nome_funz2,$anno,$PHPR_TAB_PRE,$lock) { $file_interconnessioni = C_DATI_PATH."/dati_interconnessioni.php"; if (@is_file($file_interconnessioni)) { include($file_interconnessioni); if (@is_array($ic_present)) { $interconn_dir = opendir("./includes/interconnect/"); while ($mod_ext = readdir($interconn_dir)) { if ($mod_ext != "." and $mod_ext != ".." and @is_dir("./includes/interconnect/$mod_ext")) { include("./includes/interconnect/$mod_ext/name.php"); if ($ic_present[$interconnection_name] == "SI") { $funz_agg_interconn = $nome_funz1.$interconnection_name; if (!function_exists($funz_agg_interconn)) include("./includes/interconnect/$mod_ext/functions.php"); $funz_agg_interconn($file_interconnessioni,$anno,$PHPR_TAB_PRE,$lock); if ($nome_funz2) { $funz_agg_interconn = $nome_funz2.$interconnection_name; $funz_agg_interconn($file_interconnessioni,$anno,$PHPR_TAB_PRE,$lock); } # fine if ($nome_funz2) } # fine if ($ic_present[$interconnection_name] == "SI") } # fine if ($modello_ext != "." and $modello_ext != ".." and... } # fine while ($mod_ext = readdir($interconn_dir)) closedir($interconn_dir); } # fine if (@is_array($ic_present)) } # fine if (@is_file($file_interconnessioni)) } # fine function aggiorna_interconnessioni */ ########################################### ### FINE ./includes/funzioni.php ########################################### ########################################### ### INIZIO ./dati/versione.php ########################################### define(C_VERSIONE_ATTUALE,2.21); define(C_DIFF_ORE,0); ########################################### ### FINE ./dati/versione.php ########################################### ########################################### ### INIZIO ./includes/funzioni_testo.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2016 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## function num_caratteri_testo ($testo) { return strlen(utf8_decode($testo)); } # fine function num_caratteri_testo function tronca_testo ($testo,$inizio,$lunghezza = "NO") { $num_caratteri = 0; $num_byte = strlen($testo); for ($num1 = 0 ; $num1 < $num_byte ; $num1++) { $num_caratteri++; $byte_car = 1; $byte = ord($testo[$num1]); if ($byte & 128) { $byte = $byte << 1; while ($byte & 128) { $num1++; $byte_car++; $byte = $byte << 1; } # fine while ($byte & 128) } # fine if ($byte & 128) $num_byte_car[$num_caratteri] = $byte_car; } # fine for $num1 $n_ini = 0; while ($inizio < 0) $inizio = $num_caratteri + $inizio; for ($num1 = 1 ; $num1 <= $inizio ; $num1++) $n_ini = $n_ini + $num_byte_car[$num1]; if ($lunghezza == "NO") $testo = substr($testo,$n_ini); else { $n_lun = 0; if ($lunghezza < 0) { $lunghezza = $num_caratteri + $lunghezza - $inizio; if ($lunghezza < 0) $lunghezza = 0; } # fine if ($lunghezza < 0) for ($num1 = ($inizio + 1) ; $num1 <= ($inizio + $lunghezza) ; $num1++) $n_lun = $n_lun + $num_byte_car[$num1]; $testo = substr($testo,$n_ini,$n_lun); } # fine else if ($lunghezza == "NO") return $testo; } # fine function tronca_testo function trova_prima_data ($testo,$stile_data,$lingua,&$lung_resto) { global $lingua_mex; $prima_data = ""; $lung_prima_data = strlen($testo); $lung_resto = ""; if (preg_match("|[^0-9][0-9]{1,2}[-/ ][0-9]{1,2}[-/ ][0-9]{4,4}[^0-9]|",$testo)) { $prima_data_vett = preg_split("|[0-9]{1,2}[-/ ][0-9]{1,2}[-/ ][0-9]{4,4}|",$testo); $lung_prima_data_corr = strlen($prima_data_vett[0]); if ($lung_prima_data_corr < $lung_prima_data) { $lung_prima_data = $lung_prima_data_corr; $prima_data = substr($testo,$lung_prima_data); if ($prima_data_vett[1]) { $prima_data = explode($prima_data_vett[1],$prima_data); $prima_data = $prima_data[0]; } # fine if ($prima_data_vett[1]) $lung_resto = (int) $lung_prima_data + strlen($prima_data); $prima_data_corr = preg_split("|[-/ ]|",$prima_data); if (strlen($prima_data_corr[0]) < 2) $prima_data_corr[0] = "0".$prima_data_corr[0]; if (strlen($prima_data_corr[1]) < 2) $prima_data_corr[1] = "0".$prima_data_corr[1]; if ((integer) $prima_data_corr[0] > 12) $prima_data = $prima_data_corr[2]."-".$prima_data_corr[1]."-".$prima_data_corr[0]; else { if ((integer) $prima_data_corr[1] > 12) $prima_data = $prima_data_corr[2]."-".$prima_data_corr[0]."-".$prima_data_corr[1]; else { if ($stile_data == "usa") $prima_data = $prima_data_corr[2]."-".$prima_data_corr[0]."-".$prima_data_corr[1]; else $prima_data = $prima_data_corr[2]."-".$prima_data_corr[1]."-".$prima_data_corr[0]; } # fine else if ($prima_data_corr[1] > 12) } # fine else if ($prima_data_corr[0] > 12) } # fine if ($lung_prima_data_corr < $lung_prima_data) } # fine if (preg_match("|[^0-9][0-9]{1,2}[-/ ][0-9]{1,2}[-/ ][0-9]{4,4}|",$testo)) if (preg_match("|[^0-9][0-9]{4,4}[-/ ][0-9]{1,2}[-/ ][0-9]{1,2}[^0-9]|",$testo)) { $prima_data_vett = preg_split("|[0-9]{4,4}[-/ ][0-9]{1,2}[-/ ][0-9]{1,2}|",$testo); $lung_prima_data_corr = strlen($prima_data_vett[0]); if ($lung_prima_data_corr < $lung_prima_data) { $lung_prima_data = $lung_prima_data_corr; $prima_data = substr($testo,$lung_prima_data); if ($prima_data_vett[1]) { $prima_data = explode($prima_data_vett[1],$prima_data); $prima_data = $prima_data[0]; } # fine if ($prima_data_vett[1]) $lung_resto = (int) $lung_prima_data + strlen($prima_data); $prima_data_corr = preg_split("|[-/ ]|",$prima_data); if (strlen($prima_data_corr[1]) < 2) $prima_data_corr[1] = "0".$prima_data_corr[1]; if (strlen($prima_data_corr[2]) < 2) $prima_data_corr[2] = "0".$prima_data_corr[2]; $prima_data = $prima_data_corr[0]."-".$prima_data_corr[1]."-".$prima_data_corr[2]; } # fine if ($lung_prima_data_corr < $lung_prima_data) } # fine if (preg_match("|[^0-9][0-9]{4,4}[-/ ][0-9]{1,2}[-/ ][0-9]{1,2}[^0-9]|",$testo)) $lingua_orig = $lingua_mex; $lingua_mex = $lingua; $Gen = strtolower(mex("Gen",'giorni_mesi.php')); $Feb = strtolower(mex("Feb",'giorni_mesi.php')); $Mar = strtolower(mex("Mar",'giorni_mesi.php')); $Apr = strtolower(mex("Apr",'giorni_mesi.php')); $Mag = strtolower(mex("Mag",'giorni_mesi.php')); $Giu = strtolower(mex("Giu",'giorni_mesi.php')); $Lug = strtolower(mex("Lug",'giorni_mesi.php')); $Ago = strtolower(mex("Ago",'giorni_mesi.php')); $Set = strtolower(mex("Set",'giorni_mesi.php')); $Ott = strtolower(mex("Ott",'giorni_mesi.php')); $Nov = strtolower(mex("Nov",'giorni_mesi.php')); $Dic = strtolower(mex("Dic",'giorni_mesi.php')); $Gennaio = strtolower(mex("Gennaio",'giorni_mesi.php')); $Febbraio = strtolower(mex("Febbraio",'giorni_mesi.php')); $Marzo = strtolower(mex("Marzo",'giorni_mesi.php')); $Aprile = strtolower(mex("Aprile",'giorni_mesi.php')); $Maggio = strtolower(mex("Maggio",'giorni_mesi.php')); $Giugno = strtolower(mex("Giugno",'giorni_mesi.php')); $Luglio = strtolower(mex("Luglio",'giorni_mesi.php')); $Agosto = strtolower(mex("Agosto",'giorni_mesi.php')); $Settembre = strtolower(mex("Settembre",'giorni_mesi.php')); $Ottobre = strtolower(mex("Ottobre",'giorni_mesi.php')); $Novembre = strtolower(mex("Novembre",'giorni_mesi.php')); $Dicembre = strtolower(mex("Dicembre",'giorni_mesi.php')); $al = strtolower(mex("al",'prenota.php')); $lingua_mex = $lingua_orig; $mesi_alternativi = "$Gen|$Feb|$Mar|$Apr|$Mag|$Giu|$Lug|$Ago|$Set|$Ott|$Nov|$Dic|$Gennaio|$Febbraio|$Marzo|$Aprile|$Maggio|$Giugno|$Luglio|$Agosto|$Settembre|$Ottobre|$Novembre|$Dicembre"; if (preg_match("=[^0-9a-z]($mesi_alternativi)[, -/]+[0-9]{1,2}[, -/]+[0-9]{4,4}[^0-9a-z]=i",$testo)) { $prima_data_vett = preg_split("=($mesi_alternativi)[, -/]+[0-9]{1,2}[, -/]+[0-9]{4,4}=i",$testo); $lung_prima_data_corr = strlen($prima_data_vett[0]); if ($lung_prima_data_corr < $lung_prima_data) { $lung_prima_data = $lung_prima_data_corr; $prima_data = substr($testo,$lung_prima_data); if ($prima_data_vett[1]) { $prima_data = explode($prima_data_vett[1],$prima_data); $prima_data = $prima_data[0]; } # fine if ($prima_data_vett[1]) $lung_resto = (int) $lung_prima_data + strlen($prima_data); $prima_data_corr = preg_split("|[, -/]+|",$prima_data); $mese_corr = strtolower($prima_data_corr[0]); if ($mese_corr == $Gen or $mese_corr == $Gennaio) $mese = "01"; if ($mese_corr == $Feb or $mese_corr == $Febbraio) $mese = "02"; if ($mese_corr == $Mar or $mese_corr == $Marzo) $mese = "03"; if ($mese_corr == $Apr or $mese_corr == $Aprile) $mese = "04"; if ($mese_corr == $Mag or $mese_corr == $Maggio) $mese = "05"; if ($mese_corr == $Giu or $mese_corr == $Giugno) $mese = "06"; if ($mese_corr == $Lug or $mese_corr == $Luglio) $mese = "07"; if ($mese_corr == $Ago or $mese_corr == $Agosto) $mese = "08"; if ($mese_corr == $Set or $mese_corr == $Settembre) $mese = "09"; if ($mese_corr == $Ott or $mese_corr == $Ottobre) $mese = "10"; if ($mese_corr == $Nov or $mese_corr == $Novembre) $mese = "11"; if ($mese_corr == $Dic or $mese_corr == $Dicembre) $mese = "12"; if (strlen($prima_data_corr[1]) < 2) $prima_data_corr[1] = "0".$prima_data_corr[1]; $prima_data = $prima_data_corr[2]."-".$mese."-".$prima_data_corr[1]; } # fine if ($lung_prima_data_corr < $lung_prima_data) } # fine if (preg_match("=[^0-9a-z]($mesi_alternativi)[, -/]+[0-9]{1,2}[, -/]+[0-9]{4,4}[^0-9a-z]=i",$testo)) if (preg_match("=[^0-9a-z][0-9]{1,2}[, -/]+($mesi_alternativi)[, -/]+[0-9]{4,4}[^0-9a-z]=i",$testo)) { $prima_data_vett = preg_split("=[^0-9a-z]{1,1}[0-9]{1,2}[, -/]+($mesi_alternativi)[, -/]+[0-9]{4,4}=i",$testo); $lung_prima_data_corr = (strlen($prima_data_vett[0]) + 1); if ($lung_prima_data_corr < $lung_prima_data) { $lung_prima_data = $lung_prima_data_corr; $prima_data = substr($testo,$lung_prima_data); if ($prima_data_vett[1]) { $prima_data = explode($prima_data_vett[1],$prima_data); $prima_data = $prima_data[0]; } # fine if ($prima_data_vett[1]) $lung_resto = (int) $lung_prima_data + strlen($prima_data); $prima_data_corr = preg_split("|[, -/]+|",$prima_data); # Se le date sono nel formato 19-26 Agosto 2017 o simili $prima_parte = str_replace("\n","",str_replace("\r","",$prima_data_vett[0])); $prima_parte_no_data = preg_replace("= [0-9]{1,2} *(-|$al|/) *$=i"," ",$prima_parte); if ($prima_parte != $prima_parte_no_data) { $lung_prima_data = strlen($prima_parte_no_data); $nuova_data = substr($prima_parte,$lung_prima_data); if (preg_match("/[0-9]{2,2}/",substr($nuova_data,0,2))) $prima_data_corr[0] = substr($nuova_data,0,2); else $prima_data_corr[0] = substr($nuova_data,0,1); $lung_resto = strlen($prima_data_vett[0]); } # fine if ($prima_parte != $prima_parte_no_data) else { # Se le date sono nel formato 26 Agosto - 2 Settempre 2017 o simili $prima_parte_no_data = preg_replace("= [0-9]{1,2} *($mesi_alternativi) *(-|$al|/) *$=i"," ",$prima_parte); if ($prima_parte != $prima_parte_no_data) { $lung_prima_data = strlen($prima_parte_no_data); $nuova_data = substr($prima_parte,$lung_prima_data); if (preg_match("/[0-9]{2,2}/",substr($nuova_data,0,2))) $prima_data_corr[0] = substr($nuova_data,0,2); else $prima_data_corr[0] = substr($nuova_data,0,1); $nuova_data = preg_replace("=^[0-9]{1,2} *=i","",$nuova_data); $prima_parte_no_data = preg_replace("=($mesi_alternativi)=i","",$nuova_data); $prima_data_corr[1] = substr($nuova_data,0,(strlen($prima_parte_no_data) * -1)); $lung_resto = strlen($prima_data_vett[0]); } # fine if ($prima_parte != $prima_parte_no_data) } # fine else if ($prima_parte != $prima_parte_no_data) $mese_corr = strtolower($prima_data_corr[1]); if ($mese_corr == $Gen or $mese_corr == $Gennaio) $mese = "01"; if ($mese_corr == $Feb or $mese_corr == $Febbraio) $mese = "02"; if ($mese_corr == $Mar or $mese_corr == $Marzo) $mese = "03"; if ($mese_corr == $Apr or $mese_corr == $Aprile) $mese = "04"; if ($mese_corr == $Mag or $mese_corr == $Maggio) $mese = "05"; if ($mese_corr == $Giu or $mese_corr == $Giugno) $mese = "06"; if ($mese_corr == $Lug or $mese_corr == $Luglio) $mese = "07"; if ($mese_corr == $Ago or $mese_corr == $Agosto) $mese = "08"; if ($mese_corr == $Set or $mese_corr == $Settembre) $mese = "09"; if ($mese_corr == $Ott or $mese_corr == $Ottobre) $mese = "10"; if ($mese_corr == $Nov or $mese_corr == $Novembre) $mese = "11"; if ($mese_corr == $Dic or $mese_corr == $Dicembre) $mese = "12"; if (strlen($prima_data_corr[0]) < 2) $prima_data_corr[0] = "0".$prima_data_corr[0]; $prima_data = $prima_data_corr[2]."-".$mese."-".$prima_data_corr[0]; } # fine if ($lung_prima_data_corr < $lung_prima_data) } # fine if (preg_match("=[^0-9a-z][0-9]{1,2}[, -/]+($mesi_alternativi)[, -/]+[0-9]{4,4}[^0-9a-z]=i",$testo)) return $prima_data; } # fine function trova_prima_data function trova_numero_vicino ($testo,$parola) { $numero = 0; $dist_dopo = 0; $dist_prima = 0; $testo_vett = preg_split("/$parola"."[^0-9a-z]/i",$testo); if ($testo_vett[1]) { $testo_vett[1] = " ".$testo_vett[1]; # Numero dopo la parola cercata $num = preg_split("/[^0-9a-z][0-9]{1,2}[^0-9a-z]/i",substr($testo_vett[1],0,16)); if (count($num) > 1) { $dist_dopo = (strlen($num[0]) + 1); $numero = substr($testo_vett[1],$dist_dopo,1); if (preg_match("/[0-9]/",substr($testo_vett[1],($dist_dopo + 1),1))) $numero .= substr($testo_vett[1],($dist_dopo + 1),1); } # fine if (count($num) > 1) # Numero prima della parola cercata $num = preg_split("/[^0-9a-z][0-9]{1,2}[^0-9a-z]/i",substr($testo_vett[0],-16)); if (count($num) > 1) { $dist_prima = (strlen($num[(count($num) - 1)]) + 1); if (!$numero or $dist_prima < $dist_dopo) { $numero = substr($testo_vett[0],(($dist_prima * -1) - 1),1); if (preg_match("/[0-9]/",substr($testo_vett[0],(($dist_prima * -1) - 2),1))) $numero = substr($testo_vett[0],(($dist_prima * -1) - 2),1).$numero; } # fine if (!$numero or $dist_prima < $dist_dopo) } # fine if (count($num) > 1) } # fine if ($testo_vett[1]) return $numero; } # fine function trova_numero_vicino ########################################### ### FINE ./includes/funzioni_testo.php ########################################### ########################################### ### INIZIO ./includes/funzioni_tariffe.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2017 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## function dati_tariffe ($tablenometariffe,$tariffa_sel="",$tablepersonalizza="",$tableregole="") { $righe_tariffe = esegui_query("select * from $tablenometariffe where idntariffe < '11' order by idntariffe"); $dati_tariffe['num'] = risul_query($righe_tariffe,0,'nomecostoagg'); for ($num1 = 1 ; $num1 <= $dati_tariffe['num'] ; $num1++) { if (!$tariffa_sel or $tariffa_sel == $num1) { $dati_tariffe['tariffa'.$num1]['nome'] = risul_query($righe_tariffe,0,'tariffa'.$num1); $dati_tariffe['tariffa'.$num1]['caparra_percent'] = risul_query($righe_tariffe,1,'tariffa'.$num1); $dati_tariffe['tariffa'.$num1]['caparra_arrotond'] = risul_query($righe_tariffe,2,'tariffa'.$num1); $dati_tariffe['tariffa'.$num1]['moltiplica'] = risul_query($righe_tariffe,3,'tariffa'.$num1); $dati_tariffe['tariffa'.$num1]['tasse_percent'] = risul_query($righe_tariffe,4,'tariffa'.$num1); $dati_tariffe['tariffa'.$num1]['imp_prezzi_int'] = risul_query($righe_tariffe,5,'tariffa'.$num1); if ($dati_tariffe['tariffa'.$num1]['imp_prezzi_int']) { $importa_prezzi_per = explode(">",$dati_tariffe['tariffa'.$num1]['imp_prezzi_int']); $dati_tariffe['tariffa'.$num1]['num_per_importa'] = count($importa_prezzi_per); for ($num2 = 0 ; $num2 < $dati_tariffe['tariffa'.$num1]['num_per_importa'] ; $num2++) { $importa_prezzi = explode(";",$importa_prezzi_per[$num2]); $dati_tariffe['tariffa'.$num1]['importa_prezzi'][$num2] = $importa_prezzi[0]; $dati_tariffe['tariffa'.$num1]['parte_prezzo'][$num2] = $importa_prezzi[1]; $dati_tariffe['tariffa'.$num1]['tipo_importa'][$num2] = $importa_prezzi[2]; $dati_tariffe['tariffa'.$num1]['val_importa'][$num2] = $importa_prezzi[3]; if ($importa_prezzi[2] == "p") $dati_tariffe['tariffa'.$num1]['arrotond_importa'][$num2] = $importa_prezzi[4]; if ($importa_prezzi[5]) { $per_imp = explode("-",$importa_prezzi[5]); $dati_tariffe['tariffa'.$num1]['periodo_importa_i'][$num2] = $per_imp[0]; $dati_tariffe['tariffa'.$num1]['periodo_importa_f'][$num2] = $per_imp[1]; } # fine if ($importa_prezzi[5]) if (!strstr(",".$dati_tariffe['tariffa'.$importa_prezzi[0]]['esporta_prezzi'],",$num1,")) $dati_tariffe['tariffa'.$importa_prezzi[0]]['esporta_prezzi'] .= "$num1,"; } # fine for $num2 } # fine if ($dati_tariffe['tariffa'.$num1]['imp_prezzi_int']) } # fine if (!$tariffa_sel or $tariffa_sel == $num1) } # fine for $num1 if ($tableregole) { $regole = esegui_query("select * from $tableregole where (tariffa_commissioni is not NULL) or (tariffa_chiusa != '' and tariffa_chiusa is not NULL) order by iddatainizio "); $num_regole = numlin_query($regole); for ($num1 = 0 ; $num1 < $num_regole ; $num1++) { $tariffa_commissioni = risul_query($regole,$num1,'tariffa_commissioni'); if (strcmp($tariffa_commissioni,"") and (!$tariffa_sel or $tariffa_sel == $tariffa_commissioni)) { $comm_percent = risul_query($regole,$num1,'motivazione'); $comm_base = "t"; if (substr($comm_percent,0,1) == "s" or substr($comm_percent,0,1) == "c") { $comm_base = substr($comm_percent,0,1); $comm_percent = substr($comm_percent,1); } # fine if (substr($comm_percent,0,1) == "s" or substr($comm_percent,0,1) == "c") $iddataini = risul_query($regole,$num1,'iddatainizio'); if (!$iddataini) { $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_percent']['def'] = $comm_percent; $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_base']['def'] = $comm_base; $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_arrotond']['def'] = risul_query($regole,$num1,'motivazione2'); } # fine if (!$iddataini) else { $iddatafin = risul_query($regole,$num1,'iddatafine'); $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_percent']["$iddataini-$iddatafin"] = $comm_percent; $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_base']["$iddataini-$iddatafin"] = $comm_base; $dati_tariffe['tariffa'.$tariffa_commissioni]['commissioni_arrotond']["$iddataini-$iddatafin"] = risul_query($regole,$num1,'motivazione2'); } # fine else if (!$iddataini) } # fine if (strcmp($tariffa_commissioni,"") and (!$tariffa_sel or... $tariffa_chiusa = risul_query($regole,$num1,'tariffa_chiusa'); if ($tariffa_chiusa and (!$tariffa_sel or $tariffa_sel == substr($tariffa_chiusa,7))) { $iddataini = risul_query($regole,$num1,'iddatainizio'); $iddatafine = risul_query($regole,$num1,'iddatafine'); for ($num2 = $iddataini ; $num2 <= $iddatafine ; $num2++) $dati_tariffe[$tariffa_chiusa]['chiusa'][$num2] = 1; } # fine if ($tariffa_chiusa and (!$tariffa_sel or... } # fine for $num1 } # fine if ($tableregole) if ($tablepersonalizza) { global $id_utente; if ($id_utente) $id_utente_pers = $id_utente; else $id_utente_pers = 1; $arrotond_tasse = esegui_query("select * from $tablepersonalizza where idpersonalizza = 'arrotond_tasse' and idutente = '$id_utente_pers'"); $dati_tariffe['tasse_arrotond'] = (double) risul_query($arrotond_tasse,0,'valpersonalizza'); } # fine if ($tablepersonalizza) return $dati_tariffe; } # fine function dati_tariffe function dati_regole2 (&$dati_r2,&$app_regola2_predef,$tipotariffa,$idinizioperiodo,$idfineperiodo,&$id_periodo_corrente,$tipo_periodi,$anno,$tableregole) { if (!is_array($dati_r2)) { $regole2 = esegui_query("select * from $tableregole where tariffa_per_app != ''"); $dati_r2['num'] = numlin_query($regole2); for ($num1 = 0 ; $num1 < $dati_r2['num'] ; $num1++) { $tariffa_r2 = risul_query($regole2,$num1,'tariffa_per_app'); $dati_r2[$tariffa_r2] = risul_query($regole2,$num1,'motivazione'); $dati_r2['l2'][$tariffa_r2] = risul_query($regole2,$num1,'motivazione2'); if (strcmp($dati_r2['l2'][$tariffa_r2],"")) { $dati_r2['dini'][$tariffa_r2] = risul_query($regole2,$num1,'iddatainizio'); if (!$dati_r2['dini'][$tariffa_r2]) $dati_r2['dfine'][$tariffa_r2] = risul_query($regole2,$num1,'iddatafine'); } # fine if (strcmp($dati_r2['l2'][$tariffa_r2],"")) $napp = risul_query($regole2,$num1,'motivazione3'); if ($napp) { if (substr($napp,0,1) == "v") { $napp = substr($napp,1); $dati_r2['napp']['v'][$tariffa_r2] = 1; } # fine if (substr($napp,0,1) == "v") $dati_r2['napp'][$tariffa_r2] = $napp; } # fine if ($napp) } # fine for $num1 } # fine if (!is_array($dati_r2)) $app_regola2_predef = ""; if ($tipotariffa) { $lista_app = $dati_r2[$tipotariffa]; if (strcmp($dati_r2['l2'][$tipotariffa],"")) { if (!$id_periodo_corrente) $id_periodo_corrente = calcola_id_periodo_corrente($anno); $ngiorni_reg2b = $dati_r2['dini'][$tipotariffa]; if ($ngiorni_reg2b) $diff_giorni = $idinizioperiodo - $id_periodo_corrente + 1; else { $ngiorni_reg2b = $dati_r2['dfine'][$tipotariffa]; $diff_giorni = $idfineperiodo - $id_periodo_corrente + 1; } # fine else if ($ngiorni_reg2b) if ($tipo_periodi == "s") $diff_giorni = $diff_giorni * 7; if ($diff_giorni < $ngiorni_reg2b) { $app_regola2_predef = $dati_r2[$tipotariffa]; $lista_app = $dati_r2['l2'][$tipotariffa]; } # fine if ($diff_giorni < $ngiorni_reg2b) } # fine if (strcmp($dati_r2['l2'][$tipotariffa],"")) return $lista_app; } # fine if ($tipotariffa) } # fine function dati_regole2 function calcola_commissioni ($dati_tariffe,$tipotariffa,$iddataini,$iddatafine,$tariffesettimanali,$sconto,$prezzo_costi_tot) { $commissioni = (double) 0; if (@is_array($dati_tariffe[$tipotariffa]['commissioni_percent'])) { $costo_tariffa_corr = (double) 0; $num_sett = 0; $numsett = 0; $tariffesettimanali = explode(";",$tariffesettimanali); $tariffesettimanali = explode(",",$tariffesettimanali[0]); $agg_sett_sconto = round((((double) $sconto * -1) / ($iddatafine - $iddataini + 1)),2); $agg_sett_costi = round(((((double) $sconto * -1) + (double) $prezzo_costi_tot) / ($iddatafine - $iddataini + 1)),2); for ($num1 = $iddataini ; $num1 <= $iddatafine ; $num1++) { $costo_tariffa_sett = (double) $tariffesettimanali[$numsett]; $commissioni_percent = $dati_tariffe[$tipotariffa]['commissioni_percent']['def']; $commissioni_arrotond = $dati_tariffe[$tipotariffa]['commissioni_arrotond']['def']; $commissioni_base = $dati_tariffe[$tipotariffa]['commissioni_base']['def']; reset($dati_tariffe[$tipotariffa]['commissioni_percent']); while (list($per_comm,$val_comm) = each($dati_tariffe[$tipotariffa]['commissioni_percent'])) { if ($per_comm != "def") { $ini_comm = explode("-",$per_comm); $fine_comm = $ini_comm[1]; $ini_comm = $ini_comm[0]; if ($num1 >= $ini_comm and $num1 <= $fine_comm) { $commissioni_percent = $val_comm; $commissioni_arrotond = $dati_tariffe[$tipotariffa]['commissioni_arrotond'][$per_comm]; $commissioni_base = $dati_tariffe[$tipotariffa]['commissioni_base'][$per_comm]; break; } # fine if ($num1 >= $ini_comm and $num1 <= $fine_comm) } # fine if ($per_comm != "def") } # fine while (list($per_comm,$val_comm) = each($dati_tariffe[$tariffa]['commissioni_percent'])) if ($num1 != $iddataini and ($ultime_comm_perc != $commissioni_percent or $ultime_comm_arr != $commissioni_arrotond or $ultime_comm_base != $commissioni_base)) { if ($ultime_comm_perc) { if ($ultime_comm_arr == "val") $commissioni_corr = $ultime_comm_perc * $num_sett; else { $costo_base = (double) $costo_tariffa_corr; if ($ultime_comm_base == "s") $costo_base = $costo_base + ((double) $agg_sett_sconto * $num_sett); if ($ultime_comm_base == "c") $costo_base = $costo_base + ((double) $agg_sett_costi * $num_sett); $commissioni_corr = ($costo_base * (double) $ultime_comm_perc) / 100; $commissioni_corr = $commissioni_corr / $ultime_comm_arr; $commissioni_corr = floor(round($commissioni_corr)); $commissioni_corr = $commissioni_corr * $ultime_comm_arr; } # fine else if ($commissioni_arrotond == "val") $commissioni += (double) $commissioni_corr; } # fine if ($ultime_comm_perc) $costo_tariffa_corr = (double) 0; $num_sett = 0; } # fine if ($num1 != $iddataini and ($ultime_comm_perc != $commissioni_percent or... $num_sett++; $ultime_comm_perc = $commissioni_percent; $ultime_comm_arr = $commissioni_arrotond; $ultime_comm_base = $commissioni_base; $costo_tariffa_corr += (double) $tariffesettimanali[$numsett]; $numsett++; } # fine for $num1 if ($ultime_comm_perc) { if ($ultime_comm_arr == "val") $commissioni_corr = $ultime_comm_perc * $num_sett; else { $costo_base = (double) $costo_tariffa_corr; if ($ultime_comm_base == "s") $costo_base = $costo_base + ((double) $agg_sett_sconto * $num_sett); if ($ultime_comm_base == "c") $costo_base = $costo_base + ((double) $agg_sett_costi * $num_sett); $commissioni_corr = ($costo_base * (double) $ultime_comm_perc) / 100; $commissioni_corr = $commissioni_corr / $ultime_comm_arr; $commissioni_corr = floor(round($commissioni_corr)); $commissioni_corr = $commissioni_corr * $ultime_comm_arr; } # fine else if ($commissioni_arrotond == "val") $commissioni += (double) $commissioni_corr; } # fine if ($ultime_comm_perc) } # fine if (@is_array($dati_tariffe[$tipotariffa]['commissioni_percent'])) return $commissioni; } # fine function calcola_commissioni function calcola_caparra ($dati_tariffe,$tipotariffa,$iddataini,$iddatafine,$costo_tariffa,$tariffesettimanali) { $caparra = (double) 0; $caparra_percent = $dati_tariffe[$tipotariffa]['caparra_percent']; if ($caparra_percent) { $caparra_arrotond = $dati_tariffe[$tipotariffa]['caparra_arrotond']; if ($caparra_arrotond == "val") $caparra = $caparra_percent; if ($caparra_arrotond == "gio") { $lunghezza_periodo = ($iddatafine - $iddataini + 1); if ($lunghezza_periodo <= $caparra_percent) $caparra = $costo_tariffa; else { $tariffesettimanali = explode(";",$tariffesettimanali); $tariffesettimanali = explode(",",$tariffesettimanali[0]); for ($num1 = 0 ; $num1 < $caparra_percent ; $num1++) $caparra += (double) $tariffesettimanali[$num1]; } # fine else if ($lunghezza_periodo >= $caparra_percent) } # fine if ($caparra_arrotond == "gio") if ($caparra_arrotond != "val" and $caparra_arrotond != "gio") { $caparra = ($costo_tariffa * (double) $caparra_percent) / 100; $caparra = $caparra / $caparra_arrotond; $caparra = floor($caparra); $caparra = $caparra * $caparra_arrotond; if (!$caparra) { $caparra = $caparra_arrotond; if ($caparra > $costo_tariffa) $caparra = $costo_tariffa; } # fine (!$caparra) } # fine else if ($caparra_arrotond != "val" and $caparra_arrotond != "gio") } # fine if ($caparra_percent) return $caparra; } # fine function calcola_caparra function aggiorna_tariffe_esporta ($dati_tariffe,$tariffa_da,$idperiodo,$prezzoperiodo,$prezzoperiodop,$tableperiodi,&$agg_vett,&$num_agg) { if ($dati_tariffe[$tariffa_da]['esporta_prezzi']) { if (str_replace("-","",$idperiodo) != $idperiodo) { $fine_per = explode("-",$idperiodo); $ini_per = $fine_per[0]; $fine_per = $fine_per[1]; } # fine if (str_replace("-","",$idperiodo) != $idperiodo) else { $ini_per = $idperiodo; $fine_per = $idperiodo; } # fine else if (str_replace("-","",$idperiodo) != $idperiodo) $tar_esporta = explode(",",$dati_tariffe[$tariffa_da]['esporta_prezzi']); for ($num_tar = 0 ; $num_tar < (count($tar_esporta) - 1) ; $num_tar++) { $tariffa = "tariffa".$tar_esporta[$num_tar]; if ($idperiodo == "opztariffa") { $tablenometariffe = $prezzoperiodop; $opztariffa = esegui_query("select * from $tableperiodi where $tariffa"."p is not NULL and $tariffa"."p != '' and $tariffa"."p != '0' "); if (numlin_query($opztariffa)) $opztariffa = "p"; else $opztariffa = "s"; esegui_query("update $tablenometariffe set $tariffa = '$opztariffa' where idntariffe = '4' "); } # fine if ($idperiodo == "opztariffa") else { $num_ord_prec = -1; if (!$agg_vett[$tariffa]) $agg_vett[$tariffa] = array(); for ($num1 = $ini_per ; $num1 <= $fine_per ; $num1++) { $num_ord = 0; for ($num2 = 1 ; $num2 < $dati_tariffe[$tariffa]['num_per_importa'] ; $num2++) { if ("tariffa".$dati_tariffe[$tariffa]['importa_prezzi'][$num2] == $tariffa_da and $dati_tariffe[$tariffa]['periodo_importa_f'][$num2] >= $num1 and $dati_tariffe[$tariffa]['periodo_importa_i'][$num2] <= $num1) { $num_ord = $num2; break; } # fine if ("tariffa".$dati_tariffe[$tariffa]['importa_prezzi'][$num2] == $tariffa_da and... } # fine for $num2 if ($num_ord > 0 or "tariffa".$dati_tariffe[$tariffa]['importa_prezzi'][0] == $tariffa_da) { if ($num_ord != $num_ord_prec) { $importa_percent = (double) $dati_tariffe[$tariffa]['val_importa'][$num_ord]; $importa_arrotond = (double) $dati_tariffe[$tariffa]['arrotond_importa'][$num_ord]; $tipo_percent = $dati_tariffe[$tariffa]['tipo_importa'][$num_ord]; if ($tipo_percent == "s" and !$agg_vett[$tariffa][$num_ord]) { $agg_int = floor($importa_percent); $resto_int = $importa_percent - (double) $agg_int; $agg_gio = floor($agg_int / 7); for ($num2 = 1 ; $num2 <= 7 ; $num2++) $agg_vett[$tariffa][$num_ord][$num2] = $agg_gio; $resto = $agg_int - ($agg_gio * 7); if ($resto >= 1) { $agg_vett[$tariffa][$num_ord][1]++; $resto--; } # fine if ($resto >= 1) for ($num2 = 7 ; $num2 > (7 - $resto) ; $num2--) $agg_vett[$tariffa][$num_ord][$num2]++; $agg_vett[$tariffa][$num_ord][1] += $resto_int; $num_agg[$tariffa][$num_ord]['s'] = 0; $num_agg[$tariffa][$num_ord]['p'] = 0; } # fine if ($tipo_percent == "s" and !$agg_vett[$tariffa][$num_ord]) if ($tipo_percent == "g") $perc = $importa_percent; } # fine if ($num_ord != $num_ord_prec) if ((string) $prezzoperiodo != "NO") { if ($tipo_percent == "s") { $num_agg[$tariffa][$num_ord]['s']++; $perc = $agg_vett[$tariffa][$num_ord][$num_agg[$tariffa][$num_ord]['s']]; if ($num_agg[$tariffa][$num_ord]['s'] == 7) $num_agg[$tariffa][$num_ord]['s'] = 0; } # fine if ($tipo_percent == "s") $prezzo_a = (double) $prezzoperiodo; if ($dati_tariffe[$tariffa]['parte_prezzo'][$num_ord] != "p") { if ($tipo_percent == "p") $perc = (double) (($prezzo_a / 100.0) * $importa_percent); if ($perc) { if ($tipo_percent == "p") $perc = (round(($perc / $importa_arrotond),0) * $importa_arrotond); $prezzo_a = $prezzo_a + $perc; } # fine if ($perc) } # fine if ($dati_tariffe[$tariffa]['parte_prezzo'][$num_ord] != "p") if ($prezzo_a) esegui_query("update $tableperiodi set $tariffa = '$prezzo_a' where idperiodi = '$num1'"); else esegui_query("update $tableperiodi set $tariffa = NULL where idperiodi = '$num1'"); } # fine if ((string) $prezzoperiodo != "NO") if ((string) $prezzoperiodop != "NO") { if ($tipo_percent == "s") { $num_agg[$tariffa][$num_ord]['p']++; $perc = $agg_vett[$tariffa][$num_ord][$num_agg[$tariffa][$num_ord]['p']]; if ($num_agg[$tariffa][$num_ord]['p'] == 7) $num_agg[$tariffa][$num_ord]['p'] = 0; } # fine if ($tipo_percent == "s") $prezzo_a_p = (double) $prezzoperiodop; if ($dati_tariffe[$tariffa]['parte_prezzo'][$num_ord] != "f") { if ($tipo_percent == "p") $perc = (double) (($prezzo_a_p / 100.0) * $importa_percent); if ($perc) { if ($tipo_percent == "p") $perc = (round(($perc / $importa_arrotond),0) * $importa_arrotond); $prezzo_a_p = $prezzo_a_p + $perc; } # fine if ($perc) } # fine if ($dati_tariffe[$tariffa]['parte_prezzo'][$num_ord] != "f") if ($prezzo_a_p) esegui_query("update $tableperiodi set $tariffa"."p = '$prezzo_a_p' where idperiodi = '$num1'"); else esegui_query("update $tableperiodi set $tariffa"."p = NULL where idperiodi = '$num1'"); } # fine if ((string) $prezzoperiodop != "NO") $num_ord_prec = $num_ord; } # fine if ($num_ord > 0 or "tariffa".$dati_tariffe[$tariffa]['importa_prezzi'][0] == $tariffa_da) } # fine for $num1 } # fine else if ($idperiodo == "opztariffa") } # fine for $num_tar } # fine if ($dati_tariffe[$tipotariffa]['esporta_prezzi']) } # fine function aggiorna_tariffe_esporta ########################################### ### FINE ./includes/funzioni_tariffe.php ########################################### ########################################### ### INIZIO ./includes/funzioni_costi_agg.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2017 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## function dati_costi_agg_ntariffe ($tablenometariffe,$num_tariffe,$solo_visibili="NO",$ordine_imposto="",$tableappartamenti="") { global $LIKE; if ($num_tariffe == "NO") $num_tariffe = 0; else { if (!$num_tariffe) { $num_tariffe = esegui_query("select nomecostoagg from $tablenometariffe where idntariffe = 1 "); $num_tariffe = risul_query($num_tariffe,0,'nomecostoagg'); } # fine if (!$num_tariffe) } # fine else if ($num_tariffe == "NO") if ($solo_visibili == "SI") $cond_visibili = " and mostra_ca $LIKE 's%'"; $ordine = "tipo_ca, idntariffe"; if ($ordine_imposto) $ordine = $ordine_imposto; $costi = esegui_query("select * from $tablenometariffe where idntariffe > 10 and nomecostoagg != ''$cond_visibili order by $ordine"); $dati_ca['num'] = numlin_query($costi); for ($num1 = 0 ; $num1 < $dati_ca['num'] ; $num1++) { $dati_ca[$num1]['id'] = risul_query($costi,$num1,'idntariffe'); $dati_ca['id'][$dati_ca[$num1]['id']] = $num1; $dati_ca[$num1]['nome'] = risul_query($costi,$num1,'nomecostoagg'); $dati_ca[$num1]['valore'] = risul_query($costi,$num1,'valore_ca'); $dati_ca[$num1]['tipo'] = risul_query($costi,$num1,'tipo_ca'); $dati_ca[$num1]['tipo_val'] = substr($dati_ca[$num1]['tipo'],1,1); $dati_ca[$num1]['tipo'] = substr($dati_ca[$num1]['tipo'],0,1); if ($dati_ca[$num1]['tipo_val'] != "f") { $dati_ca[$num1]['valore_perc'] = risul_query($costi,$num1,'valore_perc_ca'); $dati_ca[$num1]['arrotonda'] = (double) risul_query($costi,$num1,'arrotonda_ca'); } # fine if ($dati_ca[$num1]['tipo_val'] != "f") $dati_ca[$num1]['tasseperc'] = risul_query($costi,$num1,'tasseperc_ca'); for ($nt = 1 ; $nt <= $num_tariffe ; $nt++) { $dati_ca[$num1]["tariffa".$nt] = risul_query($costi,$num1,"tariffa".$nt); if ($dati_ca[$num1]["tariffa".$nt] != "i") { $dati_ca[$num1]["tipo_associa_tariffa".$nt] = substr($dati_ca[$num1]["tariffa".$nt],0,1); $dati_ca[$num1]["tariffa".$nt] = substr($dati_ca[$num1]["tariffa".$nt],1); } # fine if ($dati_ca[$num1]["tariffa".$nt] != "i") else { $dati_ca[$num1]["tariffa".$nt] = ""; $dati_ca[$num1]["incomp_tariffa".$nt] = "i"; } # fine else if ($dati_ca[$num1]["tariffa".$nt] != "i") } # fine for $nt $dati_ca[$num1]['associasett'] = risul_query($costi,$num1,'associasett_ca'); $numsett = risul_query($costi,$num1,'numsett_ca'); $dati_ca[$num1]['numsett_orig'] = $numsett; $dati_ca[$num1]['numsett'] = substr($numsett,0,1); if ($dati_ca[$num1]['numsett'] == "m") $dati_ca[$num1]['sett_meno_una'] = substr($numsett,1,1); if ($dati_ca[$num1]['numsett'] == "n" or $dati_ca[$num1]['numsett'] == "s") { $sett_prime_seconde = explode(",",substr($numsett,1)); $dati_ca[$num1]['num_sett_prime'] = $sett_prime_seconde[0]; $dati_ca[$num1]['num_sett_seconde'] = $sett_prime_seconde[1]; } # fine if ($dati_ca[$num1]['numsett'] == "n" or $dati_ca[$num1]['numsett'] == "s") if ($dati_ca[$num1]['numsett'] == "g") $dati_ca[$num1]['giornisett'] = substr($numsett,1); $dati_ca[$num1]['mostra'] = risul_query($costi,$num1,'mostra_ca'); $dati_ca[$num1]['raggruppa'] = substr($dati_ca[$num1]['mostra'],1,1); $dati_ca[$num1]['combina'] = substr($dati_ca[$num1]['mostra'],2,1); $dati_ca[$num1]['escludi_tot_perc'] = substr($dati_ca[$num1]['mostra'],3,1); $dati_ca[$num1]['mostra'] = substr($dati_ca[$num1]['mostra'],0,1); $dati_ca[$num1]['moltiplica'] = risul_query($costi,$num1,'moltiplica_ca'); $dati_ca[$num1]['molt_max'] = substr($dati_ca[$num1]['moltiplica'],1,1); $molt_agg = explode(",",substr($dati_ca[$num1]['moltiplica'],2)); $dati_ca[$num1]['molt_agg'] = $molt_agg[0]; $dati_ca[$num1]['molt_max_num'] = $molt_agg[1]; $dati_ca[$num1]['moltiplica'] = substr($dati_ca[$num1]['moltiplica'],0,1); $dati_ca[$num1]['letto'] = risul_query($costi,$num1,'letto_ca'); $dati_ca[$num1]['var_periodip'] = risul_query($costi,$num1,'variazione_ca'); $dati_ca[$num1]['var_percentuale'] = substr($dati_ca[$num1]['var_periodip'],0,1); $dati_ca[$num1]['var_numsett'] = substr($dati_ca[$num1]['var_periodip'],1,1); $dati_ca[$num1]['var_moltiplica'] = substr($dati_ca[$num1]['var_periodip'],2,1); $dati_ca[$num1]['var_tariffea'] = substr($dati_ca[$num1]['var_periodip'],4,1); $dati_ca[$num1]['var_tariffei'] = substr($dati_ca[$num1]['var_periodip'],5,1); $dati_ca[$num1]['var_beniinv'] = substr($dati_ca[$num1]['var_periodip'],6,1); $dati_ca[$num1]['var_appi'] = substr($dati_ca[$num1]['var_periodip'],7,1); $dati_ca[$num1]['var_comb'] = substr($dati_ca[$num1]['var_periodip'],8,1); $dati_ca[$num1]['var_periodip'] = substr($dati_ca[$num1]['var_periodip'],3,1); $dati_ca[$num1]['beniinv_orig'] = risul_query($costi,$num1,'beniinv_ca'); if ($dati_ca[$num1]['beniinv_orig']) { $beniinv_vett = explode(";",$dati_ca[$num1]['beniinv_orig']); $dati_ca[$num1]['tipo_beniinv'] = substr($beniinv_vett[0],0,3); if ($dati_ca[$num1]['tipo_beniinv'] == "mag") $dati_ca[$num1]['mag_beniinv'] = substr($beniinv_vett[0],3); $dati_ca[$num1]['num_beniinv'] = (count($beniinv_vett) - 1); for ($num2 = 0 ; $num2 < $dati_ca[$num1]['num_beniinv'] ; $num2++) { $bene_inv = explode(",",$beniinv_vett[($num2 + 1)]); $dati_ca[$num1]['id_beneinv'][$num2] = $bene_inv[0]; $dati_ca[$num1]['molt_beneinv'][$num2] = $bene_inv[1]; } # fine for $num2 } # fine if ($dati_ca[$num1]['beniinv_orig']) $dati_ca[$num1]['periodipermessi_orig'] = risul_query($costi,$num1,'periodipermessi_ca'); $dati_ca[$num1]['periodipermessi'] = substr($dati_ca[$num1]['periodipermessi_orig'],0,1); if ($dati_ca[$num1]['periodipermessi']) { $sett_periodipermessi = explode(",",substr($dati_ca[$num1]['periodipermessi_orig'],1)); $num_sett_periodipermessi = count($sett_periodipermessi); for ($num2 = 0 ; $num2 < $num_sett_periodipermessi ; $num2++) { $sett_periodipermesso = explode("-",$sett_periodipermessi[$num2]); $dati_ca[$num1]['sett_periodipermessi_ini'][$num2] = $sett_periodipermesso[0]; $dati_ca[$num1]['sett_periodipermessi_fine'][$num2] = $sett_periodipermesso[1]; } # fine for $num2 } # fine if ($dati_ca[$num1][periodipermessi]) $dati_ca[$num1]['appincompatibili'] = risul_query($costi,$num1,'appincompatibili_ca'); if ($dati_ca[$num1]['letto'] == "s" and $tableappartamenti) { if (!$app_letto) { $app_letto = esegui_query("select idappartamenti from $tableappartamenti where letto = '1' "); $num_app_letto = numlin_query($app_letto); } # fine if (!$app_letto) if ($num_app_letto) { $dati_ca[$num1]['var_appi'] = "s"; for ($num2 = 0 ; $num2 < $num_app_letto ; $num2++) { $idapp = risul_query($app_letto,$num2,'idappartamenti'); if (!strstr(",".$dati_ca[$num1]['appincompatibili'].",",",$idapp,")) $dati_ca[$num1]['appincompatibili'] .= ",$idapp"; $dati_ca[$num1]['appincompatibili_letto'] = 1; } # fine for $num2 if (substr($dati_ca[$num1]['appincompatibili'],0,1) == ",") $dati_ca[$num1]['appincompatibili'] = substr($dati_ca[$num1]['appincompatibili'],1); } # fine if ($num_app_letto) } # fine if ($dati_ca[$num1]['letto'] == "s" and $tableappartamenti) $dati_ca[$num1]['categoria'] = risul_query($costi,$num1,'categoria_ca'); $dati_ca[$num1]['numlimite'] = risul_query($costi,$num1,'numlimite_ca'); $regoleassegna_ca = explode(";",risul_query($costi,$num1,'regoleassegna_ca')); $dati_ca[$num1]['assegna_da_ini_prenota'] = $regoleassegna_ca[0]; $dati_ca[$num1]['assegna_con_num_prenota'] = $regoleassegna_ca[1]; } # fine for $num1 return $dati_ca; } # fine function dati_costi_agg_ntariffe function num_costi_in_periodo ($tablecostiprenota,$tableprenota,$id_periodo,$id_costo,$nome_costo,$id_prenota,$tra_anni) { if ($tra_anni) { global $PHPR_TAB_PRE; $tableperiodi_prec = $PHPR_TAB_PRE."periodi".$tra_anni; $tableperiodi_succ = $PHPR_TAB_PRE."periodi".($tra_anni + 1); $data_fine = esegui_query("select datainizio,datafine from $tableperiodi_prec where idperiodi = '$id_periodo'"); $data_inizio = aggslashdb(risul_query($data_fine,0,'datainizio')); $data_fine = aggslashdb(risul_query($data_fine,0,'datafine')); $periodo_succ = esegui_query("select idperiodi from $tableperiodi_succ where datainizio = '$data_inizio' and datafine = '$data_fine'"); if (numlin_query($periodo_succ) == 1) { $id_periodo = risul_query($periodo_succ,0,'idperiodi'); $tableprenota = $PHPR_TAB_PRE."prenota".($tra_anni + 1); $tablecostiprenota = $PHPR_TAB_PRE."costiprenota".($tra_anni + 1); if ($id_prenota) { $prenota_esistente = esegui_query("select idprenota from $tableprenota where iddatainizio = '0' and commento = '$id_prenota'"); if (numlin_query($prenota_esistente) == 1) $id_prenota = risul_query($prenota_esistente,0,'idprenota'); else $id_prenota = ""; } # fine if ($id_prenota) } # fine if (numlin_query($periodo_succ) == 1) } # fine if ($tra_anni) if ($id_prenota) $cond_escludi_prenota = " and $tablecostiprenota.idprenota != '$id_prenota'"; $costi = esegui_query("select distinct $tablecostiprenota.idcostiprenota,$tablecostiprenota.moltiplica,$tablecostiprenota.associasett,$tablecostiprenota.settimane from $tablecostiprenota inner join $tableprenota on $tablecostiprenota.idprenota = $tableprenota.idprenota where $tablecostiprenota.idntariffe = '$id_costo' and $tablecostiprenota.nome = '$nome_costo' and $tableprenota.iddatainizio <= '$id_periodo' and $tableprenota.iddatafine >= '$id_periodo'$cond_escludi_prenota"); $num_costi = numlin_query($costi); $num_costi_orig = $num_costi; for ($num1 = 0 ; $num1 < $num_costi_orig ; $num1++) { $associasett = risul_query($costi,$num1,'associasett',$tablecostiprenota); $settimane_costo = risul_query($costi,$num1,'settimane',$tablecostiprenota); if ($associasett == "s" and str_replace(",$id_periodo,","",$settimane_costo) == $settimane_costo) $num_costi--; else { $moltiplica = risul_query($costi,$num1,'moltiplica',$tablecostiprenota); if ($associasett == "s") { $settimane = explode(",",$settimane_costo); $moltiplica = explode(",",$moltiplica); for ($num2 = 0 ; $num2 < count($settimane) ; $num2++) if ($settimane[$num2] == $id_periodo) $moltiplica = $moltiplica[$num2]; } # fine if ($associasett == "s") if ($moltiplica > 1) $num_costi = $num_costi + $moltiplica - 1; } # fine else if ($associasett == "s" and str_replace("","",$settimane) == $settimane) } # fine for $num1 return $num_costi; } # fine function num_costi_in_periodo function trova_periodo_permesso_costo ($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$num_settimane_costo) { $periodo_costo_trovato = "NO"; if ($dati_ca[$num_costo]['periodipermessi']) { for ($num1 = 0 ; $num1 < count($dati_ca[$num_costo]['sett_periodipermessi_ini']) ; $num1++) { if ($dati_ca[$num_costo]['sett_periodipermessi_ini'][$num1] <= $idinizioperiodo and $dati_ca[$num_costo]['sett_periodipermessi_fine'][$num1] >= $idfineperiodo) $periodo_costo_trovato = "SI"; else { if ($dati_ca[$num_costo]['sett_periodipermessi_ini'][$num1] <= $idfineperiodo and $dati_ca[$num_costo]['sett_periodipermessi_fine'][$num1] >= $idinizioperiodo) { if ($dati_ca[$num_costo]['periodipermessi'] == "u") $periodo_costo_trovato = "SI"; if ($dati_ca[$num_costo]['periodipermessi'] == "p") { if ($dati_ca[$num_costo]['associasett'] == "s" or $dati_ca[$num_costo]['numsett'] != "c") $periodo_costo_trovato = "SI"; else { if ($dati_ca[$num_costo]['sett_periodipermessi_ini'][$num1] > $idinizioperiodo) $periodo_costo_ini = $dati_ca[$num_costo]['sett_periodipermessi_ini'][$num1]; else $periodo_costo_ini = $idinizioperiodo; if ($dati_ca[$num_costo]['sett_periodipermessi_fine'][$num1] < $idfineperiodo) $periodo_costo_fine = $dati_ca[$num_costo]['sett_periodipermessi_fine'][$num1]; else $periodo_costo_ini = $idfineperiodo; if ($num_settimane_costo <= ($periodo_costo_fine - $periodo_costo_ini + 1)) $periodo_costo_trovato = "SI"; } # fine else if ($dati_ca[$num_costo][associasett] == "s" or... } # fine if ($dati_ca[$num_costo][periodipermessi] == "p") } # fine if ($dati_ca[$num_costo][sett_periodipermessi_ini][$num1] <= $idfineperiodo and... } # fine else if ($dati_ca[$num_costo][sett_periodipermessi_ini][$num1] <= $idinizioperiodo and... } # fine for $num1 } # fine if ($dati_ca[$num_costo][periodipermessi]) else $periodo_costo_trovato = "SI"; return $periodo_costo_trovato; } # fine function trova_periodo_permesso_costo function calcola_prezzo_totale_costo ($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica,$costo_tariffa,$lista_tariffe,$costo_prenota_tot,$caparra,$numpersone,$costo_escludi_perc=0) { $prezzo_costo_fisso = (double) $dati_ca[$num_costo]['valore']; if ($dati_ca[$num_costo]['tipo_val'] != "f") $prezzo_costo_perc = (double) $dati_ca[$num_costo]['valore_perc']; else $prezzo_costo_perc = 0; if ($dati_ca[$num_costo]['associasett'] == "s" or $dati_ca[$num_costo]['tipo_val'] == "q" or $dati_ca[$num_costo]['tipo_val'] == "s") { $lista_tariffe = explode(";",$lista_tariffe); $lista_tariffep = $lista_tariffe[1]; $lista_tariffe = explode(",",$lista_tariffe[0]); if ($dati_ca[$num_costo]['tipo_val'] == "q" or $dati_ca[$num_costo]['tipo_val'] == "s") { $costo_tariffap = (double) 0; if ($lista_tariffep) { $lista_tariffep = explode(",",$lista_tariffep); for ($num1 = 0 ; $num1 < count($lista_tariffep) ; $num1++) $costo_tariffap += (double) $lista_tariffep[$num1]; } # fine ($lista_tariffep) else for ($num1 = 0 ; $num1 < count($lista_tariffe) ; $num1++) $lista_tariffep[$num1] = (double) 0; } # fine if ($dati_ca[$num_costo]['tipo_val'] == "q" or $dati_ca[$num_costo]['tipo_val'] == "s") } # fine if ($dati_ca[$num_costo]['associasett'] == "s" or... if ($dati_ca[$num_costo]['tipo'] == "u") { if ($dati_ca[$num_costo]['tipo_val'] == "p") $prezzo_costo_perc = ($costo_tariffa * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "q") $prezzo_costo_perc = (($costo_tariffa - $costo_tariffap) * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "s") { if ($numpersone) $prezzo_costo_perc = (($costo_tariffap / (double) $numpersone) * $prezzo_costo_perc) / 100; else $prezzo_costo_perc = 0; } # fine if ($dati_ca[$num_costo]['tipo_val'] == "s") if ($dati_ca[$num_costo]['tipo_val'] == "t") $prezzo_costo_perc = (($costo_prenota_tot - (double) $costo_escludi_perc) * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "c") $prezzo_costo_perc = ($caparra * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "r") $prezzo_costo_perc = ((($costo_prenota_tot - (double) $costo_escludi_perc) - $caparra) * $prezzo_costo_perc) / 100; } # fine if ($dati_ca[$num_costo]['tipo'] == "u") if ($dati_ca[$num_costo]['tipo'] == "s") { if ($dati_ca[$num_costo]['associasett'] == "s") { $prezzo_costo_fisso_tot = 0; $prezzo_costo_perc_tot = 0; $prezzo_costo_sett = 0; $moltiplica = explode(",",$moltiplica); $num_lista_tariffe = 0; $num_sett = 1; for ($num1 = $idinizioperiodo ; $num1 <= $idfineperiodo ; $num1++) { if (str_replace(",".$num1.",","",$settimane_costo) != $settimane_costo) { $prezzo_costo_fisso_tot = $prezzo_costo_fisso_tot + ($prezzo_costo_fisso * $moltiplica[$num_sett]); if ($dati_ca[$num_costo]['tipo_val'] == "p") $prezzo_costo_sett = ($lista_tariffe[$num_lista_tariffe] * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "q") $prezzo_costo_sett = (($lista_tariffe[$num_lista_tariffe] - $lista_tariffep[$num_lista_tariffe]) * $prezzo_costo_perc) / 100; if ($dati_ca[$num_costo]['tipo_val'] == "s") { if ($numpersone) $prezzo_costo_sett = (($lista_tariffep[$num_lista_tariffe] / (double) $numpersone) * $prezzo_costo_perc) / 100; else $prezzo_costo_sett = 0; } # fine if ($dati_ca[$num_costo]['tipo_val'] == "s") $prezzo_costo_perc_tot = $prezzo_costo_perc_tot + ($prezzo_costo_sett * $moltiplica[$num_sett]); $num_sett++; } # fine if (str_replace(",".$num1.",","",$settimane_costo) != $settimane_costo) $num_lista_tariffe++; } # fine for $num1 $prezzo_costo_fisso = $prezzo_costo_fisso_tot; $prezzo_costo_perc = $prezzo_costo_perc_tot; } # fine if ($dati_ca[$num_costo]['associasett'] == "s") else $prezzo_costo_fisso = $prezzo_costo_fisso * $settimane_costo; } # fine if ($dati_ca[$num_costo][tipo] == "s") if ($dati_ca[$num_costo]['associasett'] != "s") { $prezzo_costo_fisso = $prezzo_costo_fisso * $moltiplica; $prezzo_costo_perc = $prezzo_costo_perc * $moltiplica; } # fine if ($dati_ca[$num_costo]['associasett'] != "s") if ($dati_ca[$num_costo]['tipo_val'] != "f") $prezzo_costo_perc = floor($prezzo_costo_perc / $dati_ca[$num_costo]['arrotonda']) * $dati_ca[$num_costo]['arrotonda']; $prezzo_costo = $prezzo_costo_fisso + $prezzo_costo_perc; return $prezzo_costo; } # fine function calcola_prezzo_totale_costo function calcola_settimane_costo ($tableperiodi,$dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$id_periodi_costo,$numsettimane) { $settimane_costo = ""; if ($dati_ca[$num_costo]['tipo'] == "s") { if ($dati_ca[$num_costo]['associasett'] == "s") { $num_attuale = 0; for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) { $periodo_costo_trovato = "NO"; if ($dati_ca[$num_costo]['periodipermessi'] == "p") { for ($num2 = 0 ; $num2 < count($dati_ca[$num_costo]['sett_periodipermessi_ini']) ; $num2++) { if ($dati_ca[$num_costo]['sett_periodipermessi_ini'][$num2] <= $num1 and $dati_ca[$num_costo]['sett_periodipermessi_fine'][$num2] >= $num1) $periodo_costo_trovato = "SI"; } # fine for $num2 } # fine if ($dati_ca[$num_costo][periodipermessi] == "p") else $periodo_costo_trovato = "SI"; if ($periodo_costo_trovato == "SI") { if ($dati_ca[$num_costo]['numsett'] == "t") $settimane_costo .= ",$num1"; if ($dati_ca[$num_costo]['numsett'] == "m" and (($dati_ca[$num_costo]['sett_meno_una'] == "p" and $num1 != $idinizioperiodo) or ($dati_ca[$num_costo]['sett_meno_una'] == "u" and $num1 != $idfineperiodo)) ) $settimane_costo .= ",$num1"; if ($dati_ca[$num_costo]['numsett'] == "c" and str_replace(",$num1,","",$id_periodi_costo) != $id_periodi_costo) $settimane_costo .= ",$num1"; if ($dati_ca[$num_costo]['numsett'] == "s" or $dati_ca[$num_costo]['numsett'] == "n") { $num_attuale++; if ($num_attuale <= $dati_ca[$num_costo]['num_sett_prime'] and $dati_ca[$num_costo]['numsett'] == "s") $settimane_costo .= ",$num1"; if ($num_attuale > $dati_ca[$num_costo]['num_sett_prime'] and $dati_ca[$num_costo]['numsett'] == "n") $settimane_costo .= ",$num1"; if ($num_attuale == ($dati_ca[$num_costo]['num_sett_prime'] + $dati_ca[$num_costo]['num_sett_seconde'])) $num_attuale = 0; } # fine if ($dati_ca[$num_costo][numsett] == "s" or $dati_ca[$num_costo][numsett] == "n") if ($dati_ca[$num_costo]['numsett'] == "g") { $dataini_gio = esegui_query("select datainizio from $tableperiodi where idperiodi = '$num1'"); $dataini_gio = risul_query($dataini_gio,0,'datainizio'); $giorno = date("w", mktime(0,0,0,substr($dataini_gio,5,2),substr($dataini_gio,8,2),substr($dataini_gio,0,4))); if ($giorno == 0) $giorno = 7; if (str_replace($giorno,"",$dati_ca[$num_costo]['giornisett']) != $dati_ca[$num_costo]['giornisett']) $settimane_costo .= ",$num1"; } # fine if ($dati_ca[$num_costo][numsett] == "g") } # fine if ($periodo_costo_trovato == "SI") } # fine for $num1 if ($settimane_costo) $settimane_costo .= ","; } # fine if ($dati_ca[$num_costo][associasett] == "s") else { if ($dati_ca[$num_costo]['numsett'] == "t") $settimane_costo = $idfineperiodo - $idinizioperiodo + 1; if ($dati_ca[$num_costo]['numsett'] == "m") $settimane_costo = $idfineperiodo - $idinizioperiodo; if ($dati_ca[$num_costo]['numsett'] == "c") $settimane_costo = $numsettimane; } # fine else if ($dati_ca[$num_costo][associasett] == "s") } # fine if ($dati_ca[$num_costo][tipo] == "s") return $settimane_costo; } # fine function calcola_settimane_costo function calcola_moltiplica_costo ($dati_ca,$num_costo,&$moltiplica,$idinizioperiodo,$idfineperiodo,$settimane_costo,$nummoltiplica_ca,$numpersone,$num_letti_agg) { $moltiplica = ""; if (!$dati_ca[$num_costo]['molt_agg']) $dati_ca[$num_costo]['molt_agg'] = 0; if ($dati_ca[$num_costo]['moltiplica'] == "1") $moltiplica = 1; if ($dati_ca[$num_costo]['moltiplica'] == "c") $moltiplica = $nummoltiplica_ca; if ($dati_ca[$num_costo]['moltiplica'] == "p") $moltiplica = $numpersone; if ($dati_ca[$num_costo]['moltiplica'] == "t") { $letti_agg_max = 0; if ($dati_ca[$num_costo]['tipo'] == "s" and $dati_ca[$num_costo]['associasett'] == "s") { for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) { if ($num_letti_agg[$num1] > $letti_agg_max) $letti_agg_max = $num_letti_agg[$num1]; if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) $moltiplica .= ",".max(($numpersone + $num_letti_agg[$num1] + $dati_ca[$num_costo]['molt_agg']),0); } # fine for $num1 $moltiplica .= ","; $moltiplica_max = $numpersone + $letti_agg_max; } # fine if ($dati_ca[$num_costo][tipo] == "s" and $dati_ca[$num_costo]['associasett'] == "s") else { for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) if ($num_letti_agg[$num1] > $letti_agg_max) $letti_agg_max = $num_letti_agg[$num1]; $moltiplica = max(($numpersone + $letti_agg_max + $dati_ca[$num_costo]['molt_agg']),0); $moltiplica_max = $moltiplica; } # fine else if ($dati_ca[$num_costo][tipo] == "s" and $dati_ca[$num_costo]['associasett'] == "s") } # fine if ($dati_ca[$num_costo][moltiplica] == "t") else { $moltiplica = max(($moltiplica + $dati_ca[$num_costo]['molt_agg']),0); $moltiplica_max = $moltiplica; if ($dati_ca[$num_costo]['tipo'] == "s" and $dati_ca[$num_costo]['associasett'] == "s") { $moltiplica = ""; for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) { if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) $moltiplica .= ",$moltiplica_max"; } # fine for $num1 $moltiplica .= ","; } # fine if ($dati_ca[$num_costo]['tipo'] == "s" and $dati_ca[$num_costo]['associasett'] == "s") } # fine else if ($dati_ca[$num_costo]['moltiplica'] == "t") return $moltiplica_max; } # fine function calcola_moltiplica_costo function aggiorna_letti_agg_in_periodi ($dati_ca,$num_costo,&$num_letti_agg,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica,$nummoltiplica_ca,$numpersone) { if ($num_letti_agg['max'] == "") $num_letti_agg['max'] = 0; if ($dati_ca[$num_costo]['letto'] == "s") { if (!$moltiplica) calcola_moltiplica_costo($dati_ca,$num_costo,$moltiplica,$idinizioperiodo,$idfineperiodo,$settimane_costo,$nummoltiplica_ca,$numpersone,""); for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) { if (!$num_letti_agg[$num1]) $num_letti_agg[$num1] = 0; if ($dati_ca[$num_costo]['associasett'] == "s") { if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) { $settimane = explode(",",$settimane_costo); $moltiplica_sett = explode(",",$moltiplica); for ($num2 = 0 ; $num2 < count($settimane) ; $num2++) if ($settimane[$num2] == $num1) $moltiplica_sett = $moltiplica_sett[$num2]; $num_letti_agg[$num1] = $num_letti_agg[$num1] + $moltiplica_sett; } # fine if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) } # fine if ($dati_ca[$num_costo]['associasett'] == "s") else $num_letti_agg[$num1] = $num_letti_agg[$num1] + $moltiplica; if ($num_letti_agg[$num1] > $num_letti_agg['max']) $num_letti_agg['max'] = $num_letti_agg[$num1]; } # fine for $num1 } # fine if ($dati_ca[$num_costo]['letto'] == "s") } # fine function aggiorna_letti_agg_in_periodi function controlla_num_limite_costo ($tablecostiprenota,$tableprenota,$dati_ca,$num_costo,&$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica,$num_limite = "",$tra_anni = "") { $limite_rispettato = "SI"; if ($num_limite == "") $num_limite = $dati_ca[$num_costo]['numlimite']; if ($num_limite) { if ($dati_ca[$num_costo]['idntariffe']) $idcostoagg = $dati_ca[$num_costo]['idntariffe']; else $idcostoagg = $dati_ca[$num_costo]['id']; $num_costi_presenti_copia = $num_costi_presenti; for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) { $sett_attivata = "SI"; if ($dati_ca[$num_costo]['associasett'] == "s" and $settimane_costo == str_replace(",$num1,","",$settimane_costo)) $sett_attivata = "NO"; if ($sett_attivata == "SI") { if ($num_costi_presenti[$idcostoagg][$num1] == "") $num_costi_presenti[$idcostoagg][$num1] = num_costi_in_periodo($tablecostiprenota,$tableprenota,$num1,$idcostoagg,$dati_ca[$num_costo]['nome'],$dati_ca[$num_costo]['idprenota'],$tra_anni); if ($dati_ca[$num_costo]['associasett'] == "s") { if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) { $settimane = explode(",",$settimane_costo); $moltiplica_sett = explode(",",$moltiplica); for ($num2 = 0 ; $num2 < count($settimane) ; $num2++) if ($settimane[$num2] == $num1) $moltiplica_sett = $moltiplica_sett[$num2]; } # fine if ($settimane_costo != str_replace(",$num1,","",$settimane_costo)) } # fine if ($dati_ca[$num_costo]['associasett'] == "s") else $moltiplica_sett = $moltiplica; if ($moltiplica_sett > 1) $num_costi_presenti[$idcostoagg][$num1] = $num_costi_presenti[$idcostoagg][$num1] + $moltiplica_sett; else $num_costi_presenti[$idcostoagg][$num1]++; if ($num_costi_presenti[$idcostoagg][$num1] > $num_limite) $limite_rispettato = "NO"; } # fine if ($sett_attivata == "SI") } # fine for $num1 } # fine if ($num_limite) if ($limite_rispettato == "NO") $num_costi_presenti = $num_costi_presenti_copia; return $limite_rispettato; } # fine function controlla_num_limite_costo function dati_costi_agg_prenota ($tablecostiprenota,$id_prenota) { $costi = esegui_query("select * from $tablecostiprenota where idprenota = '$id_prenota' order by tipo, idcostiprenota"); $dati_cap['num'] = numlin_query($costi); for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) { $dati_cap[$numca]['tipo'] = risul_query($costi,$numca,'tipo'); $dati_cap[$numca]['tipo_val'] = substr($dati_cap[$numca]['tipo'],1,1); $dati_cap[$numca]['tipo'] = substr($dati_cap[$numca]['tipo'],0,1); $dati_cap[$numca]['id'] = risul_query($costi,$numca,'idcostiprenota'); $dati_cap['id'][$dati_cap[$numca]['id']] = $numca; $dati_cap[$numca]['nome'] = risul_query($costi,$numca,'nome'); $dati_cap[$numca]['valore'] = risul_query($costi,$numca,'valore'); if ($dati_cap[$numca]['tipo_val'] != "f") { $dati_cap[$numca]['valore_perc'] = risul_query($costi,$numca,'valore_perc'); $dati_cap[$numca]['arrotonda'] = (double) risul_query($costi,$numca,'arrotonda'); } # fine if ($dati_cap[$numca]['tipo_val'] != "f") $dati_cap[$numca]['tasseperc'] = (double) risul_query($costi,$numca,'tasseperc'); $dati_cap[$numca]['associasett'] = risul_query($costi,$numca,'associasett'); $numsett = risul_query($costi,$numca,'varnumsett'); $dati_cap[$numca]['numsett_orig'] = $numsett; $dati_cap[$numca]['numsett'] = substr($numsett,0,1); if ($dati_cap[$numca]['numsett'] == "m") $dati_cap[$numca]['sett_meno_una'] = substr($numsett,1,1); if ($dati_cap[$numca]['numsett'] == "n" or $dati_cap[$numca]['numsett'] == "s") { $sett_prime_seconde = explode(",",substr($numsett,1)); $dati_cap[$numca]['num_sett_prime'] = $sett_prime_seconde[0]; $dati_cap[$numca]['num_sett_seconde'] = $sett_prime_seconde[1]; } # fine if ($dati_cap[$numca]['numsett'] == "n" or $dati_cap[$numca]['numsett'] == "s") if ($dati_cap[$numca]['numsett'] == "g") $dati_cap[$numca]['giornisett'] = substr($numsett,1); $dati_cap[$numca]['moltiplica'] = risul_query($costi,$numca,'varmoltiplica'); $dati_cap[$numca]['molt_max'] = substr($dati_cap[$numca]['moltiplica'],1,1); $molt_agg = explode(",",substr($dati_cap[$numca]['moltiplica'],2)); $dati_cap[$numca]['molt_agg'] = $molt_agg[0]; $dati_cap[$numca]['molt_max_num'] = $molt_agg[1]; $dati_cap[$numca]['moltiplica'] = substr($dati_cap[$numca]['moltiplica'],0,1); $dati_cap[$numca]['letto'] = risul_query($costi,$numca,'letto'); $dati_cap[$numca]['beniinv_orig'] = risul_query($costi,$numca,'varbeniinv'); if ($dati_cap[$numca]['beniinv_orig']) { $beniinv_vett = explode(";",$dati_cap[$numca]['beniinv_orig']); $dati_cap[$numca]['beniinv_ripeti'] = $beniinv_vett[0]; $dati_cap[$numca]['tipo_beniinv'] = substr($beniinv_vett[1],0,3); if ($dati_cap[$numca]['tipo_beniinv'] == "mag") $dati_cap[$numca]['mag_beniinv'] = substr($beniinv_vett[1],3); $dati_cap[$numca]['num_beniinv'] = (count($beniinv_vett) - 2); for ($num1 = 0 ; $num1 < $dati_cap[$numca]['num_beniinv'] ; $num1++) { $bene_inv = explode(",",$beniinv_vett[($num1 + 2)]); $dati_cap[$numca]['id_beneinv'][$num1] = $bene_inv[0]; $dati_cap[$numca]['molt_beneinv'][$num1] = $bene_inv[1]; } # fine for $num1 } # fine if ($dati_cap[$numca]['beniinv_orig']) $dati_cap[$numca]['periodipermessi_orig'] = risul_query($costi,$numca,'varperiodipermessi'); $dati_cap[$numca]['periodipermessi'] = substr($dati_cap[$numca]['periodipermessi_orig'],0,1); if ($dati_cap[$numca]['periodipermessi']) { $sett_periodipermessi = explode(",",substr($dati_cap[$numca]['periodipermessi_orig'],1)); for ($num1 = 0 ; $num1 < count($sett_periodipermessi) ; $num1++) { $sett_periodipermesso = explode("-",$sett_periodipermessi[$num1]); $dati_cap[$numca]['sett_periodipermessi_ini'][$num1] = $sett_periodipermesso[0]; $dati_cap[$numca]['sett_periodipermessi_fine'][$num1] = $sett_periodipermesso[1]; } # fine for $num1 } # fine if ($dati_cap[$numca]['periodipermessi']) $dati_cap[$numca]['settimane'] = risul_query($costi,$numca,'settimane'); $dati_cap[$numca]['moltiplica_costo'] = risul_query($costi,$numca,'moltiplica'); if ($dati_cap[$numca]['associasett'] == "s") { $sett = explode(",",$dati_cap[$numca]['settimane']); $molt = explode(",",$dati_cap[$numca]['moltiplica_costo']); for ($num1 = 1 ; $num1 < (count($sett) - 1) ; $num1++) $dati_cap[$numca]['moltiplica_costo_sett'][$sett[$num1]] = $molt[$num1]; } # fine if ($dati_cap[$numca]['associasett'] == "s") $dati_cap[$numca]['idntariffe'] = risul_query($costi,$numca,'idntariffe'); $dati_cap[$numca]['appincompatibili'] = risul_query($costi,$numca,'varappincompatibili'); $dati_cap[$numca]['categoria'] = risul_query($costi,$numca,'categoria'); $dati_cap[$numca]['combina'] = risul_query($costi,$numca,'variazione'); $dati_cap[$numca]['escludi_tot_perc'] = substr($dati_cap[$numca]['combina'],1,1); $dati_cap[$numca]['combina'] = substr($dati_cap[$numca]['combina'],0,1); $dati_cap[$numca]['tariffeassociate'] = risul_query($costi,$numca,'vartariffeassociate'); $dati_cap[$numca]['tipo_tariffeassociate'] = substr($dati_cap[$numca]['tariffeassociate'],0,1); $dati_cap[$numca]['tariffeassociate'] = substr($dati_cap[$numca]['tariffeassociate'],1); $incomp_tariffe = risul_query($costi,$numca,'vartariffeincomp'); $incomp_tariffe = explode(",",$incomp_tariffe); for ($num1 = 0 ; $num1 < count($incomp_tariffe) ; $num1++) $dati_cap[$numca]["incomp_tariffa".$incomp_tariffe[$num1]] = "i"; $dati_cap[$numca]['idprenota'] = $id_prenota; $dati_cap[$numca]['datainserimento'] = risul_query($costi,$numca,'datainserimento'); $dati_cap[$numca]['utente_inserimento'] = risul_query($costi,$numca,'utente_inserimento'); } # fine for $numca return $dati_cap; } # fine function dati_costi_agg_prenota function associa_costo_a_tariffa ($dati_ca,$num_costo,$tariffa,$lunghezza_periodo) { if ($dati_ca[$num_costo][$tariffa]) { $associa_costo = "SI"; if (substr($dati_ca[$num_costo][$tariffa],0,1) == "=" and $lunghezza_periodo != substr($dati_ca[$num_costo][$tariffa],1)) $associa_costo = "NO"; if (substr($dati_ca[$num_costo][$tariffa],0,1) == ">" and $lunghezza_periodo < substr($dati_ca[$num_costo][$tariffa],1)) $associa_costo = "NO"; if (substr($dati_ca[$num_costo][$tariffa],0,1) == "<" and $lunghezza_periodo > substr($dati_ca[$num_costo][$tariffa],1)) $associa_costo = "NO"; if (substr($dati_ca[$num_costo][$tariffa],0,1) == "|") { $valminmax = explode("<",substr($dati_ca[$num_costo][$tariffa],1)); if ($lunghezza_periodo < $valminmax[0] or $lunghezza_periodo > $valminmax[1]) $associa_costo = "NO"; } # fine if (substr($dati_ca[$num_costo][$tariffa],0,1) == "|") } # fine if ($dati_ca[$num_costo][$tariffa]) else $associa_costo = "NO"; return $associa_costo; } # fine function associa_costo_a_tariffa function comunica_aggiunta_costo ($dati_ca,$num_costo,$n_prezzo_costo_agg,$stile_soldi,$pag,$Euro,$associasett_ca,$moltiplica,$settimane_costo,$per_la_prenotazione="",$silenzio="") { global $parola_settimane,$parola_settimanale; $val_costoagg_p = punti_in_num($n_prezzo_costo_agg,$stile_soldi); if ($dati_ca[$num_costo]['tipo'] == "u") $mess .= mex("Il costo aggiuntivo unico",$pag); if ($dati_ca[$num_costo]['tipo'] == "s") $mess .= mex("Il costo aggiuntivo $parola_settimanale",$pag); $mess .= " \"".$dati_ca[$num_costo]['nome']."\""; if ($associasett_ca == "s") { if (!@is_array($moltiplica)) $valnummoltiplica_ca = 1; else { $valnummoltiplica_ca = $moltiplica[1]; for ($num2 = 2 ; $num2 < (count($moltiplica) - 1) ; $num2++) if ($moltiplica[$num2] != $valnummoltiplica_ca) $valnummoltiplica_ca = 1; } # fine else if (!@is_array($moltiplica)) } # fine if ($associasett_ca == "s") else $valnummoltiplica_ca = $moltiplica; if ($dati_ca[$num_costo]['tipo'] == "s") { if ($associasett_ca == "n") $numsettimane = $settimane_costo; else { if ($settimane_costo) $numsettimane = count(explode(",",$settimane_costo)) - 2; else $numsettimane = "0"; } # fine else if ($associasett_ca == "n") } # fine if ($dati_ca[$num_costo]['tipo'] == "s") else $numsettimane = ""; if ($valnummoltiplica_ca != 1 or strcmp($numsettimane,"")) $mess .= " ("; if (strcmp($numsettimane,"")) $mess .= "$numsettimane ".mex("$parola_settimane",$pag); if ($valnummoltiplica_ca != 1 and strcmp($numsettimane,"")) $mess .= " "; if ($valnummoltiplica_ca != 1) $mess .= mex("moltiplicato per",$pag)." $valnummoltiplica_ca"; if ($valnummoltiplica_ca != 1 or strcmp($numsettimane,"")) $mess .= ")"; $mess .= " ".mex("verrà aggiunto",$pag)."$per_la_prenotazione: $val_costoagg_p $Euro.
"; if (!$silenzio) echo $mess; else return $mess; } # fine function comunica_aggiunta_costo function calcola_ripetizioni_costo ($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica) { $num_ripetizioni_costo = 0; if ($dati_ca[$num_costo]['tipo'] == "u") $num_ripetizioni_costo = 1; if ($dati_ca[$num_costo]['tipo'] == "s") { if ($dati_ca[$num_costo]['associasett'] == "s") { $num_sett = 1; for ($num1 = $idinizioperiodo ; $num1 <= $idfineperiodo ; $num1++) { if (str_replace(",".$num1.",","",$settimane_costo) != $settimane_costo) { $num_ripetizioni_costo = $num_ripetizioni_costo + $moltiplica[$num_sett]; $num_sett++; } # fine if (str_replace(",".$num1.",","",$settimane_costo) != $settimane_costo) } # fine for $num1 $prezzo_costo = $prezzo_costo_tot; } # fine if ($dati_ca[$num_costo]['associasett'] == "s") else $num_ripetizioni_costo = $settimane_costo; } # fine if ($dati_ca[$num_costo][tipo] == "s") if ($dati_ca[$num_costo]['associasett'] != "s") $num_ripetizioni_costo = $num_ripetizioni_costo * $moltiplica; return $num_ripetizioni_costo; } # fine function calcola_ripetizioni_costo function controlla_beni_inventario_costo ($tablerelinventario,$dati_ca,$num_costo,&$beniinv_presenti,&$num_ripetizioni_costo,$sottrai,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica,$idapp,$beniinv_ripeti="") { $beni_presenti = "SI"; if ($dati_ca[$num_costo]['tipo_beniinv']) { if (!strcmp($num_ripetizioni_costo,"")) $num_ripetizioni_costo = calcola_ripetizioni_costo($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica); if (!strcmp($beniinv_ripeti,"")) $beniinv_ripeti = $dati_ca[$num_costo]['beniinv_ripeti']; if ($beniinv_ripeti) $num_ripetizioni_costo_diff = $num_ripetizioni_costo - $beniinv_ripeti; else $num_ripetizioni_costo_diff = $num_ripetizioni_costo; if ($num_ripetizioni_costo_diff) { $tipo_beniinv = $dati_ca[$num_costo]['tipo_beniinv']; if ($tipo_beniinv == "mag") { $tipo_beniinv .= $dati_ca[$num_costo]['mag_beniinv']; $cond_mag = "idmagazzino = '".$dati_ca[$num_costo]['mag_beniinv']."'"; } # fine if ($tipo_beniinv == "mag") if ($tipo_beniinv == "app") { $tipo_beniinv .= $idapp; $cond_mag = "idappartamento = '$idapp'"; } # fine if ($tipo_beniinv == "app") for ($num1 = 0 ; $num1 < $dati_ca[$num_costo]['num_beniinv'] ; $num1++) { $id_beneinv = $dati_ca[$num_costo]['id_beneinv'][$num1]; if (!strcmp($beniinv_presenti[$tipo_beniinv][$id_beneinv],"")) { $beniinv_presenti[$tipo_beniinv][$id_beneinv] = 0; $bip = esegui_query("select quantita from $tablerelinventario where idbeneinventario = '$id_beneinv' and $cond_mag "); if (numlin_query($bip)) $beniinv_presenti[$tipo_beniinv][$id_beneinv] = risul_query($bip,0,'quantita'); else $beni_presenti = "NO"; } # fine if (!strcmp($beniinv_presenti[$tipo_beniinv][$id_beneinv],"")) $num_beni_tot = $num_ripetizioni_costo_diff * $dati_ca[$num_costo]['molt_beneinv'][$num1]; if (($beniinv_presenti[$tipo_beniinv][$id_beneinv] - $num_beni_tot) < 0) { $beni_presenti = "NO"; break; } # fine if (($beniinv_presenti[$tipo_beniinv][$id_beneinv] - $num_beni_tot) < 0) elseif ($sottrai == "SI") $beniinv_presenti[$tipo_beniinv][$id_beneinv] = $beniinv_presenti[$tipo_beniinv][$id_beneinv] - $num_beni_tot; } # fine for $num1 } # fine if ($num_ripetizioni_costo_diff) } # fine if ($dati_ca[$num_costo]['tipo_beniinv']) return $beni_presenti; } # fine function controlla_beni_inventario_costo function aggiorna_beniinv_presenti ($tablerelinventario,$beniinv_presenti) { if ($beniinv_presenti) { while (list($tipo_beniinv,$val) = each($beniinv_presenti)) { $idmag = substr($tipo_beniinv,3); $tipo_beneinv = substr($tipo_beniinv,0,3); if ($tipo_beneinv == "mag") $cond_mag = "idmagazzino = '$idmag'"; else $cond_mag = "idappartamento = '".aggslashdb($idmag)."'"; $id_beniinv = $val; while (list($id_beneinv,$n_num_bene) = each($id_beniinv)) { esegui_query("update $tablerelinventario set quantita = '$n_num_bene' where idbeneinventario = '$id_beneinv' and $cond_mag "); } # fine while (list($id_beneinv,$n_num_bene) = each($id_beniinv)) } # fine while (list($tipo_beniinv,$val) = each($beniinv_presenti)) } # fine if ($beniinv_presenti) } # fine function aggiorna_beniinv_presenti function aggiorna_privilegi_ins_costo ($idntariffe,$tableprivilegi,$id_utente,$anno,$attiva_costi_agg_consentiti,$priv_ins_costi_agg,$utenti_gruppi) { if ($attiva_costi_agg_consentiti != "n") { $costi_agg_cons_int = esegui_query("select costi_agg_consentiti from $tableprivilegi where idutente = '$id_utente' and anno = '$anno' "); $costi_agg_cons_int = risul_query($costi_agg_cons_int,0,"costi_agg_consentiti"); esegui_query("update $tableprivilegi set costi_agg_consentiti = '$costi_agg_cons_int,$idntariffe' where idutente = '$id_utente' and anno = '$anno' "); } # fine if ($attiva_costi_agg_consentiti != "n") if ($priv_ins_costi_agg == "g") { reset($utenti_gruppi); while (list($idut_gr,$val) = each($utenti_gruppi)) { if ($idut_gr != $id_utente) { $costi_agg_cons_int = esegui_query("select costi_agg_consentiti from $tableprivilegi where idutente = '$idut_gr' and anno = '$anno' "); if (numlin_query($costi_agg_cons_int) == 1) { $costi_agg_cons_int = risul_query($costi_agg_cons_int,0,'costi_agg_consentiti'); if (substr($costi_agg_cons_int,0,1) != "n") { esegui_query("update $tableprivilegi set costi_agg_consentiti = '$costi_agg_cons_int,$idntariffe' where idutente = '$idut_gr' and anno = '$anno' "); } # fine if (substr($costi_agg_cons_int,0,1) != "n") } # fine if (numlin_query($costi_agg_cons_int) == 1) } # fine if ($idut_gr != $id_utente) } # fine while (list($idut_gr,$val) = each($utenti_gruppi)) } # fine if ($priv_ins_costi_agg == "g") } # fine function aggiorna_privilegi_ins_costo ########################################### ### FINE ./includes/funzioni_costi_agg.php ########################################### ########################################### ### INIZIO ./includes/templates/rat/template.php ########################################### ################################################################################## # HOTELDRUID # Copyright (C) 2001-2017 by Marco Maria Francesco De Santis (marco@digitaldruid.net) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version accepted by Marco Maria Francesco De Santis, which # shall act as a proxy as defined in Section 14 of version 3 of the # license. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . ################################################################################## $tableperiodi = $PHPR_TAB_PRE."periodi".$anno; $tableprenota = $PHPR_TAB_PRE."prenota".$anno; $tablecostiprenota = $PHPR_TAB_PRE."costiprenota".$anno; $tablenometariffe = $PHPR_TAB_PRE."ntariffe".$anno; $tableregole = $PHPR_TAB_PRE."regole".$anno; $tableappartamenti = $PHPR_TAB_PRE."appartamenti"; $tablepersonalizza = $PHPR_TAB_PRE."personalizza"; $tableclienti = $PHPR_TAB_PRE."clienti"; $tabletransazioniweb = $PHPR_TAB_PRE."transazioniweb"; $tablesoldi = $PHPR_TAB_PRE."soldi".$anno; $tableanni = $PHPR_TAB_PRE."anni"; if ($framed) { echo " $pag "; if ($file_css_frame) echo " "; elseif ($extra_head_frame) echo "$extra_head_frame "; echo " "; } # fine if ($framed) if ($estendi_ultima_data == "SI") { $ultima_data_menu_periodi = explode(" "; } # fine if ($num_intervallo == 1) if ($num_intervallo == $intervalloperiodo) $num_intervallo = 1; else $num_intervallo++; } # fine for $num1 } # fine if ($num_date_mancanti > 0) } # fine if ($estendi_ultima_data == "SI") if ($mostra_date_passate == "NO") { $oggi = date("Y-m-d",(time() + (C_DIFF_ORE * 3600))); $date_menu_periodi = explode("