Mercurial > hg > fapweb
changeset 865:80f6f31d3711
File upload fixes.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Wed, 26 Nov 2014 11:45:30 +0200 |
parents | 16bc6c1029ee |
children | db9810510670 |
files | admajax.php admin.js ajax.js |
diffstat | 3 files changed, 53 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/admajax.php Wed Nov 26 11:34:48 2014 +0200 +++ b/admajax.php Wed Nov 26 11:45:30 2014 +0200 @@ -224,7 +224,7 @@ { echo " <div class=\"entryRow ".($row % 2 == 1 ? "rodd" : "reven"). - "\" id=\"entry".$eid."\"".($mode == EEMODE_NORMAL ? " onClick=\"activateEntry(".$eid.")\"" : "").">\n"; + "\" id=\"entry".$eid."\"".($mode == EEMODE_NORMAL ? " onClick=\"activateEntry(".$eid.", false)\"" : "").">\n"; } // Only show show_id if this is a normal compo and we are not adding @@ -742,7 +742,10 @@ // File upload // if (stHandleGenericFileUpload(0)) - stSetStatus(200, "File successfully uploaded."); + { + echo "File upload successful!"; + stSetStatus(902, "File successfully uploaded."); + } break; case "randomize":
--- a/admin.js Wed Nov 26 11:34:48 2014 +0200 +++ b/admin.js Wed Nov 26 11:45:30 2014 +0200 @@ -391,7 +391,7 @@ // // Entry management // -function activateEntry(id) +function activateEntry(id, force) { var msuccess1 = function(txt) { @@ -415,7 +415,7 @@ } } - if (activeEntry != id) + if (activeEntry != id || force) { prevEntry = activeEntry; activeEntry = id; @@ -466,7 +466,7 @@ nitem.style.display = "none"; } else - activateEntry(-1); + activateEntry(edit ? id : -1, true); } var mcb_ok = function(data)
--- a/ajax.js Wed Nov 26 11:34:48 2014 +0200 +++ b/ajax.js Wed Nov 26 11:45:30 2014 +0200 @@ -69,6 +69,12 @@ } +function jsTitleMessageBox(title, msg) +{ + jsMessageBox("<h1>"+title+"</h1><div>"+msg+"</div>"); +} + + function jsConfirmBox(msg, cb_ok, cb_cancel, cb_data) { var nitem = document.getElementById("messageBox"); @@ -288,14 +294,47 @@ var formData = new FormData(formElem); var req = jsCreateXMLRequest(); req.upload.addEventListener("progress", jsUploadProgress, false); - req.addEventListener("load", function(ev) - { - if (fileCallback) - setTimeout(fileCallback, 1); - }, false); - req.addEventListener("error", jsUploadError, false); req.addEventListener("abort", jsUploadAbort, false); + + req.onreadystatechange = function() + { + if (req.readyState == 4) + { + switch (req.status) + { + case 902: + jsStatusMsg(req.statusText); + jsMessageBox(req.responseText); + break; + + case 903: + { + var nitem = document.getElementById("messageBox"); + if (nitem) + { + nitem.innerHTML = "<div class='messageBoxInner'>"+ req.responseText + + "<div class='messageBoxControls'>"+ + "</div></div>"; + nitem.style.display = "block"; + } + } + break; + + case 200: + if (fileCallback) + setTimeout(fileCallback, 1); + + jsTitleMessageBox("File upload", req.responseText); + break; + + default: + jsStatusMsg("["+req.status+" - "+req.statusText+"] "+ req.responseText); + break; + } + } + } + req.open("POST", formTarget); req.send(formData); }