0byt3m1n1
Path:
/
data
/
applications
/
aps
/
gallery
/
2.3-2
/
standard
/
scripts
/
[
Home
]
File: configure
<?php 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'); $root_dir = fetch_env_var("WEB___DIR"); ini_set('include_path', '.:'.$root_dir); function admin_password_crypt($value) { $salt = ''; for ($i = 0; $i < 4; $i++) { $char = mt_rand(48, 109); $char += ($char > 90) ? 13 : ($char > 57) ? 7 : 0; $salt .= chr($char); } return $salt . md5($salt . $value); } $config_files = array( '/' => array( array('config.php.in', 'config.php'), array('versions.dat.in', 'g2data/versions.dat')), '/cgi-bin' => array() ); $config_files_upgrade = array( '/' => array(), '/cgi-bin' => array() ); $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 ( 'g2data', 'albums', 'locks', 'cache', 'plugins_data', 'modules', 'themes', 'smarty', 'templates_c', 'tmp', '/' ); $settings_params = array ( 'admin_name', 'admin_email', 'title' ); $settings_enum_params = array ( ); $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") { if($argv[2] && $argv[3]){ upgrade_app($argv[2], $argv[3], $config_files_upgrade, $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); // Initialize Gallery objects include($root_dir.'/bootstrap.inc'); require_once($root_dir.'/init.inc'); GalleryInitFirstPass(); // Try to configure default graphics plugins foreach(array('gd', 'netpbm', 'imagemagick') as $gplugin) { if (!plugin_configure($gplugin)) break; } 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($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); function plugin_configure($moduleId) { list ($ret, $plugin) = GalleryCoreApi::loadPlugin('module', $moduleId, true); if ($ret) return $ret; $ret = $plugin->installOrUpgrade(); if ($ret) return $ret; list ($ret, $autoConfigured) = $plugin->autoConfigure(); if ($ret) { $plugin->uninstall(); return $ret; } list ($ret, $redirect) = $plugin->activate(); if ($ret) { $plugin->uninstall(); return $ret; } return NULL; } ?>