Skip to content
Snippets Groups Projects
database.php 5.11 KiB
Newer Older
  • Learn to ignore specific revisions
  • Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    <?php
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    /*
    *   Copyright 2008-2012 Maarch
    *
    *   This file is part of Maarch Framework.
    *
    *   Maarch Framework is free software: you can redistribute it and/or modify
    *   it under the terms of the GNU General Public License as published by
    *   the Free Software Foundation, either version 3 of the License, or
    *   (at your option) any later version.
    *
    *   Maarch Framework is distributed in the hope that it will be useful,
    *   but WITHOUT ANY WARRANTY; without even the implied warranty of
    *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    *   GNU General Public License for more details.
    *
    *   You should have received a copy of the GNU General Public License
    *   along with Maarch Framework. If not, see <http://www.gnu.org/licenses/>.
    */
    
    /**
    * @brief class of install tools
    *
    * @file
    * @author Arnaud Veber
    * @date $date$
    * @version $Revision$
    * @ingroup install
    */
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    if ($_REQUEST['action'] == 'testConnect') {
        $_SESSION['config']['databaseserver']     = $_REQUEST['databaseserver'];
        $_SESSION['config']['databaseserverport'] = $_REQUEST['databaseserverport'];
        $_SESSION['config']['databaseuser']       = $_REQUEST['databaseuser'];
        $_SESSION['config']['databasepassword']   = $_REQUEST['databasepassword'];
        $_SESSION['config']['databasetype']       = $_REQUEST['databasetype'];
    
        $checkDatabaseParameters = $Class_Install->checkDatabaseParameters(
            $_REQUEST['databaseserver'],
            $_REQUEST['databaseserverport'],
            $_REQUEST['databaseuser'],
            $_REQUEST['databasepassword'],
            $_REQUEST['databasetype']
        );
    
        if (!$checkDatabaseParameters) {
            $return['status'] = 0;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
            $return['text'] = _BAD_INFORMATIONS_FOR_CONNECTION;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
            $jsonReturn = json_encode($return);
    
            echo $jsonReturn;
            exit;
        }
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
           
            $filename = realpath('.').'/custom/';
            if (!file_exists($filename)) {
                $cheminCustom = realpath('.')."/custom";
                mkdir($cheminCustom, 0755);                
            }
    
    
    
    
    
    
    
    Henri Queneau's avatar
    Henri Queneau committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $return['status'] = 1;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $return['text'] = '';
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
        $jsonReturn = json_encode($return);
    
        echo $jsonReturn;
        exit;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    } elseif ($_REQUEST['action'] == 'createdatabase') {
    
    
    
        $verifDatabase = $Class_Install->verificationDatabase($_REQUEST['databasename']);
        //var_dump($verifDatabase);
        if($verifDatabase == false){
    
            //var_dump('test coucou');
            // $_SESSION['config']['databasename'] = $_REQUEST['databasename'];
            // //var_dump($_SESSION['config']);
            // $return['status'] = 3;
            // $return['text'] = "base de données existe déjà";
            // $jsonReturn = json_encode($return);
            // echo $jsonReturn;   
            //exit;
            $createCustom = $Class_Install->createCustom($_REQUEST['databasename']);
            //var_dump($createCustom);
            //var_dump($createCustom);
            if(!$createCustom){ 
                //var_dump($createDatabase);
                $return['status'] = 0;
                $return['text'] = _UNABLE_TO_CREATE_CUSTOM;
    
                $jsonReturn = json_encode($return);
    
                echo $jsonReturn;
                exit;
            }
    
            $fillConfigs = $Class_Install->fillConfigOfAppAndModule($_REQUEST['databasename']);
            //var_dump($fillConfigs);
            if (!$fillConfigs) {
                $return['status'] = 0;
                $return['text'] = _UNABLE_TO_CREATE_CUSTOM;
    
                $jsonReturn = json_encode($return);
    
                echo $jsonReturn;
                exit;
            }
    
    
            $return['status'] = 1;
            $return['text'] = 'redirect';
    
    
            $jsonReturn = json_encode($return);
    
            echo $jsonReturn;
            exit;
    
        }elseif($verifDatabase == true){
    
            //var_dump($verifDatabase);
    
    
    
            $createCustom = $Class_Install->createCustom($_REQUEST['databasename']);
                //var_dump($createCustom);
            if($createCustom === false){ 
                //var_dump($createDatabase);
                $return['status'] = 0;
                $return['text'] = _UNABLE_TO_CREATE_CUSTOM;
    
                echo $jsonReturn;
                exit;
            }
            $_SESSION['config']['databasename'] = $_REQUEST['databasename'];
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
            $createDatabase = $Class_Install->createDatabase(
                $_REQUEST['databasename']
            );
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
            if (!$createDatabase) {
                $return['status'] = 0;
                $return['text'] = _UNABLE_TO_CREATE_DATABASE;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
            $return['status'] = 1;
            $return['text'] = '';
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    } elseif ($_REQUEST['action'] == 'loadDatas') {
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $loadDatas = $Class_Install->createData(
    
            'sql/'.$_REQUEST['dataFilename'].'.sql'
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        );
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        if (!$loadDatas) {
            $return['status'] = 0;
    
            $return['text'] = _UNABLE_TO_LOAD_DATAS . ' : ';
            $return['text'] .= $_SESSION['errorLoadingSqlFile'];
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
            $jsonReturn = json_encode($return);
    
            echo $jsonReturn;
            exit;
        }
    
        $return['status'] = 1;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $return['text'] = 'redirect';
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    
        $jsonReturn = json_encode($return);
    
        echo $jsonReturn;
        exit;
    }