0byt3m1n1
Path:
/
data
/
applications
/
aps
/
mantis
/
1.2.7-0
/
standard
/
scripts
/
[
Home
]
File: configure
<?php ini_set('include_path', '.'); 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'); function admin_password_crypt($value) { return md5($value); } function cookie_string_crypt() { return md5( mt_rand( 0, mt_getrandmax() ) + mt_rand( 0, mt_getrandmax() ) ) . md5( time() ); } $config_files = array( '/' => array( array('config_inc.php.in', 'config_inc.php')), '/cgi-bin' => array() ); $schema_files = array( 'schema.sql' => 'main' ); $reconf_schema_files = array( 'reconfigure.sql' => 'main' ); $remove_schema_files = array( 'remove.sql' => 'main' ); $upgrade_schema_files = array( 'upgrade.sql' => 'main' ); $psa_params = array ( ); $db_ids = array ( 'main' ); $web_ids = array ( '/' ); $settings_params = array ( 'admin_name', 'admin_email', 'webmaster_email', 'from_email', 'from_name', 'return_path_email' ); $settings_enum_params = array ( 'locale' => array( 'bg-BG' => 'bulgarian', 'ca-ES' => 'catalan', 'zh-CN' => 'chinese_simplified', 'zh-TW' => 'chinese_traditional', 'hr-HR' => 'croatian', 'cz-CZ' => 'czech', 'da-DK' => 'danish', 'nl-NL' => 'dutch', 'en-US' => 'english', 'et-EE' => 'estonian', 'fi-FI' => 'finnish', 'fr-FR' => 'french', 'de-DE' => 'german', 'de-SI' => 'german_eintrag', 'el-GR' => 'greek', 'he-IL' => 'hebrew', 'hu-HU' => 'hungarian', 'is-IS' => 'icelandic', 'it-IT' => 'italian', 'ja-JP' => 'japanese', 'ko-KP' => 'korean', 'lv-LV' => 'latvian', 'lt-LT' => 'lithuanian', 'nb-NO' => 'norwegian', 'pl-PL' => 'polish', 'pt-PT' => 'portuguese_standard', 'pt-BR' => 'portuguese_brazil', 'ro-RO' => 'romanian', 'ru-RU' => 'russian', 'sr-RS' => 'serbian', 'sk-SK' => 'slovak', 'sl-SI' => 'slovene', 'es-ES' => 'spanish', 'sv-SE' => 'swedish', 'tr-TR' => 'turkish', 'uk-UA' => 'ukrainian', 'ur-PK' => 'urdu' ) ); $crypt_settings_params = array ( 'admin_password', 'cookie_string' ); $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]){ if ( $argv[2] == '1.0.6' ) { // in this version user password in DB is not encrypted. Add sql to encrypt $upgrade_schema_files['upgrade-1.0.6.sql'] = "main"; } if ( $argv[2] == '1.1.1' ) { // fake project ID prevents upgrade from 1.1.1. Fixing $upgrade_schema_files['upgrade-1.1.1.sql'] = "main"; } if (file_exists($psa_modify_hash["@@"."ROOT_DIR"."@@"]."/config_inc.php")) { rename($psa_modify_hash["@@"."ROOT_DIR"."@@"]."/config_inc.php", $psa_modify_hash["@@"."ROOT_DIR"."@@"]."/conf".time().".php.bak"); } configure($config_files, $upgrade_schema_files, $db_ids, $psa_modify_hash, $db_modify_hash, $settings_modify_hash, $crypt_settings_modify_hash, $settings_enum_modify_hash, $additional_modify_hash); $t_install_state = 2; $db_id = "main"; $f_hostname = get_db_address($db_id); $f_db_type = get_db_type($db_id); $f_database_name = get_db_name($db_id); $f_db_username = get_db_login($db_id); $f_db_password = get_db_password($db_id); $f_db_exists = true; $f_log_queries = false; $f_admin_username = $f_db_username; $f_admin_password = $f_db_password; $curdir = getcwd(); chdir($psa_modify_hash["@@"."ROOT_DIR"."@@"]); // Run native upgrade script include($psa_modify_hash["@@"."ROOT_DIR"."@@"]."/admin/install_aps.php"); chdir($curdir); // Remove installation scripts for security reason rmdirr($psa_modify_hash["@@ROOT_DIR@@"].'/admin'); exit(0); // $res = 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($res); } else{ print "Error: upgrade version or release not specified.\n"; exit(1); } } if($command == "install") { 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); rmdirr($psa_modify_hash["@@ROOT_DIR@@"].'/admin'); 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); exit(0); } if($command == "configure") { if (file_exists($psa_modify_hash["@@"."ROOT_DIR"."@@"]."/config_inc.php")) { rename($psa_modify_hash["@@"."ROOT_DIR"."@@"]."/config_inc.php", $psa_modify_hash["@@"."ROOT_DIR"."@@"]."/conf".time().".php.bak"); } 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); ?>