Вход Регистрация
Файл: source/app/objects/install/Install.php
Строк: 181
<?php

class Install {

    private 
$da;
    private 
$savant;

    public function 
__construct($da) {
        
$this->da $da;
        
$this->savant = new Savant3();
        
$this->savant->setPath('template'dirname(__FILE__));
    }

    private function 
dispay() {
        
$this->savant->errors = array();

        return 
$this->savant->getOutput('install.tpl.php');
    }

    private function 
update() {

        global 
$config_database;
        
$errors = array();
        if (!
is_writable(__DATABASE_CONFIG_PATH__)) {
            
$errors[] = 'Sorry, <b>' __DATABASE_CONFIG_PATH__ '</b> directory is not allowed to write.';
        }
        
$da = new DataAccess($config_database['default']['server'],
                        
$config_database['default']['user'],
                        
$config_database['default']['password'],
                        
$config_database['default']['database']);
        
$error $da->isError();
        if (!empty(
$error)) {
            
$errors[] = $da->isError();
        }

        
$this->savant->errors $errors;
        if (
count($errors) > 0) {
            return 
$this->savant->getOutput('install.tpl.php');
        } else {
            require 
dirname(__FILE__) . '/phpMyImporter.php';

            if (!
is_dir(__DATABASE_CONFIG_PATH__ '/' $config_database['default']["database"])) {
                
$oldumask umask(0);
                
mkdir(__DATABASE_CONFIG_PATH__ '/' $config_database['default']["database"], 0777);
                
umask($oldumask);
            }

            
// install user data
            
$dao = new Dao($this->da);
            
$tables $dao->listTables();

            
$connection = @mysql_connect($config_database['default']['server'], $config_database['default']['user'], $config_database['default']['password']);


            
// install new
            
$oldumask umask(0);
            
recurse_copy(dirname(__FILE__) . '/data/user/config'__DATABASE_CONFIG_PATH__ '/' $config_database['default']["database"]);
            
umask($oldumask);

            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_components.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();

            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_group_components.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();

            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_groups.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();
            
            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_histories.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();

            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_permissions.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();
            
            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_settings.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();
            
            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_user_permissions.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();
            
            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_users.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();
            
            
ob_start();
            
$filename dirname(__FILE__) . '/data/user/sql/crud_languages.sql';
            
$compress false;
            
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
            
$dump->utf8 true;
            
$dump->doImport();
            
ob_get_clean();

            
// install sample data
            
if ((int) $_POST['sample_data'] == 1) {
                
ob_start();
                
$filename dirname(__FILE__) . '/data/sampledata/sql/articles.sql';
                
$compress false;
                
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
                
$dump->utf8 true;
                
$dump->doImport();
                
ob_get_clean();

                
ob_start();
                
$filename dirname(__FILE__) . '/data/sampledata/sql/categories.sql';
                
$compress false;
                
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
                
$dump->utf8 true;
                
$dump->doImport();
                
ob_get_clean();
                
                
                
ob_start();
                
$filename dirname(__FILE__) . '/data/sampledata/sql/countries.sql';
                
$compress false;
                
$dump = new phpMyImporter($config_database['default']["database"], $connection$filename$compress);
                
$dump->utf8 true;
                
$dump->doImport();
                
ob_get_clean();

                
$oldumask umask(0);
                
recurse_copy(dirname(__FILE__) . '/data/sampledata/config'__DATABASE_CONFIG_PATH__ '/' $config_database['default']["database"]);
                
umask($oldumask);
            }

            
$oldumask umask(0);
            
file_put_contents(__DATABASE_CONFIG_PATH__ '/' $config_database['default']["database"] . '/v_1.1.txt'"");
            
umask($oldumask);

            return 
$this->savant->getOutput('complete.tpl.php');
        }
    }

    public function 
execute() {
        if (
count($_POST) > 0) {
            return 
$this->update();
        } else {
            return 
$this->dispay();
        }
    }

}
Онлайн: 1
Реклама