X-Git-Url: http://git.plutz.net/?p=invoices;a=blobdiff_plain;f=invoices.cgi;h=bec02be117a48964f1a14c5b2ddb17bd3f5973ab;hp=10aa8fc8726c6a79463d311738a6e96fd2341024;hb=HEAD;hpb=bc8eee210325c38d66bef5640deb933c0f680d4d diff --git a/invoices.cgi b/invoices.cgi index 10aa8fc..338f180 100755 --- a/invoices.cgi +++ b/invoices.cgi @@ -6,6 +6,8 @@ _EXEC="$(realpath "${0%/*}")" . "$_EXEC/cgilite/storage.sh" . "$_EXEC/cgilite/session.sh" +SESSION_COOKIE + yield_page(){ printf 'Content-Type: text/html; charset=utf-8\r\n\r\n' "$_EXEC/cgilite/html-sh.sed" <&- - printf %s "$SESSION_ID" - server_key - } | sha256sum | cut -d\ -f1 -} +info="$(PATH "${PATH_INFO#http://*/}")" -info="$(PATH "${PATH_INFO}")" +which git && [ ! -d .git ] && { + git init + mkdir -p clients/ invoices/ senders/ + printf 'export/ +serverkey' >.gitignore + git add clients/ invoices/ senders/ .gitignore + git commit -m 'initialisation of invoice repo' +} >&2 case $info in /invoices.css) . "$_EXEC/cgilite/file.sh" FILE "$_EXEC/invoices.css" ;; - /clients) + /clients|/clients/) . "$_EXEC/clients.sh" { list_clients printf '[a .new href="/clients/%s" New]' "$(timeid)" @@ -54,7 +56,7 @@ case $info in . "$_EXEC/clients.sh" update_client ;; - /senders) + /senders|/senders/) . "$_EXEC/senders.sh" { list_senders printf '[a .new href="/senders/%s" New]' "$(timeid)" @@ -68,10 +70,10 @@ case $info in . "$_EXEC/senders.sh" update_sender ;; - /invoices) + /invoices|/invoices/) . "$_EXEC/invoices.sh" - { list_invoices - printf '[a .new href="/invoices/%s" New]' "$(timeid)" + { printf '[a .new href="/invoices/%s" New]' "$(timeid)" + list_invoices } | yield_page invoices ;; /invoices/*) @@ -82,6 +84,11 @@ case $info in . "$_EXEC/invoices.sh" update_invoice ;; + /export/*.pdf/*) + . "$_EXEC/cgilite/file.sh" + file="${info%/*}" + FILE "${file#/}" application/pdf + ;; *) REDIRECT /invoices ;; esac