Mercurial > hg > webaudioevaluationtool
changeset 748:b9785aaab2a4
Bug #1349: PHP returns XML confirmation or error and message. Core responds. Bug #1449 not a bug
author | Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk> |
---|---|
date | Fri, 20 Nov 2015 15:39:01 +0000 |
parents | 6fb0b21d6f85 |
children | 235594325b84 |
files | core.js pythonServer.py save.php |
diffstat | 3 files changed, 37 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/core.js Wed Nov 18 11:08:52 2015 +0100 +++ b/core.js Fri Nov 20 15:39:01 2015 +0000 @@ -674,9 +674,22 @@ if (xmlhttp.status != 200 && xmlhttp.readyState == 4) { createProjectSave(null); } else { - popup.showPopup(); - popup.popupContent.innerHTML = null; - popup.popupContent.textContent = "Thank you!"; + if (xmlhttp.responseXML == null) + { + return createProjectSave(null); + } + var response = xmlhttp.responseXML.childNodes[0]; + if (response.getAttribute('state') == "OK") + { + var file = response.getElementsByTagName('file')[0]; + console.log('Save OK: Filename '+file.textContent+','+file.getAttribute('bytes')+'B'); + popup.showPopup(); + popup.popupContent.innerHTML = null; + popup.popupContent.textContent = "Thank you!"; + } else { + var message = response.getElementsByTagName('message')[0]; + errorSessionDump(message.textContent); + } } }; xmlhttp.send(file);
--- a/pythonServer.py Wed Nov 18 11:08:52 2015 +0100 +++ b/pythonServer.py Fri Nov 20 15:39:01 2015 +0000 @@ -70,7 +70,7 @@ self.send_response(200) self.send_header("Content-type", "text/xml") self.end_headers() - self.wfile.write('<response><state>OK</state><file>saves/'+curFileName+'</file></response>') + self.wfile.write('<response state="OK"><message>OK</message><file>"saves/'+curFileName+'"</file></response>') class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_HEAD(s):
--- a/save.php Wed Nov 18 11:08:52 2015 +0100 +++ b/save.php Fri Nov 20 15:39:01 2015 +0000 @@ -1,9 +1,28 @@ <?php header('Access-Control-Allow-Origin: *'); + header("Content-type: text/xml"); $postText = file_get_contents('php://input'); $datetime = date('ymdHis'); $xmlfile = "save".$datetime.".xml"; $fileHandle = fopen("saves/".$xmlfile, 'w'); - fwrite($fileHandle, $postText); + if ($fileHandle == FALSE) + { + // Filehandle failed + $xml = '<response state="error"><message>Could not open file</message></response>'; + echo $xml; + return; + } + $wbytes = fwrite($fileHandle, $postText); + if ($wbytes == FALSE) + { + // FileWrite failed + $xml = '<response state="error"><message>Could not write file "saves/'.$xmlfile.'"</message></response>'; + echo $xml; + return; + } fclose($fileHandle); + + // Return JSON confirmation data + $xml = '<response state="OK"><message>OK</message><file bytes="'.$wbytes.'">"saves/'.$xmlfile.'"</file></response>'; + echo $xml; ?> \ No newline at end of file