From f97b42dafa1aad48016e90be88d2a08bff22919b Mon Sep 17 00:00:00 2001
From: Frank Steinberg <steinberg@ibr.cs.tu-bs.de>
Date: Tue, 8 Oct 2019 21:25:55 +0200
Subject: [PATCH] Fixes.

---
 Makefile                          |  1 -
 web/edit.js                       | 15 +++++++++++----
 web/save.cgi                      |  6 ++----
 xsl/bjcp-2015-styleguide-html.xsl | 17 +++++++----------
 4 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/Makefile b/Makefile
index 025e31d..2a9df86 100644
--- a/Makefile
+++ b/Makefile
@@ -51,7 +51,6 @@ check: bjcp-2015-styleguide-orig.xml bjcp-2015-styleguide-de.xml
 	@xmllint --noout --schema xsd/bjcp-styleguide-2015.xsd bjcp-2015-styleguide-de.xml
 
 background:
-	@echo "updating in the background..."
 	@nohup sh -c 'if [ ! -e .background ] ; then touch .background ; rm -f .background-again bjcp-2015-styleguide-de.xml web/edit.html ; make web/edit.html ; rm .background ; if [ -e .background-again ] ; then rm bjcp-2015-styleguide-de.xml web/edit.html ; make background ; fi ; else touch .background-again ; fi' >/dev/null 2>&1 &
 
 install:
diff --git a/web/edit.js b/web/edit.js
index 0ddfba9..4923be2 100644
--- a/web/edit.js
+++ b/web/edit.js
@@ -6,7 +6,10 @@ const original = document.getElementById("original");
 const markup = document.getElementById("markup");
 const render = document.getElementById("render");
 const author = document.getElementById("author");
-const lasttext = document.getElementById("lasttext");
+const editstylename = document.getElementById("editstylename");
+const editelemname = document.getElementById("editelemname");
+const lastdate = document.getElementById("lastdate");
+const lastauthor = document.getElementById("lastauthor");
 
 var editelem;
 var tagname;
@@ -74,8 +77,8 @@ function doedit(elem) {
     editid = elem.parentNode.getAttribute("id");
     editelem = elem;
     tagname = elem.tagName.toLowerCase();
-    lastdate = elem.getAttribute("date");
-    lastauthor = elem.getAttribute("author");
+    editlastdate = elem.getAttribute("date");
+    editlastauthor = elem.getAttribute("author");
     t = elem.innerHTML;
     t = t.replace(/^ */,"");
     t = t.replace(/ *$/,"");
@@ -91,7 +94,10 @@ function doedit(elem) {
     } else {
 	text = ""
     }
-    lasttext.innerText = text;
+    editstylename.innerText = editid ? editid : "-";
+    editelemname.innerText = tagname ? tagname : "-";
+    lastdate.innerText = editlastdate ? editlastdate : "original";
+    lastauthor.innerText = editlastauthor ? editlastauthor : "original";
     if (origelem) {
 	original.innerHTML = origelem.innerHTML;
     }
@@ -136,6 +142,7 @@ function dosave() {
     user = author.value;
     xhr.open('POST', "save.cgi?id=" + editid + "&elem=" + tagname + "&user=" + user, true);
     xhr.setRequestHeader('Content-Type','text/xml; charset=UTF-8');
+    xhr.responseType = "text";
     xhr.send(x);
 
 }
diff --git a/web/save.cgi b/web/save.cgi
index b4985dd..0a6533f 100755
--- a/web/save.cgi
+++ b/web/save.cgi
@@ -24,8 +24,8 @@ def log(msg):
 
 
 
-print("Content-Type: text/plain")
-print()
+print("Content-Type: text/plain; charset=UTF-8")
+print("")
 
 if "QUERY_STRING" in os.environ:
     form = urllib.parse.parse_qs(os.environ["QUERY_STRING"], keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=50)
@@ -126,5 +126,3 @@ elif os.path.isfile(origfilename):
 else:
     log("neither orig file %s nor translated file %s for id %s exists" % (origfilename, translatedfilename, id))
 
-
-# TODO: parse, create response, show error response on client, write xml on server, git commit, 
diff --git a/xsl/bjcp-2015-styleguide-html.xsl b/xsl/bjcp-2015-styleguide-html.xsl
index d535856..f3f7284 100644
--- a/xsl/bjcp-2015-styleguide-html.xsl
+++ b/xsl/bjcp-2015-styleguide-html.xsl
@@ -45,18 +45,15 @@
 	<xsl:if test="not($edit = 'no')">
 	  <div id="editor">
 	    <div id="editor-inner">
-	      <p>You are editing the translation of the following original text:</p>
+	      <p>Editing <span id="editstylename">-</span>, element: <span id="editelemname">-</span>, last change: <span id="lastdate">-</span> by <span id="lastauthor">-</span></p>
 	      <div id="original">-</div>
-	      <p>Your Author ID:
-	      <input type="text" name="author" id="author" />
-	      <span id="lasttext"> </span>
-	      </p>
-	      <div id="pelleditor"></div>
+	      <p>Your Author ID: <input type="text" name="author" id="author" /></p>
+	      <div id="pelleditor">-</div>
+	      <div>Markup:<div id="markup">-</div></div>
+	      <!--
+		  <div>Preview:<div id="render">-</div></div>
+		  -->
 	    </div>
-	    <div>Markup:<div id="markup"></div></div>
-	    <!--
-		<div>Preview:<div id="render"></div></div>
-	    -->
 	  </div>
 	  <div/>
 	  <xsl:element name="script">
-- 
GitLab