$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);
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')); }