0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
sugarcrm
/
6.5.16-25
/
standard
/
scripts
/
[
Home
]
File: configure
<?php ini_set('include_path', '.'); ini_set('display_errors', 'on'); 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); } $config_files = array( '/' => array( array('config.php.in', 'config.php'), array('user.ini','.user.ini'), array('config_override.php.in', 'config_override.php'), array('OpportunitiesByLeadSourceByOutcomeDashlet.en_us.lang.php.in', 'modules/Charts/Dashlets/OpportunitiesByLeadSourceByOutcomeDashlet/OpportunitiesByLeadSourceByOutcomeDashlet.en_us.lang.php')), 'cgi-bin' => array() ); $config_files_up = array( '/' => array( array('OpportunitiesByLeadSourceByOutcomeDashlet.en_us.lang.php.in', 'modules/Charts/Dashlets/OpportunitiesByLeadSourceByOutcomeDashlet/OpportunitiesByLeadSourceByOutcomeDashlet.en_us.lang.php')), 'cgi-bin' => array() ); $schema_files = array( 'schema.mysql' => 'main' ); $reconf_schema_files = array( 'reconfigure.mysql' => 'main' ); $remove_schema_files = array( 'remove.mysql' => 'main' ); $psa_params = array ( ); $db_ids = array ( 'main' ); $web_ids = array ( 'config.php', '.htaccess', 'logs', 'cache', 'cache/images', 'cache/import', 'cache/layout', 'cache/pdf', 'cache/upload', 'cache/xml', 'custom', 'data', 'data/upload', 'modules', 'modules/Accounts', 'modules/ACL', 'modules/ACLActions', 'modules/ACLRoles', 'modules/Activities', 'modules/Administration', 'modules/Audit', 'modules/Bugs', 'modules/Calendar', 'modules/Calls', 'modules/CampaignLog', 'modules/Campaigns', 'modules/CampaignTrackers', 'modules/Cases', 'modules/Charts', 'modules/Configurator', 'modules/Contacts', 'modules/Currencies', 'modules/Dashboard', 'modules/DocumentRevisions', 'modules/Documents', 'modules/DynamicFields', 'modules/EditCustomFields', 'modules/EmailAddresses', 'modules/EmailMan', 'modules/EmailMarketing', 'modules/Emails', 'modules/EmailTemplates', 'modules/Employees', 'modules/Feeds', 'modules/Groups', 'modules/Help', 'modules/History', 'modules/Home', 'modules/iFrames', 'modules/Import', 'modules/InboundEmail', 'modules/LabelEditor', 'modules/Leads', 'modules/MailMerge', 'modules/Meetings', 'modules/MergeRecords', 'modules/ModuleBuilder', 'modules/MySettings', 'modules/Notes', 'modules/Opportunities', 'modules/OptimisticLock', 'modules/Project', 'modules/ProjectTask', 'modules/ProspectLists', 'modules/Prospects', 'modules/Relationships', 'modules/Releases', 'modules/Roles', 'modules/SavedSearch', 'modules/Schedulers', 'modules/SchedulersJobs', 'modules/Studio', 'modules/Tasks', 'modules/UpgradeWizard', 'modules/UserPreferences', 'modules/Users', 'modules/vCals', 'modules/Versions', '/' ); $settings_params = array ( 'title', 'admin_name' ); $settings_enum_params = array ( 'send_usage_statistics' => array( 'true' => 'true', 'false' => 'false' ), 'check_for_updates' => array( 'automatic' => 'automatic', 'manual' => 'manual' ) ); $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(); $additional_modify_hash['@@SUGAR_VERSION@@']='6.5.16'; 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_schema_files = array (); if (! file_exists( $psa_modify_hash['@@ROOT_DIR@@'] . '/config.php' )) { 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); }else{ configure($config_files_up, $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); } $curdir = getcwd(); if ($argv[2] == $additional_modify_hash['@@SUGAR_VERSION@@']) { # nothing to do //Delete SugarCE-upgrade Folder delete_directory($psa_modify_hash['@@ROOT_DIR@@'] . '/SugarCE-upgrade'); exit(0); } $sugar_builds = array('5.1.0a' => '4837', '5.0.0' => '2855', '5.2.0a' => '5447', '5.2.0j' => '5804', '5.5.1' => '1202', '5.5.4' => '1246', '6.2.0' => '6354', '6.4.2' => '7526', '6.5.0' => '8338', '6.5.2' => '8410', '6.5.4' => '8477', '6.5.5' => '8525', '6.5.6' => '8566', '6.5.8' => '8613', '6.5.9' => '8653', '6.5.10' => '8716', '6.5.11' => '8754', '6.5.12' => '1046', '6.5.13' => '1041', '6.5.14' => '1055', '6.5.15' => '1083', '6.5.16' => '1082'); $sugar_timestamps = array('5.0.0' => '2008-05-01 04:40pm', '5.1.0a' => '2008-10-01 04:40pm', '5.2.0a' => '2009-01-27 06:29pm', '5.2.0j' => '2009-09-08 02:28pm', '5.5.4' => '2010-06-23 06:59am', '6.2.0' => '2011-05-31 03:07pm', '6.4.2' => '2012-03-12 10:44am', '6.5.0' => '2012-06-06 01:09pm', '6.5.2' => '2012-07-20 01:19pm', '6.5.4' => '2012-08-24 10:37am', '6.5.5' => '2012-09-19 03:49pm', '6.5.6' => '2012-10-17 11:26am', '6.5.8' => '2012-11-19 10:26am', '6.5.9' => '2012-12-19 09:22am', '6.5.10' => '2013-01-29 11:01pm', '6.5.11' => '2013-02-27 02:07pm', '6.5.12' => '2013-04-02 11:00pm', '6.5.13' => '2013-05-08 02:24pm', '6.5.14' => '2013-06-20 11:00pm', '6.5.15' => '2013-08-25 11:01pm', '6.5.16' => '2013-10-20 11:31pm'); define('APS_SUGAR_VERSION', $argv[2]); define('APS_SUGAR_DB_VERSION', preg_replace('/[a-z]*$/', '', $argv[2])); define('APS_SUGAR_FLAVOR', 'CE'); define('APS_SUGAR_BUILD', $sugar_builds[APS_SUGAR_VERSION]); define('APS_SUGAR_TIMESTAMP', $sugar_timestamps[APS_SUGAR_VERSION]); define('APS_ZIP_FROM_DIR', "SugarCE-Upgrade-".APS_SUGAR_DB_VERSION."-to-".$additional_modify_hash['@@SUGAR_VERSION@@']); define('APS_OLD_FILES', "SugarCE-configs-".APS_SUGAR_DB_VERSION); $aps_upgrade_root = $psa_modify_hash['@@ROOT_DIR@@']; $aps_upgrade_log = $psa_modify_hash['@@ROOT_DIR@@'] . '/upgrade.aps.log'; $aps_upgrade_admin = $settings_modify_hash['@@ADMIN_NAME@@']; try { echo "upgrading...\n"; chdir($psa_modify_hash['@@ROOT_DIR@@']); # removing Feeds and iFrames (necessary for 2 step upgrade, 5.2.x -> 5.5.1 -> 6.4.2 -> 6.5.0) remove_module_ext_php('Feed', 'Feeds'); remove_module_ext_php('iFrame', 'iFrames'); delete_directory('cache/'); require_once('upgrade_sugar.php'); chdir($curdir); } catch( Exception $e ) { //throw $e; echo 'Caught exception: ', $e->getMessage(), "\n"; exit(1); } 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); foreach (array('data', 'custom', 'modules', 'cache', 'tmp', 'config.php') as $writable_file) { set_writable($psa_modify_hash['@@ROOT_DIR@@'] . '/'.$writable_file); } //Delete SugarCE-upgrade Folder delete_directory($psa_modify_hash['@@ROOT_DIR@@'] . '/SugarCE-upgrade'); 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); //Delete SugarCE-upgrade Folder delete_directory($psa_modify_hash['@@ROOT_DIR@@'] . '/SugarCE-upgrade'); 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 remove_module_ext_php($class, $module) { if (file_exists("custom/application/Ext/Include/modules.ext.php")) { $contents = read_file("custom/application/Ext/Include/modules.ext.php"); $contents = preg_replace("/.* = '$class';/", "", $contents); $contents = preg_replace("#.* = 'modules/$module/$class.php';#", "", $contents); $contents = preg_replace("#.* = '$module';#", "", $contents); write_file("custom/application/Ext/Include/modules.ext.php", $contents); } @unlink('custom/Extension/application/Ext/Include/$module.php'); } ?>