/** * 백업 */ public function backup() { if (!current_user_can('activate_plugins')) { wp_die(__('관리 권한이 없습니다.', 'kboard')); } if (isset($_POST['kboard-backup-download-nonce']) && wp_verify_nonce($_POST['kboard-backup-download-nonce'], 'kboard-backup-download')) { header('Content-Type: text/html; charset=UTF-8'); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; if ($referer) { $url = parse_url($referer); $referer_host = $url['host'] . (isset($url['port']) && $url['port'] ? ':' . $url['port'] : ''); } else { wp_die(__('This page is restricted from external access.', 'kboard')); } if (!in_array($referer_host, array($host))) { wp_die(__('This page is restricted from external access.', 'kboard')); } include_once KBOARD_DIR_PATH . '/class/KBBackup.class.php'; $backup = new KBBackup(); $tables = $backup->getTables(); $data = ''; foreach ($tables as $key => $value) { $data .= $backup->getXml($value); } $backup->download($data, 'xml'); exit; } $redirect_url = admin_url('admin.php?page=kboard_backup'); echo "<script>location.href='{$redirect_url}';</script>"; exit; }
<?php list($path) = explode(DIRECTORY_SEPARATOR . 'wp-content', dirname(__FILE__) . DIRECTORY_SEPARATOR); include $path . DIRECTORY_SEPARATOR . 'wp-load.php'; header('Content-Type: text/html; charset=UTF-8'); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; if ($referer) { $url = parse_url($referer); $referer_host = $url['host']; } else { wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard')); } if (!in_array($referer_host, array($host))) { wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard')); } if (!current_user_can('activate_plugins')) { wp_die('KBoard : ' . __('No backup privilege.', 'kboard')); } include KBOARD_DIR_PATH . '/class/KBBackup.class.php'; $backup = new KBBackup(); $tables = $backup->getTables(); $data = ''; foreach ($tables as $key => $value) { $data .= $backup->getXml($value); } $backup->download($data, 'xml');
/** * 백업파일 다운로드 */ public function backup() { header('Content-Type: text/html; charset=UTF-8'); $referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; if ($referer) { $url = parse_url($referer); $referer_host = $url['host']; } else { wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard')); } if (!in_array($referer_host, array($host))) { wp_die('KBoard : ' . __('This page is restricted from external access.', 'kboard')); } if (!current_user_can('activate_plugins')) { wp_die('KBoard : ' . __('No backup privilege.', 'kboard')); } include KBOARD_DIR_PATH . '/class/KBBackup.class.php'; $backup = new KBBackup(); $tables = $backup->getTables(); $data = ''; foreach ($tables as $key => $value) { $data .= $backup->getXml($value); } $backup->download($data, 'xml'); exit; }