' . '?'; } // END FUNC // >>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ /* * FORMVALSCRIPT : Générer le code JavaScript de validation d'un formulaire * * @param string $str_name : nom du champ (ou "START" / "STOP" = début/fin du script) * @param string $str_label : libellé du champ * @param string $str_type : type (e-mail, checkbox, date, number, radio, regexp, script, select, text) * @param string $int_minsize : nombre minimal de caractères * (pour Date : limite_basse|limite_haute|format FR/EN/SQL) * @param string $str_cond : condition (si vide, contrôler $int_minsize) * (avec remplacement de balises {{xx}} : VALUE = f..value, LENGTH = f..length) * @param string $str_errmsg : message d'erreur si échec de validation (balise {{FIELD}} remplacée par le libellé) * * @return void (echo) */ function formValScript($str_name, $str_label, $str_type, $int_minsize, $str_cond, $str_errmsg) { // Début du script if ($str_name == "START") { if ($str_type == "e-mail") { echo '' . "\n"; } // END IF echo <<' . "\n\n"; // Corps du script (définition de la condition) } elseif ($str_type == 'script') { echo ' ' . $str_cond . "\n\n"; } elseif ($int_minsize != '0' or !empty($str_cond)) { $search = array( '{{NAME}}', '{{VALUE}}', '{{LENGTH}}' ); $replace = array( 'f.' . $str_name, 'f.' . $str_name . ($str_type == 'select' ? '.options[this.selectedIndex]' : '') . '.value', 'f.' . $str_name . '.value.length' ); if (empty($str_label)) { $str_label = $str_name; } // END IF if (empty($str_errmsg)) { $str_errmsg = $str_label . ' : erreur de saisie'; } // END IF if ($str_type == 'date' and empty($str_cond)) { if (!empty($int_minsize)) { $params = explode('|', $int_minsize); } // END IF $str_cond = '!testDate({{VALUE}}, "' . @$params[0] . '", "' . @$params[1] . '", "' . @$params[2] . '")'; } elseif ($str_type == 'select' and empty($str_cond)) { $str_cond = '{{NAME}}.selectedIndex == 0'; } elseif ($str_type == 'regexp') { $str_cond = '{{VALUE}}.match("' . $str_cond . '") == null'; } // END IF echo ' if (' . str_replace($search, $replace, (empty($str_cond) ? '{{LENGTH}} < ' . $int_minsize : $str_cond)) . ') {' . "\n"; if ($str_type != 'e-mail') { echo ' alert("' . str_replace('{{LABEL}}', $str_label, $str_errmsg); if ($int_minsize > 0 and strpos('date select', $str_type) === FALSE) echo '\n(' . $int_minsize . ' ' . ($str_type == 'text' ? 'caractères' : 'chiffres') . ' minimum)'; echo '.");' . "\n"; } // END IF echo ' f.' . $str_name . ($str_type == 'radio' ? '[0]' : '') . '.focus();' . "\n" . ' return false;' . "\n" . ' } // END IF' . "\n\n"; } // END IF } // END FUNC /* * FORMELEMENT : Générer un élément de formulaire complet avec libellé, style, mention obligatoire, etc. * * @param $str_type : type d'élément standard (hidden, text, textarea, ...) ou spécial (label, required, html) * @param $str_name : nom de l'élément * @param $str_label : libellé (ou "libellé|classe") * @param $str_format : nom de classe ou options supplémentaires * @param $str_context : code préfixant et/ou suffixant l'élément, par exemple "

##ITEM##

