Ejemplo n.º 1
0
<?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();