public static function get() { if (self::$instance == null) { self::$instance = new MainWPBackup(); } return self::$instance; }
protected function backupDB($fileName = '', $ext = 'zip') { $dirs = MainWPHelper::getMainWPDir('backup'); $dir = $dirs[0]; $timestamp = time(); if ($fileName != '') { $fileName .= '-'; } $filepath = $dir . 'dbBackup-' . $fileName . $timestamp . '.sql'; if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..' && preg_match('/dbBackup-(.*).sql(\\.zip|\\.tar|\\.tar\\.gz|\\.tar\\.bz2)?$/', $file)) { @unlink($dir . $file); } } closedir($dh); } if (file_exists($filepath)) { @unlink($filepath); } $result = MainWPBackup::get()->createBackupDB($filepath, $ext); MainWPHelper::update_option('mainwp_child_last_db_backup_size', filesize($result['filepath'])); return $result === false ? false : array('timestamp' => $timestamp, 'file' => basename($result['filepath']), 'filesize' => filesize($result['filepath'])); }