diff options
author | piernov <piernov@piernov.org> | 2016-05-07 13:40:16 +0200 |
---|---|---|
committer | piernov <piernov@piernov.org> | 2016-05-07 13:40:16 +0200 |
commit | 80f5826d1ac8f6d42866d5133c6f463943b96bab (patch) | |
tree | 1bfccff31d9be66bb9b791ed6dd942f638c32df9 /inc/savegame.inc | |
parent | 79cfbb29042fd60dfbc76a6810f75cce21d3ffe0 (diff) | |
parent | ec7771705d62d09fcd142c87f4941604f31c1d76 (diff) | |
download | candybox-80f5826d1ac8f6d42866d5133c6f463943b96bab.tar.gz candybox-80f5826d1ac8f6d42866d5133c6f463943b96bab.tar.bz2 candybox-80f5826d1ac8f6d42866d5133c6f463943b96bab.tar.xz candybox-80f5826d1ac8f6d42866d5133c6f463943b96bab.zip |
Merge branch 'feat/savegame' into alexichi
Diffstat (limited to 'inc/savegame.inc')
-rw-r--r-- | inc/savegame.inc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/inc/savegame.inc b/inc/savegame.inc index 1fa95b0..8772585 100644 --- a/inc/savegame.inc +++ b/inc/savegame.inc @@ -89,4 +89,24 @@ function loadSave() { $_SESSION = array(); // drop current game parseSave($xml, $_SESSION); } + +function uploadSave() { + $fname = basename($_FILES['savefile']['name']); + $src = $_FILES['savefile']['tmp_name']; + + libxml_use_internal_errors(true); // Ignore errors when loading the received file + $xml = simplexml_load_file($src); + libxml_use_internal_errors(false); + if(!$xml) { + sendError("upload_fail"); + return; + } + $table = array(); + parseSave($xml, $table); // Parse received file + + $save = new SimpleXMLElement("<save/>"); + genXML($table, $save); // Regenerate it + if($save->asXML(SAVEDIR."/".$fname)) sendInfo("upload_success", array($fname)); + else sendError("upload_error"); +} ?> |