0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
joomla
/
1.5.13-10
/
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 get_localized_schema_files() { $schema_files = array( 'schema.sql' => 'main' ); $locale = fetch_env_var('SETTINGS_locale'); $fname = "${locale}_data.sql"; if (!@file_exists($fname)) { $fname = 'en-GB_data.sql'; } $schema_files[$fname] = 'main'; $enable_file_manager=fetch_env_var('SETTINGS_file_manager'); if ($enable_file_manager == 'yes') { $schema_files['enable-file-manager.sql'] = 'main'; } return $schema_files; } function get_reconf_schema_files() { $reconf_schema_file = array( 'reconfigure.sql' => 'main' ); $enable_file_manager=fetch_env_var('SETTINGS_file_manager'); $reconf_schema_file['disable-file-manager.sql'] = 'main'; if ($enable_file_manager == 'yes') { $reconf_schema_file['enable-file-manager.sql'] = 'main'; } return $reconf_schema_file; } $config_files = array( '/' => array( array('configuration.php.in', 'configuration.php'), array('com_extplorer.php.in', 'administrator/components/com_extplorer/include/doc_root.php')), '/cgi-bin' => array() ); $reconfig_files = array('/' => array( array('configuration.php.in', 'configuration.php')),'/cgi-bin' => array()); $upgrade_files = $config_files; $schema_files = get_localized_schema_files(); //$reconf_schema_files = array( 'reconfigure.sql' => 'main' ); $reconf_schema_files = get_reconf_schema_files(); $remove_schema_files = array( 'remove.sql' => 'main' ); $psa_params = array ( ); $db_ids = array ( 'main' ); $web_ids = array ( 'administrator', 'backups', 'components', 'language', 'modules', 'templates', 'cache', 'cache', 'components', 'images', 'banners', 'stories', 'language', 'modules', 'plugins', 'templates', 'tmp', 'configuration.php', '/' ); $settings_params = array ( 'admin_name', 'admin_email', 'title', 'install_sample_data' ); $settings_enum_params = array ( 'locale' => array( 'en-GB' => 'en-GB', 'fr-FR' => 'fr-FR', 'de-DE' => 'de-DE', 'es-ES' => 'es-ES' ) ); $crypt_settings_params = array ( 'admin_password' ); $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" || $command == "configure") { $old_config = $psa_modify_hash["@@"."ROOT_DIR"."@@"]."/configuration.php"; if (file_exists($old_config)) { $meta_settings = array('dbtype', 'host', 'user', 'password', 'db', 'dbprefix', 'mailfrom', 'log_path', 'tmp_path'); $old_content = read_file($old_config); if (preg_match('/class JConfig /', $old_content)) { rebuild_config_file($old_config, "configuration.php.in", $psa_modify_hash["@@"."ROOT_DIR"."@@"]."/tmp/configuration2.php.in", $meta_settings); $reconfig_files = array('/' => array( array($psa_modify_hash["@@"."ROOT_DIR"."@@"].'/tmp/configuration2.php.in', 'configuration.php')), '/cgi-bin' => array()); $upgrade_files = array('/' => array( array($psa_modify_hash["@@"."ROOT_DIR"."@@"].'/tmp/configuration2.php.in', 'configuration.php'), array('com_extplorer.php.in', 'administrator/components/com_extplorer/include/doc_root.php')), '/cgi-bin' => array()); } } } if($command == "upgrade") { if($argv[2] && $argv[3]){ upgrade_app($argv[2], $argv[3], $upgrade_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") { 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); 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") { configure($reconfig_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); function rebuild_config_file($old_config_file, $file_source, $file_dest, $meta_settings) { $file_content = read_file($file_source); require_once "$old_config_file"; $old_conf = new JConfig(); foreach (get_object_vars($old_conf) as $key => $value) { foreach ($meta_settings as $field) { if ($key == $field) { continue 2; } } $file_content = preg_replace('/var \$'.$key.' = .*?;\n/', 'var \$'.$key." = '".php_quote($value)."';\n", $file_content); } write_file($file_dest, $file_content); } ?>