clearstatcache();
 $destination = $tempDir;
 if (!file_exists($tempDir)) {
     MODXInstaller::quit('Unable to create directory: ' . $tempDir);
 }
 if (!is_readable($tempDir)) {
     MODXInstaller::quit('Unable to read from /temp directory');
 }
 set_time_limit(0);
 $success = MODXInstaller::unZip(MODX_CORE_PATH, $source, $destination, $forcePclZip);
 if ($success !== true) {
     MODXInstaller::quit($success);
 }
 $directories = MODXInstaller::getDirectories();
 $directories = MODXInstaller::normalize($directories);
 $sourceDir = $tempDir . '/' . MODXInstaller::getModxDir($tempDir);
 $sourceDir = MODXInstaller::normalize($sourceDir);
 MODXInstaller::copyFiles($sourceDir, $directories);
 unlink($source);
 if (!is_dir(MODX_BASE_PATH . 'setup')) {
     MODXInstaller::quit('File Copy Failed');
 }
 MODXInstaller::removeFolder($tempDir, true);
 /* Clear cache files but not cache folder */
 $path = MODX_CORE_PATH . 'cache';
 if (is_dir($path)) {
     MODXInstaller::removeFolder($path, false);
 }
 unlink(basename(__FILE__));
 /* Log upgrade in Manager Actions log */
 include MODX_CORE_PATH . 'model/modx/modx.class.php';
Ejemplo n.º 2
0
 public function testCopyFiles()
 {
     $dest = dirname(__FILE__) . '/' . 'temproot';
     $dest = MODXInstaller::normalize($dest);
     MODXInstaller::removeFolder($dest, true);
     MODXInstaller::mmkdir($dest);
     $directories = $this->getDirectories($dest);
     $directories = MODXInstaller::normalize($directories);
     $tempDir = realPath(dirname(__FILE__)) . '/temp';
     $sourceDir = $tempDir . '/' . MODXInstaller::getModxDir($tempDir);
     $sourceDir = MODXInstaller::normalize($sourceDir);
     MODXInstaller::copyFiles($sourceDir, $directories);
     $this->assertTrue(is_dir($dest . '/setup'));
     $this->assertTrue(is_dir($dest . '/setup/controllers'));
     $this->assertTrue(is_dir($dest . '/core'));
     $this->assertTrue(is_dir($dest . '/core/docs'));
     $this->assertTrue(is_dir($dest . '/manager'));
     $this->assertTrue(is_dir($dest . '/manager/controllers'));
     $this->assertTrue(is_dir($dest . '/connectors'));
     $this->assertTrue(is_dir($dest . '/connectors/security'));
     $this->assertTrue(is_dir($dest . '/myprocessors'));
 }