" * @param $bool_required : mention Obligatoire ? * @param $str_options : options * ("withid" = ajoute l'attribut id="xxx" après name="xxx", "noname" = n'insère pas d'attribut name="xxx", * "nolabel" = n'insère pas de balise "label", "break" = insère un "
" après les éléments checkbox et radio) * @param array $arr_values : tableau (au format valeurs ou clés/valeurs) ou chaîne d'options * (au format "valeur1|...|valeurX" ou "clé1§valeur1|...|cléX§valeurX" ou "min::max" ou "min::max::pas") * @param $str_defval : valeur par défaut * @param $str_curval : valeur courante * * @return void (echo) */ function formElement($str_type, $str_name, $str_label, $str_format, $str_context, $bool_required, $str_options, $arr_values, $str_defval, $str_curval) { // Initialisations $item = ''; $str_options = ' ' . $str_options; $elt_values = $arr_values; if (!empty($elt_values) and !is_array($elt_values)) { if (strpos($elt_values, '|')) { $elt_values = explode('|', $elt_values); } elseif (strpos($elt_values, '::')) { $temp = explode('::', $elt_values); $elt_values = range($temp[0], $temp[1], (empty($temp[2]) ? 1 : $temp[2])); } else { $elt_values = array($elt_values); } // END IF } // END IF $item_name = ((empty($str_name) or strpos($str_options, 'noname')) ? '' : ' name="' . $str_name . '"'); $item_id = (strpos($str_options, 'withid') ? ' id="' . $str_name . '"' : ''); if (!empty($str_format)) { $str_format = ' ' . (strpos($str_format, '"') ? $str_format : 'class="' . $str_format . '"'); } // END IF if (empty($str_curval)) { $item_value = $str_defval; } else { $item_value = $str_curval; } // END IF if (strpos($str_label, '|')) { $temp = explode('|', $str_label); $str_label = $temp[0]; $label_class = $temp[1]; } else { $label_class = 'text'; } // END IF $required = ($bool_required ? ' *' : ''); // Libellé if (!empty($str_label)) { $item .= (strpos($str_options, 'nolabel') ? $str_label : '') . "\n"; } // END IF // Elément if (strpos(' button hidden submit text ', $str_type)) { $item .= ''; } elseif ($str_type == 'textarea') { $item .= '' . $item_value . ''; } elseif ($str_type == 'checkbox' or $str_type == 'radio') { $i = 0; foreach ($elt_values as $key => $value) { $i++; if (strpos(' ' . $value, '§')) { $temp = explode('§', $value); $key = $temp[0]; $value = $temp[1]; } else { $key = $value; } // END IF $item .= '' . "\n" . '' . ((strpos($str_options, 'break') and $i < count($elt_values)) ? '
' : '') . "\n"; } // END FOREACH } elseif ($str_type == 'select') { $item .= '' . "\n"; foreach ($elt_values as $key => $value) { if ((string)$value != '') { if (strpos(' ' . $value, '§')) { $temp = explode('§', $value); $key = $temp[0]; $value = $temp[1]; } // END IF $option_val = (strpos($str_options, 'nokeys') ? $value : $key); $display_val = (strpos($str_options, 'novalues') ? $key : $value); $item .= ' ' . "\n"; } // END IF } // END FOREACH $item .= ''; } elseif ($str_type == 'html') { $item .= $item_value; } // END IF // Mention Obligatoire et Contexte éventuel if (strpos($str_context, '#REQU#') === FALSE) { $item .= $required; } // END IF if (strpos(' ' . $str_context, '#ITEM#')) { $item = str_replace('#REQU#', $required, str_replace('#ITEM#', $item, $str_context)); } // END IF echo $item . ($str_type == 'label' ? '' : "\n\n"); } // END FUNC /* * ELTVALUE : renvoyer la valeur par défaut ou saisie précédemment (mémorisée dans $_SESSION['form']) * * @param string $str_element : nom de l'élément de formulaire * @param string $str_defaultval : valeur par défaut * * @return string : valeur */ function eltValue($str_element, $str_defaultval) { if (isset($_SESSION['form'][$str_element])) { return $_SESSION['form'][$str_element]; } else { return $str_defaultval; } // END IF } // END FUNC ?> Contact - Hotels-de-luxe.com

Tropicalement Vôtre - Organisateur de Voyages
43 rue Basfroi, 75011 Paris
Tél. : 01 43 70 93 92 - Fax : 01 43 70 99 77
Lundi-Vendredi 9h-19h (fermé le Samedi)
Voir le Plan d'accès

96 rue Pierre Corneille, 69003 Lyon
Tél. : 04 72 32 26 89 - Fax : 04 72 32 25 02
Lundi-Vendredi 9h30-18h30 (fermé le Samedi)
Voir le Plan d'accès

S.A.R.L. au capital de 80 400 euros
RCS Paris B 389 626 359
Licence n° Atout France IM075100393 - FR 86 389 626 359
Garantie financière APS
Assurance Responsabilité Civile Axelliance Risk

Contactez-nous : Rappelez-moi