//extract infos about nabz include PATH_MODEL . 'nabz.php'; $infos_nabz = read_infos_nabz($_SESSION['id']); //Edit infos nabz form $form_edit_nabz = new Form('form_edit_nabz'); $form_edit_nabz->method('POST'); $form_edit_nabz->add('Text', 'serial')->label("Serial")->value($infos_nabz['rabbit_serial']); $form_edit_nabz->add('Text', 'token')->label("Token")->value($infos_nabz['rabbit_token']); $form_edit_nabz->add('Submit', 'submit')->initial("Modifier ces informations"); //array for errors $error_edit = array(); if ($form_edit_nabz->is_valid($_POST)) { $nabz_serial = $form_edit_nabz->get_cleaned_data('serial'); $nabz_token = $form_edit_nabz->get_cleaned_data('token'); if (!empty($nabz_serial) or !empty($nabz_token)) { $test = update_infos_nabz($_SESSION['id'], $nabz_serial, $nabz_token); if ($test == true) { $msg_confirm = "Changement(s) pris en compte."; } else { // if this email addr is already taken $error =& $test; if (23000 == $error[0]) { // Le code d'erreur 23000 signifie "doublon" dans le standard ANSI SQL preg_match("`Duplicate entry '(.+)' for key \\d+`is", $error[2], $value_pb); $value_pb = $value_pb[1]; if ($nabz_token == $value_pb) { $error_edit[] = "Ce token ou ce serial est déjà utilisé."; } else { $error_edit[] = "Erreur ajout SQL : doublon non identifié présent dans la base de données."; } } else {
$required = "false"; $nabz_serial = ""; $nabz_token = ""; } $form_edit_user->add('Text', 'nabz_serial')->label('Serial du Nabz')->required($required)->value($nabz_serial); $form_edit_user->add('Text', 'nabz_token')->label('Token du Nabz')->required($required)->value($nabz_token); $form_edit_user->add('Submit', 'submit')->value('Éditer'); if ($form_edit_user->is_valid($_POST)) { list($new_login, $new_pass, $new_email, $new_balance, $valid_account, $new_nabz_serial, $new_nabz_token) = $form_edit_user->get_cleaned_data('login', 'password', 'email_addr', 'balance', 'valid_account', 'nabz_serial', 'nabz_token'); if ($new_pass != $infos_user['user_pass']) { $new_pass = sha1($new_pass); } else { $new_pass = $infos_user['user_pass']; } if (nabz_exists($new_nabz_serial, $new_nabz_token) == true) { update_infos_nabz($id_user, $new_nabz_serial, $new_nabz_token); } else { $error_update[] = "Couple token/serial incorrect."; } //end nabz_exist $update = update_infos_user($new_login, $new_pass, $new_email, $new_balance, $id_user); if ($update[0] == 23000) { $error = ereg_replace("for key 3", "", $update[2]); $error_update[] = $error; } else { $msg_confirm[] = "Modification effectuée"; } //end $update if (!empty($valid_account)) { valid_account($infos_user['hash_validation']); }