<?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();