Ejemplo n.º 1
0
 public function testRemoveFolder()
 {
     $folder = 'C:\\xampp\\htdocs\\addons\\assets\\mycomponents\\upgrademodx\\_build\\test\\temproot';
     $this->assertTrue(is_dir($folder));
     MODXInstaller::removeFolder($folder, true);
     $this->assertFalse(is_dir($folder));
     $folder = 'C:\\xampp\\htdocs\\addons\\assets\\mycomponents\\upgrademodx\\_build\\test\\temp';
     $this->assertTrue(is_dir($folder));
     MODXInstaller::removeFolder($folder, false);
     $this->assertTrue(is_dir($folder));
     MODXInstaller::removeFolder($folder);
     $this->assertFalse(is_dir($folder));
 }
        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';
    $modx = new modX();
    $modx->initialize('web');
    $modx->lexicon->load('core:default');
    $modx->logManagerAction('Upgrade MODX', 'modWorkspace', $modx->lexicon('version') . ' ' . $_GET['modx'], $_GET['userId']);
    $modx = null;
    /* Forward to Setup */
    header('Location: ' . $rowInstall['location']);
} else {
    $ItemGrid = array();
    foreach ($InstallData as $ver => $item) {
        $ItemGrid[$item['tree']][$ver] = $item;
    /* See if we need to do processors path */
    $modxProcessorsPath = rtrim(MODX_PROCESSORS_PATH, '/\\');
    $modxProcessorsPath = str_replace('\\', '/', $modxProcessorsPath);
    if (strpos(MODX_PROCESSORS_PATH, 'core/model/modx/processors') === false) {
        $directories['core/model/modx/processors'] = $modxProcessorsPath;
    }
    /* Copy directories */
    foreach ($directories as $source => $target) {
        set_time_limit(0);
        MODXInstaller::copyFolder(dirname(__FILE__) . '/temp/' . $dir . '/' . $source, $target);
    }
    MODXInstaller::removeFolder(dirname(__FILE__) . '/temp');
    /* Clear cache files */
    $path = MODX_CORE_PATH . 'cache';
    if (is_dir($path)) {
        MODXInstaller::removeFolder($path);
        /* recreate cache dir */
        MODXInstaller::mmkDir($path);
    }
    unlink(basename(__FILE__));
    header('Location: ' . $rowInstall['location']);
} else {
    $ItemGrid = array();
    foreach ($InstallData as $ver => $item) {
        $ItemGrid[$item['tree']][$ver] = $item;
    }
    /* Display the Form */
    echo '
<!DOCTYPE html>
<html>
<head>