X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matitaB%2Fmatita%2Fmatitaweb.js;h=423eda674bbd1ed06c54d379dd65e56b5fb78f24;hb=0e81e658803822599b5e015aab67bc282afc9c4d;hp=e87a19f520d3171f259a7428ad58d44dff52de01;hpb=d2a3f16be6c74cc7d79198a6ed126103bb502aea;p=helm.git diff --git a/matitaB/matita/matitaweb.js b/matitaB/matita/matitaweb.js index e87a19f52..423eda674 100644 --- a/matitaB/matita/matitaweb.js +++ b/matitaB/matita/matitaweb.js @@ -15,27 +15,32 @@ var metasenv = ""; function initialize() { - locked = document.getElementById("locked"); - unlocked = document.getElementById("unlocked"); - workarea = document.getElementById("workarea"); - scriptcell = document.getElementById("scriptcell"); - goalcell = document.getElementById("goalcell"); - goals = document.getElementById("goals"); - goalview = document.getElementById("goalview"); - filename = document.getElementById("filename"); - logarea = document.getElementById("logarea"); - advanceButton = document.getElementById("advance"); - retractButton = document.getElementById("retract"); - cursorButton = document.getElementById("cursor"); - bottomButton = document.getElementById("bottom"); - - // hide sequent view at start - hideSequent(); + if (readCookie("session") == null) { + window.location = "/login.html" + } else { + locked = document.getElementById("locked"); + unlocked = document.getElementById("unlocked"); + workarea = document.getElementById("workarea"); + scriptcell = document.getElementById("scriptcell"); + goalcell = document.getElementById("goalcell"); + goals = document.getElementById("goals"); + goalview = document.getElementById("goalview"); + filename = document.getElementById("filename"); + logarea = document.getElementById("logarea"); + advanceButton = document.getElementById("advance"); + retractButton = document.getElementById("retract"); + cursorButton = document.getElementById("cursor"); + bottomButton = document.getElementById("bottom"); + + // hide sequent view at start + hideSequent(); + } } function debug(txt) { - logarea.innerHTML = txt + "\n" + logarea.innerHTML; + // internet explorer (v.9) doesn't work with innerHTML + logarea.innerText = txt + "\n" + logarea.innerText; } function listhd(l) @@ -194,6 +199,19 @@ function switch_goal(meta) } } +String.prototype.sescape = function() { + var patt1 = /%/gi; + var patt2 = /=/gi; + var patt3 = /&/gi; + var patt4 = /\+/gi; + var result = this; + result = result.replace(patt1,"%25"); + result = result.replace(patt2,"%3D"); + result = result.replace(patt3,"%26"); + result = result.replace(patt4,"%2B"); + return (result); +} + String.prototype.unescapeHTML = function() { var patt1 = //gi; @@ -279,7 +297,8 @@ function callServer(servicename,processResponse,reqbody) } } }; - req.open("POST", servicename); // + escape(unlocked.innerHTML), true); + req.open("POST", servicename); // + escape(unlocked.innerHTML), true); + req.setRequestHeader("Content-type","application/x-www-form-urlencoded"); if (reqbody) { req.send(reqbody); } else { @@ -312,7 +331,7 @@ function advanceForm1() resume(); }; pause(); - callServer("advance",processor,unlocked.innerHTML.unescapeHTML()); + callServer("advance",processor,"body=" + (unlocked.innerHTML.unescapeHTML()).sescape()); } @@ -340,7 +359,7 @@ function gotoBottom() resume(); }; pause(); - callServer("bottom",processor,unlocked.innerHTML.unescapeHTML()); + callServer("bottom",processor,"body=" + (unlocked.innerHTML.unescapeHTML()).sescape()); } @@ -380,7 +399,7 @@ function gotoPos(offset) } } pause(); - callServer("advance",processor,unlocked.innerHTML.unescapeHTML()); + callServer("advance",processor,"body=" + (unlocked.innerHTML.unescapeHTML()).sescape()); } function retract() @@ -414,12 +433,12 @@ function openFile() { if (is_defined(xml)) { locked.innerHTML = ""; - unlocked.innerHTML = xml.documentElement.firstChild.data; + unlocked.innerHTML = xml.documentElement.textContent; } else { debug("file open failed"); } }; - callServer("open?file=" + escape(filename.value),processor); + callServer("open",processor,"file=" + escape(filename.value)); } var goalcell; @@ -484,3 +503,26 @@ function findNode(list, node, acc) { function test () { debug("cursor test: " + unlocked.innerHTML.substr(0,getCursorPos())); } + +function readCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for(var i=0;i < ca.length;i++) { + var c = ca[i]; + while (c.charAt(0)==' ') c = c.substring(1,c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); + } + return null; +} + +function delete_cookie ( cookie_name ) +{ + var cookie_date = new Date(); // current date & time + cookie_date.setTime ( cookie_date.getTime() - 1 ); + document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString(); +} + +function delete_session() +{ + delete_cookie("session"); +}