//#####################################################
//################# FORM ver 1.0 ######################
//#####################################################
// Da mettere: select con array alternativo
// controllo spam
// Template form
// cancello form precedente
//PARAMETRI CAMPO
// obb, invio (SI,NO), risposta (SI,NO)
//definisco i nomi dei campi che servono al programma
$F[f_nome_form] = "FORM";
$F[f_campo_email] = "email";
$F[f_campo_nome] = "nome";
//altre definizioni
$F[f_email_dest] = "AUTO"; //prende da indi
$F[f_email_copia] = "AUTO"; //prende da indi
$F[f_email_cc] = "AUTO"; //prende da indi
$F[f_email_indi] = "AUTO"; //prende da indi
$F[f_nome_sito] = "AUTO"; //prende da indi
$F[f_duepunti] = ":";
$F[f_txt_t] = "#ASTERISCO##NOME##DUEPUNTI# \n\r";
$F[f_err] = "* ";
$F[f_css_sel] = "style=\"border-color:#FF0000\""; //stile selezionato casella generica
$F[f_css_rc] = "style=\"background-color:#FF0000\""; //stile selezionato casella radio e box
$F[f_css_sel_select] = "style=\"background-color:#FF0000\""; //stile selezionato casella select
$F[f_lingua_alt] = "eng"; //linga alternativa se non disponibile la traduzione
$F[f_submit][ita] = "Invia la richiesta"; //nome del tasto
$F[f_submit][eng] = "Submit your request"; //nome del tasto
$F[f_submit][ger] = "Anfrage absenden"; //nome del tasto
$F[f_submit][fra] = "Envoyer votre demande"; //nome del tasto
//definizione campo errori e errore anche in lingua
$F[f_erro_temp][xxx] = "
#ERRORE# ";
$F[f_dato_temp][xxx] = "#CAMPO# : #DATO# \n\r";
//testi vari in lingua
$F[f_txt_head][ita] = "Modulo richiesta informazioni I campi con l' asterisco (* ) sono obbligatori \n\r";
$F[f_txt_head][eng] = "Request informations Fields marked with asterisk (* ) are required \n\r";
$F[f_txt_head][ger] = "Fragebogen zur Informationsanfrage. (* ) Die mit Stern gekennzeichneten Felder sind obligatorisch \n\r";
$F[f_txt_head][fra] = "Formulaire de demande d'informations (* ) es champs marqués d'un astérisque sont obligatoires \n\r";
$F[f_txt_errore][ita] = "Errore, riempire i seguenti campi obbligatori: \n\r";
$F[f_txt_errore][eng] = "Error, fill the required field: \n\r";
$F[f_txt_errore][ger] = "Fehler, bitte die folgenden obligatorischen Felder ausfüllen: \n\r";
$F[f_txt_errore][fra] = "Erreur, remplir les champs obligatoires suivants: \n\r";
$F[f_txt_invio][ita] = "Grazie #NOME# per aver compilato il nostro modulo, di seguito i dati inviati:<< Ritorna alla Home Page \n\r";
$F[f_txt_invio][eng] = "Thanks #NOME# for the request:<< Return to Home Page \n\r";
$F[f_txt_invio][ger] = "#NOME# Wir danken Ihnen, dass Sie unseren Fragebogen ausgefüllt haben, im Folgenden die übersandten Daten: << zurück zur Home-Page \n\r";
$F[f_txt_invio][fra] = "#NOME# Merci d'avoir rempli notre formulaire, ci-après les données communiquées:<< Retour à la Page d'accueil. \n\r";
$F[f_txt_email][ita] = "Indirizzo E-mail non corretto !\n\r"; //Lingua di risposta del FORM
$F[f_txt_email][eng] = "Wrong E-mail address !\n\r"; //Lingua di risposta del FORM
$F[f_txt_email][ger] = "E-Mail-Anschrift nicht korrekt !\n\r"; //Lingua di risposta del FORM
$F[f_txt_email][fra] = "Adresse e-mail incorrecte !\n\r"; //Lingua di risposta del FORM
//Messaggio che arriva al proprietario della struttura
$F[f_lingua_form] = "AUTO"; //linga automatica in base alla lingua della pagina ????
$F[f_nomecognome] = "AUTO";
$F[f_email_form] = "AUTO";
$F[f_form_tpl] = "- #NCAMPO#: #VCAMPO# \n\n";
$F[f_oggetto][xxx] = "Richiesta [#SITO#] - #NOME#";
$F[f_testo][xxx] = "Messaggio di richiesta informazioni ricevuto dal form del sito (#SITO#)\nPer inviare una risposta al messaggio potete semplicemente rispondere a questa e-mail!\n\n\n#MESSAGGIO#\n\nPer Qualsiasi problema contattare TNX snc - Tel: 0577980701 - E-mail: info@tnx.it";
$F[f_testo_msg][ita] = "MESSAGGIO";
$F[f_testo_msg][eng] = "MESSAGE";
//CAMPI SELECT PREIMPOSTATI
$F[f_txt_nazioni][xxx] = " |Andorra|Argentina|Austria|Belgium|Bolivia|Brazil|Bulgaria|Canada|Colombia|Costa Rica|Croatia|Cuba|Cyprus|Czech Republic|Denmark|Dominican Republic|Ecuador|Egypt|Estonia|France|Germany|Greece|Guadeloupe|Hungary|Ireland|Israel|Italy|Kenya|Kuwait|Latvia|Lithuania|Luxembourg|Malaysia|Malta|Mauritius|Mexico|Morocco|Mozambique|Netherlands|Norway|Peru|Poland|Portugal|Romania|Russia|San Marino|Senegal|Slovak Republic|Slovenia|Spain|Sweden|Switzerland|Thailand|Tunisia|Turkey|Ukraine|United Kingdom|Uruguay|USA|Vietnam| Other";
$F[f_txt_nazioni][ita] = " |Andorra|Argentina|Austria|Belgium|Bolivia|Brazil|Bulgaria|Canada|Colombia|Costa Rica|Croatia|Cuba|Cyprus|Czech Republic|Denmark|Dominican Republic|Ecuador|Egypt|Estonia|France|Germany|Greece|Guadeloupe|Hungary|Ireland|Israel|Italy|Kenya|Kuwait|Latvia|Lithuania|Luxembourg|Malaysia|Malta|Mauritius|Mexico|Morocco|Mozambique|Netherlands|Norway|Peru|Poland|Portugal|Romania|Russia|San Marino|Senegal|Slovak Republic|Slovenia|Spain|Sweden|Switzerland|Thailand|Tunisia|Turkey|Ukraine|United Kingdom|Uruguay|USA|Vietnam| Altra";
$F[f_txt_giorni][xxx] = " |1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31";
$F[f_txt_mesi][xxx] = " |1|2|3|4|5|6|7|8|9|10|11|12|";
$F[f_txt_anni][xxx] = " |2006|2007|2008|2009";
//template form automatica
$F[f_table_t][xxx] = "
";
//template riga
$F[f_table_riga_t][xxx] = "#NOME_CAMPO# #CAMPO# ";
//template risposta
$F[f_table_risp_t][xxx] = " ";
//css delle form di base si possono sovrascrivere
$F[f_css][xxx] = "
.$F[f_nome_form] {
border-style: solid;
border-color: #999999;
background-color: #FAFAFA;
border-width: 1px;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
.$F[f_nome_form]_head {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
text-align: center;
display: block;
}
.$F[f_nome_form]_err {
color:#FF0000;
font-weight:bold;
font-size: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.$F[f_nome_form]_txt {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
.$F[f_nome_form]_table {
font-size: 11px;
}
";
function ind_xxx($TXT) {
global $DATI,$lang;
$lang_alt = $DATI[lang_alt];
if($TXT[xxx]) return $TXT[xxx];
if($TXT[$lang]) return $TXT[$lang];
if($TXT[$lang_alt]) return $TXT[$lang_alt];
return FALSE;
}
function f_init(){
global $DATI,$LANG,$F,$FORM,$FORM_SQL;
//unset($F);
//#INIZIO PROGRAMMA PRINCIPALE
$lang = $DATI[lang];
$lang_alt = $F[f_lingua_alt];
//sistemo campi lingua in automatico
while (list ($k, $v) = @each ($F)) {
while (list ($kk, $vv) = @each ($v)) {
while (list ($kkk, $vvv) = @each ($vv)) {
//sistemo gli xxx negli array di 3 livello
if($kkk == "xxx") {
$F[$k][$kk][$lang] = $vvv;
}
if($kkk == $lang_alt) {
//sostituisco lingue non complete con la lingua di default
reset($LANG);
while (list ($kl, $vl) = @each ($LANG)) {
if($kl != $lang_alt) {
if($F[$k][$kk][$kl]=="") $F[$k][$kk][$kl] = $vvv;
}
}
}
}
//sistemo gli xxx negli array di secondo livello
if($kk == "xxx") {
$F[$k][$lang] = $vv;
}
if($kk == $lang_alt) {
//sostituisco lingue non complete con la lingua di default
reset($LANG);
while (list ($kl, $vl) = @each ($LANG)) {
if($kl != $lang_alt) {
if($F[$k][$kl]=="") $F[$k][$kl] = $vv;
}
}
}
}
}
//imposto i css
if($F[f_css][$lang] != "") css($F[f_css][$lang]);
//inizializzo l' array
$nome_form = $F["f_nome_form"];
//tolgo gli salsh se magick quote attive
$FORM = dataquote($_POST[$nome_form]);
//creo versione per SQL con quote
$FORM_SQL = dbquote($_POST[$nome_form]);
//_________________ANTI SPAM _______________________
//mi copio i dati
$FORM2 = $FORM;
//chiavi di ricerca
$sicur_r = array(0=>"content-type:",1=>"charset=",2=>"mime-version:",3=>"multipart/mixed",4=>"bcc:");
//metto tutto minuscolo
function sicur_piccole(&$elemento1) {
$elemento1 = strtolower($elemento1);
}
@array_walk ($FORM2,'sicur_piccole');
//print_r($FORM2);
@reset($FORM2);
while(list($k,$v) = @each($sicur_r)) {
$sicur_e[$v] = @array_search($v,$FORM2);
if($sicur_e[$v]) $SPAM = "SI";
}
//in caso di spam faccio il reset della form
if($SPAM == "SI") {
print "SPAM ";
//mando e-mail di controllo
//formatto errore
while(list($k,$v) = @each($sicur_e)) {
$out_e .= "$k -> $v\n\n";
}
while(list($k,$v) = @each($FORM)) {
$out_f .= "$k -> $v\n\n";
}
//dati spammatore
$messaggio_spam .= "mailspam -> $DATI[nome_sito]\n\n";
$messaggio_spam .= "URL\t -> $DATI[baseurl]\n\n";
$messaggio_spam .= "INDI\t -> $DATI[INDI]\n\n";
$messaggio_spam .= "INDI\t -> $DATI[INDI]\n\n";
$messaggio_spam .= "IP\t -> $_SERVER[REMOTE_ADDR]\n\n";
$messaggio_spam .= "HOST\t -> $_SERVER[REMOTE_HOST]\n\n";
$messaggio_spam .= "AGENT\t -> $_SERVER[HTTP_USER_AGENT]\n\n";
mail($DATI[email_indi],"INDI:SPAM -> [$DATI[dominio_sito]]",$messaggio_spam);
exit();
}
//setto l' e-mail di destinazione e i campi auto
if($F[f_email_dest] == "AUTO") $F[f_email_dest] = $DATI[email];
if($F[f_email_copia] == "AUTO") $F[f_email_copia] = $DATI[email_copia];
if($F[f_email_cc] == "AUTO") $F[f_email_cc] = $DATI[email_cc];
if($F[f_email_indi] == "AUTO") $F[f_email_indi] = $DATI[email_indi];
if($F[f_nome_sito] == "AUTO") $F[f_nome_sito] = $DATI[dominio_sito];
if($F[f_nomecognome] == "AUTO") {
$campo_nome = $F[f_campo_nome];
$F[f_nomecognome] = $FORM[$campo_nome];
}
if($F[f_email_form] == "AUTO") {
$campo_email = $F[f_campo_email];
$F[f_email_form] = $FORM[$campo_email];
//if($F[f_email_form] == "") mail($CONF[email_indi],"INDI - Errore form",$DATI[dominio_sito]);
}
//controllo obbligatori su modo 1
$OBB_ARRAY = explode("|",$F[f_obb][$lang]);
//imposto forzatamente per compatibilita'
if (sizeof($OBB_ARRAY) > 1) {
while(list($k,$v) = @each($OBB_ARRAY)) {
$F[$v][obb] = "SI";
}
}
//adesso ho l' array di compatibilita e ricreo quello definitivo F_OBB
reset($F);
while(list($k,$v) = @each($F)) {
//creo array campi obbligatori
//print "#".$v["obb"]."#$k";
if($v["obb"] == "SI") $F_OBB[$k] = "SI";
}
//controllo campi obbligatori ci deve essere anche l' e-mail
//imposto default a nulla
while(list($k,$v) = @each($F_OBB)) {
//controllo obbligatori
//
//print $F[$k][def][$lang];
//controllo campo di default, se presenti non da' errore su questi
if($F[$k][err] != "NO") {
if($F[$k][obb]== "SI" and trim($FORM[$k]) == "" or ($FORM[$k] == $F[$k][def][$lang] and is_array($F[$k][def]))) {
//gestisco errore campi obbligatori
$obb = "SI";
//imposto array con gli errori relativi ai campi
$F[f_errori][$k] .= $F[$k][$lang];
}
//controllo campi e-mail se definiti ??? devo aggiungere controllo automatico, che valida la mail ovenuque e'
if($F[$k][tipo2] == "email") {
if(vemail(trim($FORM[$k])) != 0 and trim($FORM[$k]) != "") $F[f_errori][$k] .= $F[f_txt_email][$lang];
}
if($F[$k][tipo] == "select_kv") {
if($FORM[$k] == 0) $F[f_errori][$k] .= $F[$k][$lang];
}
}
}
if(!is_array($FORM)) unset($F[f_errori]);
}
function f($nome,$AGG=NULL) {
global $F,$FORM,$DATI;
//assegno valore
$valore = $FORM[$nome];
//lingua
$lang = $DATI["lang"];
//controllo aggiuntivi
if($AGG == NULL) $AGG = $F[$nome][agg];
$nome_form = $F["f_nome_form"].'['.$nome.']';
//genero il nome del CSS
if($F[$nome][css] == "") $CSS = 'class="'.$F[f_nome_form].'"';
else $CSS = 'class="'.$F[css].'"';
//imposto obbligatorio
if($F[f_errori][$nome] != "") $obb="SI";
//SOLO TESTO ##################
if($F[$nome][tipo] == "solotxt") {
return "";
}
//TEXT ##################
if($F[$nome][tipo] == "text") {
if($obb == "SI") $STYLE=$F[f_css_sel];
//controllo campo default
if(is_array($F[$nome][def]) and !is_array($FORM)) $valore = $F[$nome][def][$lang];
return ' ';
}
//HIDDEN ##################
if($F[$nome][tipo] == "hidden") {
//if($obb == "SI") $STYLE=$F[f_css_sel];
//controllo campo default
if(is_array($F[$nome][def]) and !is_array($FORM)) $valore = $F[$nome][def][$lang];
return ' ';
}
//CHECKBOX ##################
if($F[$nome][tipo] == "checkbox") {
if($obb == "SI") $STYLE=$F[f_css_rc];
if($F[$nome][stato] == "selezionato" and $valore != "") $stato = "checked";
if($valore == $F[$nome][sel][$lang]) $stato = "checked";
return ' ';
}
//TEXTAREA ##################
elseif($F[$nome][tipo] == "textarea") {
if($obb == "SI") $STYLE=$F[f_css_sel];
if(is_array($F[$nome][def]) and !is_array($FORM)) $valore = $F[$nome][def][$lang];
return '';
}
//SELECT ##################
elseif($F[$nome][tipo] == "select") {
if($obb == "SI") $STYLE=$F[f_css_sel_select];
$stato = "";
$VALORI = explode ("|",$F[$nome][val][$lang]);
reset($VALORI);
while(list($k, $v)=each($VALORI)) {
if(trim($v) == $F[$nome][sel][$lang] and trim($v) != "") $selezionato = TRUE;
else $selezionato = FALSE;
if(trim($v) == trim($valore) or $selezionato) $stato = "selected";
else $stato = "";
$out .= ''.$v.' ';
}
return ''.$out.' ';
}
//SELECT KV ##################
elseif($F[$nome][tipo] == "select_kv") {
if($obb == "SI") $STYLE=$F[f_css_sel_select];
$stato = "";
//$VALORI = explode ("|",$F[$nome][val][$lang]);
$VALORI = $F[$nome][val][$lang];
reset($VALORI);
while(list($k, $v)=each($VALORI)) {
if(trim($k) == $F[$nome][sel][$lang] and trim($k) != "") $selezionato = TRUE;
else $selezionato = FALSE;
if(trim($k) == trim($valore) or $selezionato) $stato = "selected";
else $stato = "";
$out .= ''.$v.' ';
}
return ''.$out.' ';
}
//DATA ##################
elseif($F[$nome][tipo] == "data") {
if($obb == "SI") $STYLE=$F[f_css_sel_select];
$stato = "";
//$VALORI = explode ("|",$F[$nome][val][$lang]);
$VALORI = $F[$nome][val][$lang];
reset($VALORI);
while(list($k, $v)=each($VALORI)) {
if(trim($k) == $F[$nome][sel][$lang] and trim($k) != "") $selezionato = TRUE;
else $selezionato = FALSE;
if(trim($k) == trim($valore) or $selezionato) $stato = "selected";
else $stato = "";
$out .= ''.$v.' ';
}
return ''.$out.' ';
}
//RADIO ##################
elseif($F[$nome][tipo] == "radio") {
if($obb == "SI") $STYLE=$F[f_css_rc];
$stato = "";
$VALORI = explode ("|",$F[$nome][val][$lang]);
$AGG = $VALORI[$AGG-1];
if($AGG == $valore) $stato = "checked";
else $stato = "";
return ' ';
}
}
function f_submit() {
global $F,$DATI;
$lang = $DATI["lang"];
return encode($F[f_submit][$lang]);
}
function f_merge($nome) {
global $F;
if(is_array($F[$nome])) {
if(isset($F[$nome]["f_duepunti"])) $F["f_duepunti"] = $F[$nome]["f_duepunti"];
}
}
//stampa il nome
function fn($nome,$AGG=NULL) {
global $F, $DATI;
//merge
f_merge($nome);
$lang = $DATI["lang"];
//if($F[f_txt_stili] == "SI") $out = ''.$F[$nome][$lang].' ';
if($F[f_err] != "" and $F["$nome"]["obb"] == "SI"){
$out = str_replace("#ASTERISCO#",$F[f_err],$F[f_txt_t]);
}
else $out = str_replace("#ASTERISCO#","",$F[f_txt_t]);
//template per il testo
$out = str_replace("#NOME#",$F[$nome][$lang],$out);
$out = str_replace("#NOME_FORM#",$F[f_nome_form],$out);
$out = str_replace("#DUEPUNTI#",$F[f_duepunti],$out);
return encode($out);
}
function f_crea_form($nome_form=NULL) {
//ciclo principale
}
function f_errori($nome_form=NULL) {
global $F,$FORM,$DATI;
if(is_array($F[f_errori])) {
$lang = $DATI[lang];
//creo errori
while(list($k, $v)=@each($F[f_errori])) {
$errori .= str_replace("#ERRORE#",$v,$F[f_erro_temp][$lang]);
}
$out = str_replace("#ERRORI#",$errori,$F[f_txt_errore][$lang]);
$out = str_replace("#NOME_FORM#",$F[f_nome_form],$out);
return encode($out);
} else return FALSE;
//ciclo principale
}
function f_invio($nome_form=NULL) {
//sistemo variabili
//inizializzo form
//se non ci sono errori ed e' stato premuto il pulsante invia, mando conferma ed e-mail
global $F,$FORM,$DATI;
$lang = $DATI[lang];
//in ogni caso se ci sono errori torna FALSE
if(!is_array($F[f_errori]) and is_array($FORM)) {
//mando e-mail
//sistemo oggetto
$F[f_oggetto][$lang] = str_replace("#SITO#",$F[f_nome_sito],$F[f_oggetto][$lang]);
$F[f_oggetto][$lang] = str_replace("#NOME#",$F[f_nomecognome],$F[f_oggetto][$lang]);
//creo ordine dei campi (possibile retroproblema) ???? da finire
//@reset($F);
//while (list ($k, $v) = each ($F)) {
// if($F[$k][tipo] != "") $ORD[] = $k;
//}
//print_r($ORD);
@reset($FORM);
while (list ($k, $v) = each ($FORM)) {
if($v != "") {
//controllo se l' invio e' disabilitato (FLAG invio)
if($F[$k][invio] != "NO") {
//mi prendo la configurazione del campo senno' quella gobale
if($F[$k][f_form_tpl]) $f_form_tpl = $F[$k][f_form_tpl];
else $f_form_tpl = $F[f_form_tpl];
//costruisco risposta
$stringa1 = "";
$stringa1 = str_replace("#NCAMPO#",$F[$k][$lang],$f_form_tpl);
$stringa .= str_replace("#VCAMPO#",$v,$stringa1);
//$stringa .= "- ".$F[$k][$lang].": $v \n\n";
}
}
}
//intorno al messaggio
$riga_prima .= "\n-------------------------- ".$F[f_testo_msg][$lang]." --------------------------\n";
$riga_dopo .= "\n---------------------------------------------------------------\n";
//sistemo messaggio
$messaggio = str_replace("#SITO#",$F[f_nome_sito],$F[f_testo][$lang]);
$messaggio = str_replace("#MESSAGGIO#",$riga_prima.$stringa.$riga_dopo,$messaggio);
$messaggio = str_replace("#NOME_FORM#",$F[f_nome_form],$messaggio);
//info prima e dopo
//$messaggio = $F[f_msg_prima].$messaggio.$F[f_msg_dopo];
//header creo indirizzo mittente
$F[f_from] = 'From: "'.$F[f_nomecognome].' ('.$F[f_email_form].')" <'.$F[f_email_form].'>'."\r\n";
//header e-mail cc di indi per uso nei sito
if($F[f_email_cc] != "") {
$CC = "Cc: $F[f_email_cc] \r\n";
}
//e-mail principale del form con eventuale CC
mail($F[f_email_dest], $F[f_oggetto][$lang],$messaggio,$F[f_from].$CC);
//e-mail di copia di servizio INDI
//imposto un po' di dati aggiuntivi
$messaggio_agg .= "\n\n------------DATI AGGIUNTIVI FORM INDI -----------------\n\n";
$messaggio_agg .= "Dominio\t -> $DATI[dominio_sito]\n";
$messaggio_agg .= "Nome\t -> $DATI[nome_sito]\n";
$messaggio_agg .= "URL\t -> $DATI[baseurl]\n";
$messaggio_agg .= "INDI\t -> $DATI[INDI]\n";
$messaggio_agg .= "INDI\t -> $DATI[INDI]\n";
$messaggio_agg .= "IP\t -> $_SERVER[REMOTE_ADDR]\n";
$messaggio_agg .= "HOST\t-> $_SERVER[REMOTE_HOST]\n";
$messaggio_agg .= "AGENT\t -> $_SERVER[HTTP_USER_AGENT]\n";
if($F[f_email_indi] != "") {
mail($F[f_email_indi], "INDI:FORM:".$F[f_oggetto][$lang],$messaggio.$messaggio_agg,$F[f_from]);
}
//copia webmaster
if($F[f_email_copia] != "") {
mail($F[f_email_copia], "COPIA: ".$F[f_oggetto][$lang],$messaggio,$F[f_from]);
}
//creo output resoconto
reset($FORM);
while(list($k, $v)=@each($FORM)) {
if($v != "") {
if($F[$k][risposta] != "NO") {
$dati_tmp = str_replace("#DATO#",$v,$F[f_dato_temp][$lang]);
$campo = $F[$k][$lang];
$dati .= str_replace("#CAMPO#",$campo,$dati_tmp);
}
}
}
$out = str_replace("#DATI#",$dati,$F[f_txt_invio][$lang]);
$out = str_replace("#NOME#",$F[f_nomecognome],$out);
$out = str_replace("#NOME_FORM#",$F[f_nome_form],$out);
//d($messaggio,"MESSAGGIO");
//d($out,"RISPOSTA");
return encode($out);
} else {
return FALSE;
}
}
//header
function f_head($nome_form=NULL) {
global $F,$DATI;
$lang = $DATI[lang];
$out = str_replace("#NOME_FORM#",$F[f_nome_form],$F[f_txt_head][$lang]);
return $out;
}
function f_form() {
global $F,$FORM,$DATI;
f_init();
//DEBUG
//d($F,"CONFIGURAZIONE");
d($FORM,"FORM");
//se non ci sono errori e
if(!is_array($F[f_errori]) and is_array($FORM)) {
return TRUE;
}
else return FALSE;
}
function f_auto() {
global $F,$DATI;
$lang = $DATI[lang];
f_init();
//print "aa";
//creo la form
if(f_invio() == FALSE) {
reset($F);
while(list($k, $v)=@each($F)) {
if(is_array($v) and $v[tipo]) {
$form_tmp = str_replace("#NOME_CAMPO#",fn($k),$F[f_table_riga_t][$lang]);
$form_tmp = str_replace("#CAMPO#",f($k),$form_tmp);
$form .= $form_tmp;
}
}
$out_table = str_replace("#HEADER#",f_head(),$F[f_table_t][$lang]);
$out_table = str_replace("#ERRORI#",f_errori(),$out_table);
$out_table = str_replace("#SUBMIT#",$F[f_submit][$lang],$out_table);
$out_table = str_replace("#FORM#",$form,$out_table);
$out_table = str_replace("#NOME_FORM#",$F[f_nome_form],$out_table);
return $out_table;
} else {
$out = str_replace("#CONFERMA#",f_invio(),$F[f_table_risp_t][$lang]);
$out = str_replace("#NOME_FORM#",$F[f_nome_form],$out);
return $out;
}
}
?>