<?php ################################################################################## # HOTELDRUID # Copyright (C) 2001-2023 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 <http://www.gnu.org/licenses/>. ################################################################################## $num_allegati_max = 30; $trad_var = array(); function mexv ($messaggio) { global $trad_var,$lingua_mex; if (empty($trad_var)) { if ($lingua_mex != "ita") include("./includes/lang/$lingua_mex/visualizza_contratto_var.php"); if (empty($trad_var['commento_personalizzato'])) $trad_var['commento_personalizzato'] = 'commento_personalizzato'; if (empty($trad_var['campo_personalizzato'])) $trad_var['campo_personalizzato'] = 'campo_personalizzato'; if (empty($trad_var['num_persone_tipo'])) $trad_var['num_persone_tipo'] = 'num_persone_tipo'; if (empty($trad_var['allegato'])) $trad_var['allegato'] = 'allegato'; } # fine if (empty($trad_var)) if (!empty($trad_var[$messaggio])) $messaggio = $trad_var[$messaggio]; else { if (substr($messaggio,-1) == ")") { $mess_vett = explode("(",substr($messaggio,0,-1)); if (!empty($trad_var[$mess_vett[1]])) $messaggio = $mess_vett[0]."(".$trad_var[$mess_vett[1]].")"; else $messaggio = $mess_vett[0]."(".mexv($mess_vett[1]).")"; } # fine if (substr($messaggio,-1) == ")") else { if (substr($messaggio,0,8) == "allegato" and preg_replace("/[0-9]/","",substr($messaggio,8)) == "") $messaggio = $trad_var['allegato'].substr($messaggio,8); else { if (substr($messaggio,0,24) == "commento_personalizzato_") $messaggio = $trad_var['commento_personalizzato'].substr($messaggio,23); else { if (substr($messaggio,0,21) == "campo_personalizzato_") $messaggio = $trad_var['campo_personalizzato'].substr($messaggio,20); elseif (substr($messaggio,0,17) == "num_persone_tipo_") $messaggio = $trad_var['num_persone_tipo'].substr($messaggio,16); } # fine else if (substr($messaggio,0,24) == "commento_personalizzato_") } # fine else if (substr($messaggio,0,8) == "allegato" amd... } # fine else if (substr($messaggio,-1) == ")") } # fine else if ($trad_var[$messaggio]) return $messaggio; } # fine function mexv function elimina_array_pers ($arr_pers_elimina,$num_contr,$tablecontratti) { global $LIKE; $arr_pers_elimina = aggslashdb($arr_pers_elimina); $continua = "SI"; if (substr($arr_pers_elimina,0,1) != "a") $continua = "NO"; $arr_pers_elimina = substr($arr_pers_elimina,1); if (controlla_num_pos($arr_pers_elimina) != "SI") $continua = "NO"; if ($continua == "SI") { if ($num_contr) $n_arr_pers_el = esegui_query("select * from $tablecontratti where numero = '$arr_pers_elimina' and tipo = 'vett".(int) $num_contr."'"); else $n_arr_pers_el = esegui_query("select * from $tablecontratti where numero = '$arr_pers_elimina' and tipo $LIKE 'vett%'"); if (numlin_query($n_arr_pers_el) != 1) $continua = "NO"; else { $n_arr_pers_el = explode(";",risul_query($n_arr_pers_el,0,"testo")); $n_arr_pers_el = $n_arr_pers_el[0]."(".$n_arr_pers_el[1].")"; $arr_pers_el = "a".$arr_pers_elimina; if ($num_contr) $condizioni = esegui_query("select * from $tablecontratti where tipo = 'cond".(int) $num_contr."' order by numero"); else $condizioni = esegui_query("select * from $tablecontratti where tipo $LIKE 'cond%' order by numero"); $num_condizioni = numlin_query($condizioni); $num_cond_canc = 0; for ($num1 = 0 ; $num1 < $num_condizioni ; $num1++) { $condizione = risul_query($condizioni,$num1,'testo'); $condizione = explode("#@?",$condizione); $elimina_cond_corr = "NO"; if ($condizione[0] == "rar$arr_pers_elimina") $elimina_cond_corr = "SI"; if ($condizione[1]) { $se_cond = explode("#$?",$condizione[1]); $num_se_cond = count($se_cond); for ($num2 = 1 ; $num2 < $num_se_cond ; $num2++) { $se_cond_corr = explode("#%?",$se_cond[$num2]); if ($se_cond_corr[0] == $n_arr_pers_el) $elimina_cond_corr = "SI"; if ($se_cond_corr[2] == "var" and $se_cond_corr[3] == $n_arr_pers_el) $elimina_cond_corr = "SI"; } # fine for $num2 } # fine if ($condizione[1]) $azione = explode("#%?",$condizione[2]); if ($azione[0] == "set" and ($azione[1] == $arr_pers_el or ($azione[3] == "var" and $azione[4] == $n_arr_pers_el))) $elimina_cond_corr = "SI"; if ($azione[0] == "set" and (($azione[5] == "var" and $azione[6] == $n_arr_pers_el) or ($azione[7] == "var" and $azione[8] == $n_arr_pers_el))) $elimina_cond_corr = "SI"; if ($azione[0] == "trunc" and $azione[1] == $arr_pers_el) $elimina_cond_corr = "SI"; if ($azione[0] == "oper" and ($azione[1] == $arr_pers_el or $azione[2] == $n_arr_pers_el or ($azione[4] == "var" and $azione[5] == $n_arr_pers_el))) $elimina_cond_corr = "SI"; if ($azione[0] == "unset" and $azione[1] == $arr_pers_el) $elimina_cond_corr = "SI"; if ($azione[0] == "array" and $azione[1] == $arr_pers_el) $elimina_cond_corr = "SI"; if ($elimina_cond_corr == "SI") { $num_cond = risul_query($condizioni,$num1,'numero'); $tipo_cond = risul_query($condizioni,$num1,'tipo'); esegui_query("delete from $tablecontratti where numero = '$num_cond' and tipo = '$tipo_cond' "); $num_cond_canc++; } # fine ($elimina_cond_corr == "SI") } # fine for $num1 esegui_query("delete from $tablecontratti where numero = '$arr_pers_elimina' and tipo $LIKE 'vett%'"); if ($num_cond_canc) echo mex("Condizioni eliminate",'modifica_var_contr.php').": <em>$num_cond_canc</em>.<br><br>"; echo mex("Array personalizzato eliminato",'modifica_var_contr.php').".<br><br>"; } # fine else if (numlin_query($n_var_pers_el) != 1) } # fine if ($continua == "SI") return $continua; } # fine function elimina_array_pers function elimina_cond_variabile_pers ($nome_var_pers,$numero_var_pers,$num_contr,$tablecontratti) { global $LIKE; if ($num_contr) $condizioni = esegui_query("select * from $tablecontratti where tipo = 'cond".(int) $num_contr."' order by numero"); else $condizioni = esegui_query("select * from $tablecontratti where tipo $LIKE 'cond%' order by numero"); $num_condizioni = numlin_query($condizioni); $num_cond_canc = 0; for ($num1 = 0 ; $num1 < $num_condizioni ; $num1++) { $condizione = risul_query($condizioni,$num1,'testo'); $condizione = explode("#@?",$condizione); $elimina_cond_corr = "NO"; if ($condizione[1]) { $se_cond = explode("#$?",$condizione[1]); $num_se_cond = count($se_cond); for ($num2 = 1 ; $num2 < $num_se_cond ; $num2++) { $se_cond_corr = explode("#%?",$se_cond[$num2]); if ($se_cond_corr[0] == $nome_var_pers) $elimina_cond_corr = "SI"; if ($se_cond_corr[2] == "var" and $se_cond_corr[3] == $nome_var_pers) $elimina_cond_corr = "SI"; } # fine for $num2 } # fine if ($condizione[1]) $azione = explode("#%?",$condizione[2]); if ($azione[0] == "set" and ($azione[1] == $numero_var_pers or ($azione[3] == "var" and $azione[4] == $nome_var_pers))) $elimina_cond_corr = "SI"; if ($azione[0] == "set" and (($azione[5] == "var" and $azione[6] == $nome_var_pers) or ($azione[7] == "var" and $azione[8] == $nome_var_pers))) $elimina_cond_corr = "SI"; if ($azione[0] == "trunc" and $azione[1] == $numero_var_pers) $elimina_cond_corr = "SI"; if ($azione[0] == "oper" and ($azione[1] == $numero_var_pers or $azione[2] == $nome_var_pers or ($azione[4] == "var" and $azione[5] == $nome_var_pers))) $elimina_cond_corr = "SI"; if ($azione[0] == "date" and ($azione[1] == $numero_var_pers or $azione[2] == $nome_var_pers)) $elimina_cond_corr = "SI"; if ($azione[0] == "opdat" and ($azione[1] == $numero_var_pers or $azione[3] == $nome_var_pers or $azione[4] == $nome_var_pers)) $elimina_cond_corr = "SI"; if ($elimina_cond_corr == "SI") { $num_cond = risul_query($condizioni,$num1,'numero'); $tipo_cond = risul_query($condizioni,$num1,'tipo'); esegui_query("delete from $tablecontratti where numero = '$num_cond' and tipo = '$tipo_cond' "); $num_cond_canc++; } # fine ($elimina_cond_corr == "SI") } # fine for $num1 if ($num_contr) $array = esegui_query("select * from $tablecontratti where tipo = 'vett".(int) $num_contr."' and testo $LIKE '%;$nome_var_pers%' "); else $array = esegui_query("select * from $tablecontratti where tipo $LIKE 'vett%' and testo $LIKE '%;$nome_var_pers%' "); $num_array = numlin_query($array); for ($num1 = 0 ; $num1 < $num_array ; $num1++) { $var_arr = explode(";",risul_query($array,$num1,'testo')); $var_arr = $var_arr[1]; if ($var_arr == $nome_var_pers) { $num_arr = risul_query($array,$num1,'numero'); elimina_array_pers("a".$num_arr,$num_contr,$tablecontratti); } # fine if ($var_arr == $nome_var_pers) } # fine for $num1 if ($num_cond_canc) echo mex("Condizioni eliminate",'modifica_var_contr.php').": <em>$num_cond_canc</em>.<br><br>"; return $num_cond_canc; } # fine function elimina_cond_variabile_pers function rinomina_testo_variabile_pers ($v_nome,$n_nome,$testo,$rinomina_var_arr=0) { $v_nome = trim(fixstr($v_nome)); $n_nome = trim(fixstr($n_nome)); if ($v_nome and $v_nome != $n_nome) { $num_v_nomi = 1; $v_nomi = array(0 => $v_nome); $n_nomi = array(0 => $n_nome); if (substr($v_nome,-1) == ")") { $v_nome_arr = explode("(",$v_nome); $v_nome_var_arr = substr($v_nome_arr[1],0,-1); $v_nome_arr = $v_nome_arr[0]; $n_nome_arr = explode("(",$n_nome); $n_nome_var_arr = substr($n_nome_arr[1],0,-1); $n_nome_arr = $n_nome_arr[0]; if ($v_nome_arr and $v_nome_arr != $n_nome_arr) { $testo = str_replace("[r4 array=\"$v_nome_arr\"]","[r4 array=\"$n_nome_arr\"]",$testo); $testo = preg_replace("/\\[$v_nome_arr\\('([^'\\]\\(]*)'\\)\\]/","[$n_nome_arr('$1')]",$testo); while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome_arr\\(('[^'\\]\\(]*')\\) *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) { $testo = preg_replace("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome_arr\\(('[^'\\]\\(]*')\\) *(!?=|!?%|>|<) *(\"[^\"]*\")( *((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/","[c $1$n_nome_arr($9)$10$11$12]",$testo); # Numeri parentesi: 12 3 45 6 7 8 9 0 1 2 34 5 67 8 9 } # fine while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome_arr\\(('[^'\\]\\(]*')\\) *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) /*$testo = preg_replace("/\\[c +$v_nome_arr\\(\\'/","[c $n_nome_arr('",$testo); $testo = preg_replace("/\" *& *$v_nome_arr\\(\\'/","\" & $n_nome_arr('",$testo); $testo = preg_replace("/\" *\\| *$v_nome_arr\\('/","\" | $n_nome_arr('",$testo);*/ } # fine if ($v_nome_arr and $v_nome_arr != $n_nome_arr) if ($v_nome_var_arr == $n_nome_var_arr) { global $lingua_mex; if (is_dir("./includes/lang/en")) { $trad_var = array(); include("./includes/lang/en/visualizza_contratto_var.php"); if (!empty($trad_var[$v_nome_var_arr])) { $v_nomi[$num_v_nomi] = $v_nome_arr."(".$trad_var[$v_nome_var_arr].")"; $n_nomi[$num_v_nomi] = $n_nome_arr."(".$trad_var[$n_nome_var_arr].")"; $num_v_nomi++; } # fine if (!empty($trad_var[$v_nome_var_arr])) } # fine if (is_dir("./includes/lang/en")) if (is_dir("./includes/lang/es")) { $trad_var = array(); include("./includes/lang/es/visualizza_contratto_var.php"); if (!empty($trad_var[$v_nome_var_arr])) { $v_nomi[$num_v_nomi] = $v_nome_arr."(".$trad_var[$v_nome_var_arr].")"; $n_nomi[$num_v_nomi] = $n_nome_arr."(".$trad_var[$n_nome_var_arr].")"; $num_v_nomi++; } # fine if (!empty($trad_var[$v_nome_var_arr])) } # fine if (is_dir("./includes/lang/es")) if (!empty($lingua_mex) and $lingua_mex != 'ita' and $lingua_mex != 'en' and $lingua_mex != 'es' and is_dir("./includes/lang/$lingua_mex") and is_file("./includes/lang/$lingua_mex/visualizza_contratto_var.php")) { $trad_var = array(); include("./includes/lang/$lingua_mex/visualizza_contratto_var.php"); if (!empty($trad_var[$v_nome_var_arr])) { $v_nomi[$num_v_nomi] = $v_nome_arr."(".$trad_var[$v_nome_var_arr].")"; $n_nomi[$num_v_nomi] = $n_nome_arr."(".$trad_var[$n_nome_var_arr].")"; $num_v_nomi++; } # fine if (!empty($trad_var[$v_nome_var_arr])) } # fine if (!empty($lingua_mex) and $lingua_mex != 'ita' and... } # fine if ($v_nome_var_arr == $n_nome_var_arr) } # fine if (substr($v_nome,-1) == ")") elseif ($rinomina_var_arr) { $testo = preg_replace("/\\[([A-Za-z]+[A-Za-z0-9_]*)\\($v_nome\\)\\]/","[$1($n_nome)]",$testo); while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)([A-Za-z]+[A-Za-z0-9_]*)\\($v_nome\\) *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) { $testo = preg_replace("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)([A-Za-z]+[A-Za-z0-9_]*)\\($v_nome\\) *(!?=|!?%|>|<) *(\"[^\"]*\")( *((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/","[c $1$9($n_nome)$10$11$12]",$testo); # Numeri parentesi: 12 3 45 6 7 8 9 0 1 2 34 5 67 8 9 } # fine while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome_arr\\(('[^'\\]\\(]*')\\) *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) } # fine elseif ($rinomina_var_arr) for ($num1 = 0 ; $num1 < $num_v_nomi ; $num1++) { $v_nome = $v_nomi[$num1]; $n_nome = $n_nomi[$num1]; $testo = str_replace("[$v_nome]","[$n_nome]",$testo); $v_nome = str_replace(")","\\)",str_replace("(","\\(",$v_nome)); while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) { $testo = preg_replace("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome *(!?=|!?%|>|<) *(\"[^\"]*\")( *((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/","[c $1$n_nome$9$10$11]",$testo); # Numeri parentesi: 12 3 45 6 7 8 9 0 1 23 4 56 7 8 } # fine while (preg_match("/\\[c +(([A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *(\\||&) *)*)$v_nome *(!?=|!?%|>|<) *(\"[^\"]*\") *(((\\||&) *[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *(!?=|!?%|>|<) *\"[^\"]*\" *)*)\\]/",$testo)) /*$testo = preg_replace("/\\[c +$v_nome *= *\"/","[c $n_nome=\"",$testo); $testo = preg_replace("/\\[c +$v_nome *!= *\"/","[c $n_nome!=\"",$testo); $testo = preg_replace("/\\[c +$v_nome *% *\"/","[c $n_nome%\"",$testo); $testo = preg_replace("/\\[c +$v_nome *!% *\"/","[c $n_nome!%\"",$testo); $testo = preg_replace("/\\[c +$v_nome *> *\"/","[c $n_nome>\"",$testo); $testo = preg_replace("/\\[c +$v_nome *< *\"/","[c $n_nome<\"",$testo); $testo = preg_replace("/\" *& *$v_nome *= *\"/","\" & $n_nome=\"",$testo); $testo = preg_replace("/\" *& *$v_nome *!= *\"/","\" & $n_nome!=\"",$testo); $testo = preg_replace("/\" *& *$v_nome *% *\"/","\" & $n_nome%\"",$testo); $testo = preg_replace("/\" *& *$v_nome *!% *\"/","\" & $n_nome!%\"",$testo); $testo = preg_replace("/\" *& *$v_nome *> *\"/","\" & $n_nome>\"",$testo); $testo = preg_replace("/\" *& *$v_nome *< *\"/","\" & $n_nome<\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *= *\"/","\" | $n_nome=\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *!= *\"/","\" | $n_nome!=\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *% *\"/","\" | $n_nome%\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *!% *\"/","\" | $n_nome!%\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *> *\"/","\" | $n_nome>\"",$testo); $testo = preg_replace("/\" *\\| *$v_nome *< *\"/","\" | $n_nome<\"",$testo);*/ } # fine for $num1 } # fine if ($v_nome and $v_nome != $n_nome) return($testo); } # fine function rinomina_testo_variabile_pers function rinomina_cond_variabile_pers ($nome_var_pers,$numero_var_pers,$n_nome_var_pers,$n_numero_var_pers,$num_contr,$tablecontratti) { global $LIKE; if ($num_contr) $condizioni = esegui_query("select * from $tablecontratti where tipo = 'cond".(int) $num_contr."' order by numero"); else $condizioni = esegui_query("select * from $tablecontratti where tipo $LIKE 'cond%' order by numero"); $num_condizioni = numlin_query($condizioni); $num_cond_rinom = 0; for ($num1 = 0 ; $num1 < $num_condizioni ; $num1++) { $condizione = risul_query($condizioni,$num1,'testo'); $condizione_orig = $condizione; $condizione = explode("#@?",$condizione); if ($condizione[1]) { $se_cond = explode("#$?",$condizione[1]); $num_se_cond = count($se_cond); for ($num2 = 1 ; $num2 < $num_se_cond ; $num2++) { $se_cond_corr = explode("#%?",$se_cond[$num2]); if ($se_cond_corr[0] == $nome_var_pers) $se_cond_corr[0] = $n_nome_var_pers; if ($se_cond_corr[2] == "var" and $se_cond_corr[3] == $nome_var_pers) $se_cond_corr[3] = $n_nome_var_pers; $se_cond[$num2] = implode("#%?",$se_cond_corr); } # fine for $num2 $condizione[1] = implode("#$?",$se_cond); } # fine if ($condizione[1]) $azione = explode("#%?",$condizione[2]); if ($azione[0] == "set" and $azione[1] == $numero_var_pers) $azione[1] = $n_numero_var_pers; if ($azione[0] == "set" and $azione[3] == "var" and $azione[4] == $nome_var_pers) $azione[4] = $n_nome_var_pers; if ($azione[0] == "set" and $azione[5] == "var" and $azione[6] == $nome_var_pers) $azione[6] = $n_nome_var_pers; if ($azione[0] == "set" and $azione[7] == "var" and $azione[8] == $nome_var_pers) $azione[8] = $n_nome_var_pers; if ($azione[0] == "trunc" and $azione[1] == $numero_var_pers) $azione[1] = $n_numero_var_pers; if ($azione[0] == "oper" and $azione[1] == $numero_var_pers) $azione[1] = $n_numero_var_pers; if ($azione[0] == "oper" and $azione[2] == $nome_var_pers) $azione[2] = $n_nome_var_pers; if ($azione[0] == "oper" and $azione[4] == "var" and $azione[5] == $nome_var_pers) $azione[5] = $n_nome_var_pers; if ($azione[0] == "date" and $azione[1] == $numero_var_pers) $azione[1] = $n_numero_var_pers; if ($azione[0] == "date" and $azione[2] == $nome_var_pers) $azione[2] = $n_nome_var_pers; if ($azione[0] == "opdat" and $azione[1] == $numero_var_pers) $azione[1] = $n_numero_var_pers; if ($azione[0] == "opdat" and $azione[3] == $nome_var_pers) $azione[3] = $n_nome_var_pers; if ($azione[0] == "opdat" and $azione[4] == $nome_var_pers) $azione[4] = $n_nome_var_pers; $condizione[2] = implode("#%?",$azione); $condizione = implode("#@?",$condizione); if ($condizione_orig != $condizione) { $num_cond = risul_query($condizioni,$num1,'numero'); $tipo_cond = risul_query($condizioni,$num1,'tipo'); esegui_query("update $tablecontratti set testo = '".aggslashdb($condizione)."' where numero = '$num_cond' and tipo = '$tipo_cond' "); $num_cond_rinom++; } # fine if ($condizione_orig != $condizione) } # fine for $num1 if ($num_contr) $array = esegui_query("select * from $tablecontratti where tipo = 'vett".(int) $num_contr."' and testo $LIKE '%;$nome_var_pers%' "); else $array = esegui_query("select * from $tablecontratti where tipo $LIKE 'vett%' and testo $LIKE '%;$nome_var_pers%' "); $num_array = numlin_query($array); for ($num1 = 0 ; $num1 < $num_array ; $num1++) { $var_arr = explode(";",risul_query($array,$num1,'testo')); if ($var_arr[1] == $nome_var_pers) { $num_arr = risul_query($array,$num1,'numero'); $nome_arr_pers = $var_arr[0]."(".$var_arr[1].")"; $n_nome_arr_pers = $var_arr[0]."($n_nome_var_pers)"; $var_arr[1] = $n_nome_var_pers; $var_arr = implode(";",$var_arr); esegui_query("update $tablecontratti set testo = '".aggslashdb($var_arr)."' where numero = '$num_arr' and tipo $LIKE 'vett%'"); if ($num_contr) $condizioni = esegui_query("select * from $tablecontratti where tipo = 'cond".(int) $num_contr."' order by numero"); else $condizioni = esegui_query("select * from $tablecontratti where tipo $LIKE 'cond%' order by numero"); $num_condizioni = numlin_query($condizioni); for ($num2 = 0 ; $num2 < $num_condizioni ; $num2++) { $condizione = risul_query($condizioni,$num2,'testo'); $condizione_orig = $condizione; $condizione = explode("#@?",$condizione); if ($condizione[1]) { $se_cond = explode("#$?",$condizione[1]); $num_se_cond = count($se_cond); for ($num3 = 1 ; $num3 < $num_se_cond ; $num3++) { $se_cond_corr = explode("#%?",$se_cond[$num3]); if ($se_cond_corr[0] == $nome_arr_pers) $se_cond_corr[0] = $n_nome_arr_pers; if ($se_cond_corr[2] == "var" and $se_cond_corr[3] == $nome_arr_pers) $se_cond_corr[3] = $n_nome_arr_pers; $se_cond[$num3] = implode("#%?",$se_cond_corr); } # fine for $num3 $condizione[1] = implode("#$?",$se_cond); } # fine if ($condizione[1]) $azione = explode("#%?",$condizione[2]); if ($azione[0] == "set" and $azione[3] == "var" and $azione[4] == $nome_arr_pers) $azione[4] = $n_nome_arr_pers; if ($azione[0] == "set" and $azione[5] == "var" and $azione[6] == $nome_arr_pers) $azione[6] = $n_nome_arr_pers; if ($azione[0] == "set" and $azione[7] == "var" and $azione[8] == $nome_arr_pers) $azione[8] = $n_nome_arr_pers; if ($azione[0] == "oper" and $azione[2] == $nome_arr_pers) $azione[2] = $n_nome_arr_pers; if ($azione[0] == "oper" and $azione[4] == "var" and $azione[5] == $nome_arr_pers) $azione[5] = $n_nome_arr_pers; $condizione[2] = implode("#%?",$azione); $condizione = implode("#@?",$condizione); if ($condizione_orig != $condizione) { $num_cond = risul_query($condizioni,$num2,'numero'); $tipo_cond = risul_query($condizioni,$num2,'tipo'); esegui_query("update $tablecontratti set testo = '".aggslashdb($condizione)."' where numero = '$num_cond' and tipo = '$tipo_cond' "); $num_cond_rinom++; } # fine if ($condizione_orig != $condizione) } # fine for $num2 } # fine if ($var_arr[1] == $nome_var_pers) } # fine for $num1 return $num_cond_rinom; } # fine function rinomina_cond_variabile_pers ?> |