You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							76 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
	
	
							76 lines
						
					
					
						
							2.2 KiB
						
					
					
				<?php
 | 
						|
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
 | 
						|
/**
 | 
						|
 * Chamilo installation
 | 
						|
 * AJAX requests for the installation.
 | 
						|
 */
 | 
						|
ini_set('display_errors', '1');
 | 
						|
ini_set('log_errors', '1');
 | 
						|
error_reporting(-1);
 | 
						|
 | 
						|
require_once __DIR__.'/../../vendor/autoload.php';
 | 
						|
 | 
						|
define('SYSTEM_INSTALLATION', 1);
 | 
						|
define('INSTALL_TYPE_UPDATE', 'update');
 | 
						|
define('FORM_FIELD_DISPLAY_LENGTH', 40);
 | 
						|
define('DATABASE_FORM_FIELD_DISPLAY_LENGTH', 25);
 | 
						|
define('MAX_FORM_FIELD_LENGTH', 80);
 | 
						|
 | 
						|
// Including necessary libraries.
 | 
						|
require_once '../inc/lib/api.lib.php';
 | 
						|
 | 
						|
session_start();
 | 
						|
 | 
						|
require_once api_get_path(LIBRARY_PATH).'database.constants.inc.php';
 | 
						|
require_once 'install.lib.php';
 | 
						|
 | 
						|
$action = isset($_POST['a']) ? $_POST['a'] : null;
 | 
						|
 | 
						|
$dbHost = isset($_POST['db_host']) ? $_POST['db_host'] : 'localhost';
 | 
						|
$dbUsername = isset($_POST['db_username']) ? $_POST['db_username'] : 'root';
 | 
						|
$dbPass = isset($_POST['db_pass']) ? $_POST['db_pass'] : '';
 | 
						|
$dbName = isset($_POST['db_name']) ? $_POST['db_name'] : 'chamilo';
 | 
						|
$installType = isset($_POST['install_type']) ? $_POST['install_type'] : 'new';
 | 
						|
 | 
						|
if ('new' === $installType) {
 | 
						|
    $dbName = null;
 | 
						|
}
 | 
						|
 | 
						|
$dbPort = isset($_POST['db_port']) ? $_POST['db_port'] : 3306;
 | 
						|
 | 
						|
connectToDatabase($dbHost, $dbUsername, $dbPass, $dbName, $dbPort);
 | 
						|
$manager = Database::getManager();
 | 
						|
 | 
						|
$db_prefix = api_get_configuration_value('db_prefix') ? api_get_configuration_value('db_prefix') : 'chamilo_';
 | 
						|
$db_c_prefix = api_get_configuration_value('table_prefix') ? api_get_configuration_value('table_prefix') : 'crs_';
 | 
						|
 | 
						|
switch ($action) {
 | 
						|
    case 'check_crs_tables':
 | 
						|
        if (empty($dbName)) {
 | 
						|
            echo 0;
 | 
						|
 | 
						|
            break;
 | 
						|
        }
 | 
						|
 | 
						|
        $countOfTables = $manager
 | 
						|
            ->getConnection()
 | 
						|
            ->executeQuery("SHOW TABLES LIKE '$db_c_prefix$db_prefix%'")
 | 
						|
            ->rowCount();
 | 
						|
 | 
						|
        echo $countOfTables;
 | 
						|
        break;
 | 
						|
    case 'remove_crs_tables':
 | 
						|
        $statement = $manager
 | 
						|
            ->getConnection()
 | 
						|
            ->executeQuery("SHOW TABLES LIKE '$db_c_prefix$db_prefix%'");
 | 
						|
 | 
						|
        while ($table = $statement->fetch(PDO::FETCH_NUM)) {
 | 
						|
            $manager->getConnection()->executeQuery("DROP TABLE {$table[0]}");
 | 
						|
        }
 | 
						|
 | 
						|
        break;
 | 
						|
    default:
 | 
						|
        break;
 | 
						|
}
 | 
						|
 |