summaryrefslogtreecommitdiff
path: root/src/editor/simple/upload.cgi
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2011-02-17 14:38:46 +0000
committerhallgren <hallgren@chalmers.se>2011-02-17 14:38:46 +0000
commitcc2f9d012cc965e03034c6276e7bb9461066f561 (patch)
treebdf2cc8b9529cedaaf478587bdeb5ea9ec4da159 /src/editor/simple/upload.cgi
parentc6825f38dfee0ea966f65901876e3704f4f7253c (diff)
Adding the prototype GF editor for simple multilingual grammars
Diffstat (limited to 'src/editor/simple/upload.cgi')
-rw-r--r--src/editor/simple/upload.cgi77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/editor/simple/upload.cgi b/src/editor/simple/upload.cgi
new file mode 100644
index 000000000..fbc5a0be1
--- /dev/null
+++ b/src/editor/simple/upload.cgi
@@ -0,0 +1,77 @@
+#!/bin/bash
+
+bin=/Users/hallgren/www/bin
+
+charset="UTF-8"
+AUTOHEADER=no
+
+. $bin/cgistart.sh
+PATH=$PATH:/Users/hallgren/.cabal/bin
+export LC_CTYPE="UTF-8"
+style_url="editor.css"
+
+make_dir() {
+ dir="$(mktemp -d ../tmp/gfse.XXXXXXXX)"
+# chmod a+rxw "$dir"
+ chmod a+rx "$dir"
+ ln "$dir/../../grammars/grammars.cgi" "$dir"
+}
+
+
+check_grammar() {
+ pagestart "Uploaded"
+# echo "$PATH_INFO"
+ files=$(Reg from-url | LC_CTYPE=sv_SE.ISO8859-1 ./save "$dir")
+ cd $dir
+ begin pre
+ if gf -s -make $files 2>&1 ; then
+ end
+ h3 OK
+ begin ul
+ [ -z "$minibar" ] || { li; link "$minibar?/tmp/${dir##*/}/" "Minibar"; }
+ [ -z "$gfshell" ] || { li; link "$gfshell?dir=${dir##*/}" "GF Shell"; }
+ end
+ begin pre
+ ls -l *.pgf
+ else
+ end
+ begin h3 class=error_message; echo Error; end
+ for f in *.gf ; do
+ h4 "$f"
+ begin pre class=plain
+ cat -n "$f"
+ end
+ done
+ fi
+ hr
+ date
+# begin pre ; env
+ endall
+}
+
+case "$REQUEST_METHOD" in
+ POST)
+ case "$PATH_INFO" in
+ /tmp/gfse.*)
+ style_url="../../$style_url"
+ dir="../tmp/${PATH_INFO##*/}"
+ check_grammar
+ ;;
+ *)
+ make_dir
+ check_grammar
+ rm -rf "$dir"
+ esac
+ ;;
+ GET)
+ case "$QUERY_STRING" in
+ dir) make_dir
+ ContentType="text/plain"
+ cgiheaders
+ echo "/tmp/${dir##*/}"
+ ;;
+ *) pagestart "Error"
+ echo "What do you want?"
+ endall
+ esac
+esac