public function run() { require_once 'ModuleInstall/PackageManager/PackageManager.php'; $pm = new PackageManager(); $packages = $pm->getinstalledPackages(array('module')); foreach ($packages as $pack) { if (strpos($pack['name'], 'SugarCRM Upgrader') !== false) { $uh = new UpgradeHistory(); $uh->name = $pack['name']; $history = $uh->checkForExisting($uh); $this->filesToRemove[] = "custom/Extension/application/Ext/Include/{$history->id_name}.php"; $history->delete(); $this->fileToDelete($this->filesToRemove); $this->log("Useless files of {$pack['name']} v{$pack['version']} removed"); } } foreach ($pm->getPackagesInStaging() as $pack) { if (strpos($pack['name'], 'SugarCRM Upgrader') !== false) { $file = UploadStream::getFSPath(hashToFile($pack['file'])); $this->fileToDelete($file); foreach (array('manifest', 'icon') as $meta) { $this->fileToDelete(pathinfo($file, PATHINFO_DIRNAME) . '/' . pathinfo($file, PATHINFO_FILENAME) . "-{$meta}.php"); } } } }
public function testCheckedArrayKey() { $package = new PackageManager(); $returnJson = $package->getPackagesInStaging('module'); foreach ($returnJson as $module) { $this->assertArrayHasKey('unFile', $module, 'Key "unFile" is missing in return array'); } }
/** * A Static method used to generate the javascript for the page * * @return String - the javascript required for the page */ function getDisplayScript($install = false, $type = 'module', $releases = null, $types = array(), $isAlive = true) { global $sugar_version, $sugar_config; global $current_language; $mod_strings = return_module_language($current_language, "Administration"); $ss = new Sugar_Smarty(); $ss->assign('MOD', $mod_strings); if (!$install) { $install = 0; } $ss->assign('INSTALLATION', $install); $ss->assign('WAIT_IMAGE', SugarThemeRegistry::current()->getImage("loading", "border='0' align='bottom'", null, null, '.gif', "Loading")); $ss->assign('sugar_version', $sugar_version); $ss->assign('js_custom_version', $sugar_config['js_custom_version']); $ss->assign('IS_ALIVE', $isAlive); //if($type == 'patch' && $releases != null){ if ($type == 'patch') { $ss->assign('module_load', 'false'); $patches = PackageManagerDisplay::createJavascriptPackageArray($releases); $ss->assign('PATCHES', $patches); $ss->assign('GRID_TYPE', implode(',', $types)); } else { $pm = new PackageManager(); $releases = $pm->getPackagesInStaging(); $patches = PackageManagerDisplay::createJavascriptModuleArray($releases); $ss->assign('PATCHES', $patches); $installeds = $pm->getinstalledPackages(); $patches = PackageManagerDisplay::createJavascriptModuleArray($installeds, 'mti_installed_data'); $ss->assign('INSTALLED_MODULES', $patches); $ss->assign('UPGARDE_WIZARD_URL', 'index.php?module=UpgradeWizard&action=index'); $ss->assign('module_load', 'true'); } if (!empty($GLOBALS['ML_STATUS_MESSAGE'])) { $ss->assign('ML_STATUS_MESSAGE', $GLOBALS['ML_STATUS_MESSAGE']); } //Bug 24064. Checking and Defining labels since these might not be cached during Upgrade if (!isset($mod_strings['LBL_ML_INSTALL']) || empty($mod_strings['LBL_ML_INSTALL'])) { $mod_strings['LBL_ML_INSTALL'] = 'Install'; } if (!isset($mod_strings['LBL_ML_ENABLE_OR_DISABLE']) || empty($mod_strings['LBL_ML_ENABLE_OR_DISABLE'])) { $mod_strings['LBL_ML_ENABLE_OR_DISABLE'] = 'Enable/Disable'; } if (!isset($mod_strings['LBL_ML_DELETE']) || empty($mod_strings['LBL_ML_DELETE'])) { $mod_strings['LBL_ML_DELETE'] = 'Delete'; } //Add by jchi 6/23/2008 to fix the bug 21667 $filegrid_column_ary = array('Name' => $mod_strings['LBL_ML_NAME'], 'Install' => $mod_strings['LBL_ML_INSTALL'], 'Delete' => $mod_strings['LBL_ML_DELETE'], 'Type' => $mod_strings['LBL_ML_TYPE'], 'Version' => $mod_strings['LBL_ML_VERSION'], 'Published' => $mod_strings['LBL_ML_PUBLISHED'], 'Uninstallable' => $mod_strings['LBL_ML_UNINSTALLABLE'], 'Description' => $mod_strings['LBL_ML_DESCRIPTION']); $filegridinstalled_column_ary = array('Name' => $mod_strings['LBL_ML_NAME'], 'Install' => $mod_strings['LBL_ML_INSTALL'], 'Action' => $mod_strings['LBL_ML_ACTION'], 'Enable_Or_Disable' => $mod_strings['LBL_ML_ENABLE_OR_DISABLE'], 'Type' => $mod_strings['LBL_ML_TYPE'], 'Version' => $mod_strings['LBL_ML_VERSION'], 'Date_Installed' => $mod_strings['LBL_ML_INSTALLED'], 'Uninstallable' => $mod_strings['LBL_ML_UNINSTALLABLE'], 'Description' => $mod_strings['LBL_ML_DESCRIPTION']); $ss->assign('ML_FILEGRID_COLUMN', $filegrid_column_ary); $ss->assign('ML_FILEGRIDINSTALLED_COLUMN', $filegridinstalled_column_ary); //end $ss->assign('SHOW_IMG', SugarThemeRegistry::current()->getImage('advanced_search', 'border="0"', 8, 8, '.gif', 'Show')); $ss->assign('HIDE_IMG', SugarThemeRegistry::current()->getImage('basic_search', 'border="0"', 8, 8, '.gif', 'Hide')); $str = $ss->fetch('ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl'); return $str; }