コード例 #1
0
            @unlink(IA_HOME . 'tmp' . IA_DS . 'patch.iap');
            $iaOutput->message = $e->getMessage();
        }
        break;
    case 'rollback':
        $iaOutput->steps = array('check' => 'Upgrade Wizard', 'rollback' => 'Rollback');
        $fileList = glob(IA_HOME . 'backup/backup_*_*.zip');
        $backups = array();
        if ($fileList) {
            foreach ($fileList as $fileName) {
                $fileName = basename($fileName);
                $array = explode('_', $fileName);
                if (3 == count($array)) {
                    $backups[$array[1]][$fileName] = date('M d, Y', strtotime(substr($array[2], 0, -4)));
                }
            }
        }
        $iaOutput->backups = $backups;
        if (!empty($_POST['backup'])) {
            $fileName = $_POST['backup'];
            iaSanitize::filenameEscape($fileName);
            $fileName = IA_HOME . 'backup/' . $fileName;
            if (file_exists($fileName)) {
                require_once IA_INSTALL . 'classes/ia.backup.php';
                $iaBackup = new iaBackup();
                $iaBackup->restore($fileName) ? $iaOutput->success = true : ($iaOutput->error = array_shift($iaBackup->messages));
            } else {
                $iaOutput->error = 'Incorrect backup file specified.';
            }
        }
}