0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
vtiger
/
5.0.4
/
standard
/
scripts
/
[
Home
]
File: configure
<?php // Jun Bao @ networksolutions require_once('env-parser.php'); require_once('file-util.php'); require_once('db-util.php'); require_once('app-util.php'); require_once('upgrade-app.php'); require_once('custom.php'); require_once('custom_configs.php'); function admin_password_crypt($value) { return md5($value); } $config_files = array( '/' => array( array ('config.inc.php', 'config.inc.php'), array ('5createTables.inc.php', 'install/5createTables.inc.php') ) ); //$schema_files = array( 'schema.sql' => 'main' ); //$reconf_schema_files = array( 'reconfigure.sql' => 'main' ); //$remove_schema_files = array( 'remove.sql' => 'main' ); $psa_params = array ( ); $db_ids = array ( 'main' ); $web_ids = array ( '/' ); $settings_params = array ( 'admin_name', 'admin_password', 'admin_email', 'domainName', 'app_instance_id' ); $settings_enum_params = array ( ); $crypt_settings_params = array ( ); $psa_modify_hash = get_psa_modify_hash($psa_params); $db_modify_hash = get_db_modify_hash($db_ids); $web_modify_hash = get_web_modify_hash($web_ids); $settings_modify_hash = get_settings_modify_hash($settings_params); $settings_enum_modify_hash = get_settings_enum_modify_hash($settings_enum_params); $crypt_settings_modify_hash = get_crypt_settings_modify_hash($crypt_settings_params); $additional_modify_hash = get_additional_modify_hash(); if(count($argv) < 2) { print "Usage: configure (install | upgrade <version> | configure | remove)\n"; exit(1); } $command = $argv[1]; if($command == "upgrade") { if($argv[2] && $argv[3]){ upgrade_app($argv[2], $argv[3], $config_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); exit(0); } else{ print "Error: upgrade version or release not specified.\n"; exit(1); } } if($command == "install") { // 1. Base installation // 1.1 Declare variables $current_dir = getcwd(); $acct_dir = fetch_env_var("WEB___DIR"); $install = 'install.php'; $key = md5($acct_dir); $key_modify_hash = get_key_modify_hash($key); $depo_dir = "$current_dir/../../"; $source_dir = "$depo_dir/standard/htdocs"; $additional_modify_hash = array_merge($web_modify_hash, $key_modify_hash); $default_category_id = 12000000; // 1.2 Clean cache folder and logs folder clean_cache_and_logs($acct_dir); // 1.3 Clean custom forms clean_custom_files($acct_dir); // 1.4 copy template files over and then modify them accordingly write_config_files($config_files, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $settings_enum_modify_hash, $crypt_settings_modify_hash, $additional_modify_hash); // 1.5 Run install script chdir($acct_dir); $php_cli_cmd = "php-cli $install 2>&1"; $exec_cmd = `$php_cli_cmd`; // 2. Customization // 2.1 Declare variables // $global = fetch_env_var("SETTINGS_global"); $category_id = fetch_env_var("SETTINGS_category_id"); if ($category_id == 000000) { $category_id = $default_category_id; } // 2.2 Customize Global $custom_config_files = set_custom_config_files($category_id); set_global($category_id, $depo_dir, $acct_dir, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); // 2.4 Modify SSO file chdir("$current_dir"); $custom_sso_files = array( '/' => array( array ('SSO.php', 'include/utils/SSO.php') ) ); write_config_files($custom_sso_files, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $settings_enum_modify_hash, $crypt_settings_modify_hash, $additional_modify_hash); //$domainName = fetch_env_var("SETTINGS_domainName"); //if ($domianName == NULL || $domainName == ''){ // $admin_email = fetch_env_var("SETTINGS_admin_email"); // $chars = preg_split('/\@/', $admin_email); // $domain_name = $chars[1]; // $domain_modify_hash = get_domain_modify_hash($domain_name); //} //else { // $domain_modify_hash = get_domain_modify_hash($domainName); //} //$additional_modify_hash = array_merge($additional_modify_hash, $domain_modify_hash); // 2.5 Customize Custom if (!is_null($custom_config_files)) { set_custom($custom_config_files, $category_id, $depo_dir, $acct_dir, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); } // 3 Clean Install Folders // 3.1 Remove install folder / install script $remove_install_folder_cmd = "rm -rf $acct_dir/install/"; $remove_install_script_cmd = "rm $acct_dir/$install"; $exec_cmd = `$remove_install_folder_cmd`; $exec_cmd = `$remove_install_script_cmd`; // 3.2 Remove sql folder $remove_sql_folder_cmd = "rm -rf $acct_dir/sql/"; $exec_cmd = `$remove_sql_folder_cmd`; // Change back to original working directory chdir("$current_dir"); exit(0); } if($command == "remove") { //remove_app($remove_schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); $host = fetch_env_var("DB_main_HOST"); $user = fetch_env_var("DB_main_LOGIN"); $password = fetch_env_var("DB_main_PASSWORD"); $database = fetch_env_var("DB_main_NAME"); $remove_db_command_common = "mysql --host=$host --user=$user --password=$password --database=$database"; $remove_db_command = $remove_db_command_common . " -e \"show tables;\" -N "; $remove_db_command .= "| awk '{print \"DROP TABLES \" \$1 \";\"};' | "; $remove_db_command .= $remove_db_command_common; $exec_cmd = `$remove_db_command`; // re-copy install folder and install script $acct_dir = fetch_env_var("WEB___DIR"); $current_dir = getcwd(); $install = 'install.php'; $depo_dir = "$current_dir/../../"; $copy_install_folder_command = "cp -Rp $depo_dir/standard/htdocs/install/ $acct_dir/"; $copy_install_script_command = "cp -Rp $depo_dir/standard/htdocs/install.php $acct_dir/"; $exec_cmd = `$copy_install_folder_command`; $exec_cmd = `$copy_install_script_command`; exit(0); } if($command == "configure") { configure($config_files, $reconf_schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); exit(0); } print "Error: unknown command $command.\n"; exit(1); ?>