$certPath = MODX_CORE_PATH . 'components/upgrademodx/cacert.pem';
 if (!file_exists($certPath)) {
     MODXInstaller::quit('Could not find cacert.pem');
 }
 set_time_limit(0);
 $success = MODXInstaller::downloadFile($url, $source, $method, $certPath);
 /* Make sure we have the downloaded file */
 if ($success !== true) {
     MODXInstaller::quit($success);
 } elseif (!file_exists($source)) {
     MODXInstaller::quit('Missing file: ' . $source);
 } elseif (filesize($source) < 64) {
     MODXInstaller::quit('File: ' . $source . ' is empty -- download failed');
 }
 $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);
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'));
 }