function exponent_files_removeDirectory($dir)
{
    if (strpos($dir, BASE) != 0) {
        $dir = BASE . $dir;
    }
    $dh = opendir($dir);
    if ($dh) {
        while (($file = readdir($dh)) !== false) {
            if ($file != "." && $file != ".." && is_dir("{$dir}/{$file}")) {
                if (exponent_files_removeDirectory("{$dir}/{$file}") == SYS_FILES_NOTDELETABLE) {
                    return SYS_FILES_NOTDELETABLE;
                }
            } else {
                if (is_file("{$dir}/{$file}") || is_link(is_file("{$dir}/{$file}"))) {
                    unlink("{$dir}/{$file}");
                    if (file_exists("{$dir}/{$file}")) {
                        return SYS_FILES_NOTDELETABLE;
                    }
                } else {
                    if ($file != "." && $file != "..") {
                        echo "BAD STUFF HAPPENED<br />";
                        echo "--------Don't know what to do with {$dir}/{$file}<br />";
                        echo "<xmp>";
                        print_r(stat("{$dir}/{$file}"));
                        echo filetype("{$dir}/{$file}");
                        echo "</xmp>";
                    }
                }
            }
        }
    }
    rmdir($dir);
}
    $template = new template('AdministrationModule', '_upload_finalSummary', $loc);
    $ext_filename = BASE . "/tmp/uploads/" . session_id();
    if (!file_exists($ext_filename) || !is_dir($ext_filename)) {
        $template->assign('nofiles', 1);
    } else {
        if (!defined('SYS_FILES')) {
            require_once BASE . 'subsystems/files.php';
        }
        $success = array();
        foreach (array_keys(exponent_files_listFlat($ext_filename, true, null, array(), $ext_filename)) as $file) {
            if ($file != '/archive.tar' && $file != '/archive.tar.gz' && $file != 'archive.tar.bz2' && $file != '/archive.zip') {
                exponent_files_makeDirectory(dirname($file));
                $success[$file] = copy($ext_filename . $file, BASE . substr($file, 1));
                if (basename($file) == 'views_c') {
                    chmod(BASE . substr($file, 1), 0777);
                }
            }
        }
        $del_return = exponent_files_removeDirectory($ext_filename);
        echo $del_return;
        $template->assign('nofiles', 0);
        $template->assign('success', $success);
        $template->assign('redirect', exponent_flow_get());
        ob_start();
        include BASE . 'modules/AdministrationModule/actions/installtables.php';
        ob_end_clean();
    }
    $template->output();
} else {
    echo SITE_403_HTML;
}
function exponent_sharedcore_unlinkExtension($typedir, $name, $dir)
{
    if (!defined("SYS_FILES")) {
        require_once BASE . "subsystems/files.php";
    }
    exponent_files_removeDirectory("{$dir}/{$typedir}/{$name}");
}
                     $ext = '.zip';
                 }
             }
         }
     }
 }
 if ($ext == '') {
     echo $i18n['bad_archive'] . '<br />';
 } else {
     if (!defined('SYS_FILES')) {
         require_once BASE . 'subsystems/files.php';
     }
     // Look for stale sessid directories:
     $ext_filename = BASE . "/tmp/uploads/" . session_id();
     if (file_exists($ext_filename) && is_dir($ext_filename)) {
         exponent_files_removeDirectory($ext_filename);
     }
     $return = exponent_files_makeDirectory($ext_filename);
     if ($return != SYS_FILES_SUCCESS) {
         switch ($return) {
             case SYS_FILES_FOUNDFILE:
             case SYS_FILES_FOUNDDIR:
                 echo $i18n['file_in_parh'] . '<br />';
                 break;
             case SYS_FILES_NOTWRITABLE:
                 echo $i18n['dest_not_w'] . '<br />';
                 break;
             case SYS_FILES_NOTREADABLE:
                 echo $i18n['dest_not_r'] . '<br />';
                 break;
         }
    $template = new template('administrationmodule', '_upload_finalSummary', $loc);
    $sessid = session_id();
    if (!file_exists(BASE . "extensionuploads/{$sessid}") || !is_dir(BASE . "extensionuploads/{$sessid}")) {
        $template->assign('nofiles', 1);
    } else {
        if (!defined('SYS_FILES')) {
            require_once BASE . 'subsystems/files.php';
        }
        $success = array();
        foreach (array_keys(exponent_files_listFlat(BASE . "extensionuploads/{$sessid}", true, null, array(), BASE . "extensionuploads/{$sessid}")) as $file) {
            if ($file != '/archive.tar' && $file != '/archive.tar.gz' && $file != 'archive.tar.bz2' && $file != '/archive.zip') {
                exponent_files_makeDirectory(dirname($file));
                $success[$file] = copy(BASE . "extensionuploads/{$sessid}" . $file, BASE . substr($file, 1));
                if (basename($file) == 'views_c') {
                    chmod(BASE . substr($file, 1), 0777);
                }
            }
        }
        $del_return = exponent_files_removeDirectory(BASE . "extensionuploads/{$sessid}");
        echo $del_return;
        $template->assign('nofiles', 0);
        $template->assign('success', $success);
        $template->assign('redirect', exponent_flow_get());
        ob_start();
        include BASE . 'modules/administrationmodule/actions/installtables.php';
        ob_end_clean();
    }
    $template->output();
} else {
    echo SITE_403_HTML;
}
# Exponent is free software; you can redistribute
# it and/or modify it under the terms of the GNU
# General Public License as published by the Free
# Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# GPL: http://www.gnu.org/licenses/gpl.txt
#
##################################################
if (!defined('EXPONENT')) {
    exit('');
}
$dest_dir = exponent_sessions_get('dest_dir');
$files = exponent_sessions_get('files_data');
if (!defined('SYS_FILES')) {
    require_once BASE . 'subsystems/files.php';
}
if (!file_exists(BASE . 'files')) {
    mkdir(BASE . 'files', 0777);
}
foreach (array_keys($files) as $mod) {
    exponent_files_copyDirectoryStructure($dest_dir . '/files/' . $mod, BASE . 'files/' . $mod);
    foreach (array_keys($files[$mod][1]) as $file) {
        copy($dest_dir . '/files/' . $mod . '/' . $file, BASE . 'files/' . $mod . '/' . $file);
    }
}
exponent_sessions_unset('dest_dir');
exponent_sessions_unset('files_data');
exponent_files_removeDirectory($dest_dir);
$template = new template('importer', '_files_final');
$template->output();
                     $ext = '.zip';
                 }
             }
         }
     }
 }
 if ($ext == '') {
     echo $i18n['bad_archive'] . '<br />';
 } else {
     if (!defined('SYS_FILES')) {
         require_once BASE . 'subsystems/files.php';
     }
     // Look for stale sessid directories:
     $sessid = session_id();
     if (file_exists(BASE . "extensionuploads/{$sessid}") && is_dir(BASE . "extensionuploads/{$sessid}")) {
         exponent_files_removeDirectory("extensionuploads/{$sessid}");
     }
     $return = exponent_files_makeDirectory("extensionuploads/{$sessid}");
     if ($return != SYS_FILES_SUCCESS) {
         switch ($return) {
             case SYS_FILES_FOUNDFILE:
             case SYS_FILES_FOUNDDIR:
                 echo $i18n['file_in_parh'] . '<br />';
                 break;
             case SYS_FILES_NOTWRITABLE:
                 echo $i18n['dest_not_w'] . '<br />';
                 break;
             case SYS_FILES_NOTREADABLE:
                 echo $i18n['dest_not_r'] . '<br />';
                 break;
         }