require_once MODELS_INC . 'UserDAO.class.php'; use Transitive\Utils\Passwords; use Transitive\Utils\Validation; if (isset($_SESSION['cocktailsUser'])) { $request->redirect('profile'); } if ($_POST) { $modified = false; Validation::trimForm(array('firstName', 'lastName', 'sex', 'email', 'birthDate', 'address', 'postalCode', 'city', 'phoneNumber'), $_POST); Validation::validateForm(array('login' => function ($value) { return !UserDAO::getByLogin($_POST['login']) ? true : 'Un utilisateur possède déjà ce nom'; }, 'firstName' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Un prénom n\'a pas de chiffres ...'; }, 'lastName' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Un nom n\'a pas de chiffres ...'; }, 'city' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Une ville n\'a pas de chiffres ...'; }, 'phoneNumber' => function ($value) { return !empty($value) && Validation::is_valid_phoneNumber($value) || $value == "" || empty($value) ? true : 'Numéro de téléphone non valide'; }, 'email' => function ($value) { return Validation::is_valid_email($value) || $value == "" || empty($value) ? true : 'Mail non valide'; }), $_POST); if (Validation::isFormValid()) { $_POST['birthDate'] = $_POST['yBirthDate'] . '-' . $_POST['mBirthDate'] . '-' . $_POST['dBirthDate']; $password = Passwords::create_hash($_POST['password']); $newUser = new User($_POST['login'], $password, $_POST['firstName'], $_POST['lastName'], $_POST['sex'], $_POST['email'], $_POST['birthDate'], $_POST['address'], $_POST['postalCode'], $_POST['city'], $_POST['phoneNumber']); UserDAO::create($newUser); $request->redirect('login'); } }
if (!isset($_SESSION['cocktailsUser'])) { $request->redirect('signin'); } require_once MODELS_INC . 'UserDAO.class.php'; use Transitive\Utils\Validation; $user = UserDAO::getByLogin($_SESSION['cocktailsUser']->getLogin()); $formValidation = null; if ($_POST) { $modified = false; Validation::trimForm(array('firstName', 'lastName', 'sex', 'email', 'birthDate', 'address', 'postalCode', 'city', 'phoneNumber'), $_POST); Validation::validateForm(array('firstName' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Un prénom n\'a pas de chiffres ...'; }, 'lastName' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Un nom n\'a pas de chiffres ...'; }, 'city' => function ($value) { return !Validation::contains_numeric($value) ? true : 'Une ville n\'a pas de chiffres ...'; }, 'phoneNumber' => function ($value) { return !empty($value) && Validation::is_valid_phoneNumber($value) || $value == "" || empty($value) ? true : 'Numéro de téléphone non valide'; }, 'email' => function ($value) { return Validation::is_valid_email($value) || $value == "" || empty($value) ? true : 'Mail non valide'; }), $_POST); if (Validation::isFormValid()) { if ($_POST['firstName'] != $user->getFirstName()) { $user->setFirstName($_POST['firstName']); $modified = true; } if ($_POST['lastName'] != $user->getLastName()) { $user->setLastName($_POST['lastName']); $modified = true; } if ($_POST['sex'] != $user->getSex()) {
<?php define('ROOT_PATH', dirname(__FILE__)); define('DATA_PATH', ROOT_PATH . '/data/'); define('MODELS_INC', ROOT_PATH . '/models/'); require 'transitive/Transitive.inc.php'; use Transitive\Utils\Database as Db; use Transitive\Utils\Validation; $formValidation = null; if (isset($_POST['install'])) { Validation::trimForm(array('dbURI', 'dbPort', 'dbUser', 'dbName', 'tablePrefix'), $_POST); Validation::validateForm(array('dbPort' => function ($value) { return $value == '' || !empty($value) && $value != 0 && Validation::is_port_number($value) ? true : 'Le numéro de port doit être compris entre 1 et 65535'; }, 'dbUser' => function ($value) { return $value == '' || !empty($value) && strlen($value) <= 16 ? true : 'Le nom d\'utilisateur ne doit pas dépasser 16 caractères'; }, 'dbName' => function ($value) { return $value == '' || !empty($value) && strlen($value) <= 64 && !Validation::contains('.\\/\\', $value) ? true : 'Le nom de la base mySQL ne doit pas dépasser 64 caractères ou contenir "\\", "/" et "."'; }), $_POST); if (Validation::isFormValid()) { $result = ''; /* This function is only used for the install process so we define it here */ function sqlExecute($queryString, $params = NULL) { try { $statement = DB::getInstance()->prepare($queryString); if ($params && is_array($params)) { foreach ($params as $key => $param) { $statement->bindValue($key, $param); } } $statement->execute();