Exemplo n.º 1
0
 public function run()
 {
     if (version_compare($this->from_version, '7.0', '>=')) {
         // right now there's no need to run this on 7
         return;
     }
     if (!file_exists('modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php')) {
         return;
     }
     // TODO: fix uw_utils references in SidecarMetaDataUpgrader
     $smdUpgrader = new SidecarMetaDataUpgrader2($this);
     $smdUpgrader->upgrade();
     // Log failures if any
     $failures = $smdUpgrader->getFailures();
     if (!empty($failures)) {
         $this->log('Sidecar Upgrade: ' . count($failures) . ' metadata files failed to upgrade through the silent upgrader:');
         $this->log(print_r($failures, true));
     } else {
         $this->log('Sidecar Upgrade: Mobile/portal metadata upgrade ran with no failures:');
         $this->log($smdUpgrader->getCountOfFilesForUpgrade() . ' files were upgraded.');
     }
     $this->fileToDelete(SidecarMetaDataUpgrader::getFilesForRemoval());
 }
Exemplo n.º 2
0
// Bug 57216 - Upgrade wizard dying on metadata upgrader because needed files were
// already called but news needed to replace them. This moves the metadata upgrader
// later in the process - rgonzalez
logThis('Checking for mobile/portal metadata upgrade...');
// 6.6 metadata enhancements for portal and wireless, should only be
// handled for upgrades FROM pre-6.6 to a version POST 6.6 and MUST be
// handled AFTER inclusion of the upgrade package files
if (!didThisStepRunBefore('commit', 'upgradePortalMobileMetadata')) {
    if (version_compare($sugar_version, '6.6.0', '<')) {
        if (file_exists('modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php')) {
            set_upgrade_progress('commit', 'in_progress', 'upgradePortalMobileMetadata', 'in_progress');
            logThis('Sidecar Upgrade: Preparing to upgrade metadata to 6.6.0 compatibility through the silent upgrader ...');
            require_once 'modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php';
            // Get the sidecar metadata upgrader
            logThis('Sidecar Upgrade: Instantiating the mobile/portal metadata upgrader ...');
            $smdUpgrader = new SidecarMetaDataUpgrader();
            // Run the upgrader
            logThis('Sidecar Upgrade: Beginning the mobile/portal metadata upgrade ...');
            $smdUpgrader->upgrade();
            logThis('Sidecar Upgrade: Mobile/portal metadata upgrade complete');
            // Log failures if any
            $failures = $smdUpgrader->getFailures();
            if (!empty($failures)) {
                logThis('Sidecar Upgrade: ' . count($failures) . ' metadata files failed to upgrade through the silent upgrader:');
                logThis(print_r($failures, true));
            } else {
                logThis('Sidecar Upgrade: Mobile/portal metadata upgrade ran with no failures:');
                logThis($smdUpgrader->getCountOfFilesForUpgrade() . ' files were upgraded.');
            }
            // Reset the progress
            set_upgrade_progress('commit', 'in_progress', 'upgradePortalMobileMetadata', 'done');
Exemplo n.º 3
0
 public function upgradeOneModule()
 {
     parent::upgrade();
 }
Exemplo n.º 4
0
 /**
  * Update wireless metadata for packages that were created prior to 6.6 but
  * are being installed or deployed in 6.6+
  */
 public function update_wireless_metadata()
 {
     // If there was a copy to path then we can work it
     if (isset($this->installdefs['copy'])) {
         // Add in Sidecar upgrader after old style metadata changes are brought over
         $sidecarUpgrader = new SidecarMetaDataUpgrader();
         // Let the upgrader know that this is from installation
         $sidecarUpgrader->fromInstallation = true;
         // Turn off writing to log
         $sidecarUpgrader->toggleWriteToLog();
         // Get our files in the $cp['to'] path to upgrade
         foreach ($this->installdefs['copy'] as $cp) {
             // Set the files array
             $files = array();
             // Grab the package name
             $package = basename($cp['to']);
             // Set the dir to get the files from
             $modulesDir = $cp['to'] . '/modules/';
             // If we have the modules directory
             if (is_dir($modulesDir)) {
                 // Get the modules from inside the path
                 $dirs = glob($modulesDir . '*', GLOB_ONLYDIR);
                 if (!empty($dirs)) {
                     foreach ($dirs as $dirpath) {
                         // Get the module to list it in case it needs to be upgraded
                         $module = basename($dirpath);
                         // Get the metadata directory
                         $metadatadir = "{$dirpath}/metadata/";
                         // We only want to do this if there is a metadata dir
                         // and there isn't already a clients dir
                         if (is_dir($metadatadir) && !is_dir("{$dirpath}/clients")) {
                             // Get our upgrade files
                             $files = array_merge($files, $sidecarUpgrader->getUpgradeableFilesInPath($metadatadir, $module, 'wireless', 'base', $package, false));
                         }
                     }
                 }
             }
             // Upgrade them
             foreach ($files as $file) {
                 // Get the appropriate upgrade class name for this view type
                 $class = $sidecarUpgrader->getUpgraderClass($file['viewtype']);
                 if ($class) {
                     if (!class_exists($class, false)) {
                         $classfile = $class . '.php';
                         require_once "modules/UpgradeWizard/SidecarUpdate/{$classfile}";
                     }
                     $upgrader = new $class($sidecarUpgrader, $file);
                     // Let the upgrader do its thing
                     $upgrader->upgrade();
                 }
             }
         }
     }
 }
 /**
  * Sets a message into the upgrade log
  *
  * @param $message
  */
 protected function logUpgradeStatus($message)
 {
     $this->upgrader->logUpgradeStatus($message);
 }