Ejemplo n.º 1
0
    $use_wpdb = isset($_POST['use_wpdb']) && 'true' == $_POST['use_wpdb'] ? true : false;
    $backupName = wpa_backup_name();
    $zipmode = isset($_POST['zipmode']) ? true : false;
    list($zipFileName, $zipSize) = CreateWPFullBackupZip($backupName, $zipmode, $use_wpdb);
    wpa_insert_data($zipFileName, $zipSize);
    $backZipPath = convertPathIntoUrl(WPCLONE_DIR_BACKUP . $zipFileName);
    $zipSize = bytesToSize($zipSize);
    echo <<<EOF

<h1>Backup Successful!</h1>
<br />
Here is your backup file : <br />
    <a href='{$backZipPath}'><span>{$backZipPath}</span></a> ( {$zipSize} ) &nbsp;&nbsp;|&nbsp;&nbsp;
    <input type='hidden' name='backupUrl' class='backupUrl' value="{$backZipPath}" />
Ejemplo n.º 2
0
function wpa_wpc_get_db($zipfile, $zipmode)
{
    $ret = array();
    if ($zipmode || (!in_array('ZipArchive', get_declared_classes()) || !class_exists('ZipArchive'))) {
        wpa_wpc_log('extracting database using pclzip');
        if (ini_get('mbstring.func_overload') && function_exists('mb_internal_encoding')) {
            $previous_encoding = mb_internal_encoding();
            mb_internal_encoding('ISO-8859-1');
        }
        require_once ABSPATH . 'wp-admin/includes/class-pclzip.php';
        $z = new PclZip($zipfile);
        $database = $z->extract(PCLZIP_OPT_BY_NAME, 'wpclone_backup/database.sql', PCLZIP_OPT_EXTRACT_AS_STRING);
        $prefix = $z->extract(PCLZIP_OPT_BY_NAME, 'wpclone_backup/prefix.txt', PCLZIP_OPT_EXTRACT_AS_STRING);
        if (isset($previous_encoding)) {
            mb_internal_encoding($previous_encoding);
        }
        if ('ok' === $database[0]['status'] && 'ok' === $prefix[0]['status']) {
            $ret['database'] = $database[0]['content'];
            $ret['prefix'] = $prefix[0]['content'];
        } else {
            wpa_backup_error('pclunzip', $z->errorInfo(true), true);
        }
        return $ret;
    } else {
        $z = new ZipArchive();
        if (true === $z->open($zipfile)) {
            wpa_wpc_log('extracting database using ziparchive');
            $ret['database'] = $z->getFromName('wpclone_backup/database.sql');
            $ret['prefix'] = $z->getFromName('wpclone_backup/prefix.txt');
            if (false === $ret['database'] || false === $ret['prefix']) {
                wpa_backup_error('unzip', $z->getStatusString(), true);
            }
            $z->close();
            return $ret;
        } else {
            wpa_backup_error('unzip', $z->getStatusString(), true);
        }
    }
}