HEX
Server: Apache
System: Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User: u90323915 (5560665)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /homepages/oneclick/moodle/2.6.0.1/3/scripts/app-util.php
<?php

ini_set('include_path', '.');

require_once('env-parser.php');
require_once('file-util.php');
require_once('db-util.php');

function configure($config_files, $schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash)
{
    // -- Creating inital DB --

    import_sql_scripts_to_databases($schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash);

    // -- Writing config file --

    write_config_files($config_files, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash);
}

function remove_app($schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash)
{
    import_sql_scripts_to_databases($schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash);
}

function import_sql_scripts_to_databases($schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash)
{
    foreach($db_ids as $db_id){
        if(get_db_type($db_id) != "mysql")
        {
            print "FIXME: database type " . get_db_type($db_id) . " is not supported.\n";
            exit(1);
        }
        foreach($schema_files as $schema_filename => $schema_db_id){
            if($schema_db_id == $db_id){
                mysql_db_connect(get_db_address($db_id),
                                 get_db_login($db_id),
                                 get_db_password($db_id),
                                 get_db_name($db_id));

                $sql = modify_content($schema_filename,
                                      array_merge($psa_modify_hash,
                                            $db_modify_hash,
                                            $settings_modify_hash,
                                            $settings_enum_modify_hash,
					    $crypt_settings_modify_hash,
					    $additional_modify_hash));

                populate_mysql_db($sql);
            }
        }
    }
}

function write_config_files($config_files, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash)
{
    foreach($config_files as $web_id => $arr2){
        foreach($arr2 as $arr){
            $template_file = $arr[0];
            $dest_path = get_web_dir($web_id).'/'.$arr[1];
            modify_file($template_file,
                    $dest_path,
                    array_merge($psa_modify_hash,
                          $db_modify_hash,
                          $settings_modify_hash,
                          $settings_enum_modify_hash,
			  $crypt_settings_modify_hash,
			  $additional_modify_hash));
	}
    }
}

?>