Example #1
0
            }
        }
        if ($s_restore['overwrite']) {
            $options |= IBASE_RES_REPLACE;
        } else {
            $options |= IBASE_RES_CREATE;
        }
        if (empty($error)) {
            $source_file = defined('BACKUP_DIR') && BACKUP_DIR !== '' ? BACKUP_DIR . $s_restore['source'] : $s_restore['source'];
            if ($s_restore['verbose']) {
                // remove pending backup-jobs from session
                $s_iframejobs = array_filter($s_iframejobs, create_function('$a', '$a["job"]!="restore";'));
                $iframekey_restore = md5(uniqid('restore'));
                $s_iframejobs[$iframekey_restore] = array('job' => 'restore', 'source' => $source_file, 'target' => $s_restore['target'], 'options' => $options, 'connect' => $s_restore['connect'], 'timestamp' => time());
            } elseif (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
                fbird_restore($service, $source_file, $s_restore['target'], $options, $s_restore['verbose']);
                $message = 'restore started';
                fbird_service_detach($service);
            } else {
                $ib_error = fbird_errmsg();
            }
        }
    }
}
// print out all the panels
//
$s_page = 'Admin';
$panels = $s_admin_panels;
require './inc/script_end.inc.php';
function get_backup_filename($pname)
{
     } else {
         $error = fbird_errmsg();
     }
     break;
 case 'backup':
     if (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
         $content = fbird_backup($service, $job['source'], $job['target'], $job['options'], TRUE);
         $content = str_replace(array(chr(0x1) . chr(0xa), 'gbak: '), '', $content);
         fbird_service_detach($service);
     } else {
         $error = fbird_errmsg();
     }
     break;
 case 'restore':
     if (($service = fbird_service_attach($s_login['host'], $s_login['user'], $s_login['password'])) != FALSE) {
         $content = fbird_restore($service, $job['source'], $job['target'], $job['options'], TRUE);
         $content = str_replace(array(chr(0x1) . chr(0xa), 'gbak: '), '', $content);
         fbird_service_detach($service);
         // try to connect the restored database
         if ($job['connect']) {
             $s_login['database'] = $job['target'];
             if (!empty($s_sysdba_pw)) {
                 $s_login['user'] = '******';
                 $s_login['password'] = $s_sysdba_pw;
             }
             if ($dbhandle = db_connect()) {
                 // connected successfully
                 $s_connected = TRUE;
                 remove_edit_panels();
             } else {
                 // connect failed