]> git.plutz.net Git - lobster/blobdiff - therapies/index.cgi
global and improved pdi escaping functions
[lobster] / therapies / index.cgi
index 8512410fbeabf84f2cc96ef0256e7700b5f03e13..f142d2180de1a20a6844577bb120e4557d957ada 100755 (executable)
 # You should have received a copy of the GNU Affero General Public License
 # along with Lobster.  If not, see <http://www.gnu.org/licenses/>. 
 
-if [ "$_PATH" = "/therapies/therapy.css" ]; then
-  . $_EXEC/cgilite/file.sh
-  FILE $_EXEC/therapies/therapy.css
-  return 0
-fi
+case "$_PATH" in
+  /therapies/therapy.css)
+    . $_EXEC/cgilite/file.sh
+    FILE $_EXEC/therapies/therapy.css
+    return 0
+    ;;
+  /therapies/*.*_session*.png)
+    if [ -r "$_DATA/$_PATH" ]; then
+      . $_EXEC/cgilite/file.sh
+      FILE "$_DATA/$_PATH"
+    fi
+    return 0
+    ;;
+  /therapies/*/new)
+    card="${_PATH#/therapies/}"
+    card="${card%/new}"
+    uid="$(timeid)$(randomid)"
+    if [ -f "${_DATA}/vcard/${card}.vcf" ]; then
+      touch "${_DATA}/therapies/${card}.${uid}.tpy"
+      rm -f "${_DATA}/cache/${card}.vcf.cache"
+      REDIRECT "/therapies/${card}/${uid}"
+    fi
+    return 0
+    ;;
+esac
 
 . $_EXEC/pdiread.sh
 . $_EXEC/therapies/l10n.sh
-# . $_EXEC/cards/widgets.sh
-# . $_EXEC/cards/list.sh
 
 # unescape() { [ $# = 0 ] && sed -E 's;\\(.);\1;g' || printf %s "$*" |sed -E 's;\\(.);\1;g'; }
 # upcase=' y;abcdefghijklmnopqrstuvwxyzäöüé;ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜÉ;; '
@@ -36,16 +54,22 @@ BR='
 
 id="${_PATH#/therapies/}"
 id="${id%/*}.${id#*/}"
-vcffile="${_DATA}/vcard/${id%.*}.vcf"
-mpxfile="${_DATA}/prescriptions/${id}.mpx"
-tpyfile="${_DATA}/therapies/${id}.tpy"
 
 read junkx junky bg_dim junkz <<-E_READ
        $(identify "$_EXEC/therapies/therapy_background.png")
 E_READ
 
+vcffile="${_DATA}/vcard/${id%.*}.vcf"
+mpxfile="${_DATA}/prescriptions/${id}.mpx"
+tpyfile="${_DATA}/therapies/${id}.tpy"
+
 vcf="$(pdi_load "$vcffile")"
-mpx="$(pdi_load "$mpxfile")"
-tpy="$(pdi_load "$tpyfile")"
+mpx="$(sed '1s;^;\n;; s/:/;:/' "$mpxfile")"
+tpy="$(sed '1s;^;\n;; s/:/;:/' "$tpyfile")"
+
+VCF(){ pdi_value "$vcf" "$@"; }
+MPX(){ pdi_value "$mpx" "$@"; }
+TPY(){ pdi_value "$tpy" "$@"; }
 
-. $_EXEC/therapies/page.sh |yield_page therapy /therapies/therapy.css
+. $_EXEC/therapies/page.sh \
+| yield_page therapy /therapies/therapy.css