$tempDir = realPath(dirname(__FILE__)) . '/temp';
 MODXInstaller::mmkdir($tempDir);
 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__));
Ejemplo n.º 2
0
 public function testGetDirectories()
 {
     /* Try with real MODX directories */
     $dirs = MODXInstaller::getDirectories();
     $base = MODX_BASE_PATH;
     $this->assertEquals($dirs['setup'], $base . 'setup');
     $this->assertEquals($dirs['core'], $base . 'core');
     $this->assertEquals($dirs['manager'], $base . 'manager');
     $this->assertEquals($dirs['connectors'], $base . 'connectors');
     $dest = dirname(__FILE__) . '/' . 'temproot';
     /* Normalize $dest */
     $dest = MODXInstaller::normalize($dest);
     /* Try with our nonstandard directories */
     $directories = $this->getDirectories($dest);
     $dirs = MODXInstaller::getDirectories($directories);
     $this->assertEquals($dirs['setup'], $dest . '/' . 'setup');
     $this->assertEquals($dirs['core'], $dest . '/' . 'core');
     $this->assertEquals($dirs['manager'], $dest . '/' . 'manager');
     $this->assertEquals($dirs['connectors'], $dest . '/' . 'connectors');
 }