/** * 복원 */ public function restore() { if (!current_user_can('activate_plugins')) { wp_die(__('관리 권한이 없습니다.', 'kboard')); } if (isset($_POST['kboard-restore-execute-nonce']) && wp_verify_nonce($_POST['kboard-restore-execute-nonce'], 'kboard-restore-execute')) { header('Content-Type: text/html; charset=UTF-8'); $xmlfile = $_FILES['kboard_backup_xml_file']['tmp_name']; $xmlfile_name = basename($_FILES['kboard_backup_xml_file']['name']); if (is_uploaded_file($xmlfile)) { $file_extension = explode('.', $xmlfile_name); if (end($file_extension) == 'xml') { include_once KBOARD_DIR_PATH . '/class/KBBackup.class.php'; $backup = new KBBackup(); $backup->importXml($xmlfile); echo '<script>alert("' . __('복원파일의 데이터로 복구 되었습니다.', 'kboard') . '");</script>'; } else { echo '<script>alert("' . __('올바른 복원파일이 아닙니다.', 'kboard') . '");</script>'; } unlink($xmlfile); } else { echo '<script>alert("' . __('파일 업로드에 실패 했습니다.', 'kboard') . '");</script>'; } } $redirect_url = admin_url('admin.php?page=kboard_backup'); echo "<script>location.href='{$redirect_url}';</script>"; exit; }
function kboard_backup() { include 'class/KBBackup.class.php'; $backup = new KBBackup(); if ($_GET['action'] == 'upload') { $xmlfile = WP_CONTENT_DIR . '/uploads/' . basename($_FILES['kboard_backup_xml_file']['name']); if (move_uploaded_file($_FILES['kboard_backup_xml_file']['tmp_name'], $xmlfile)) { $file_extension = explode('.', $xmlfile); if (end($file_extension) == 'xml') { $backup->importXml($xmlfile); echo '<script>alert("복원파일의 데이터로 복구 되었습니다.");</script>'; } else { echo '<script>alert("복원에 실패 했습니다. 올바른 복원파일이 아닙니다.");</script>'; } unlink($xmlfile); } else { echo '<script>alert("파일의 업로드를 실패 했습니다.");</script>'; } } include_once 'pages/kboard_backup.php'; }