]> git.plutz.net Git - confetti/blobdiff - cards/filter_card.sh
changed project layout
[confetti] / cards / filter_card.sh
diff --git a/cards/filter_card.sh b/cards/filter_card.sh
new file mode 100755 (executable)
index 0000000..cc0f912
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/zsh
+
+# Copyright 2014, 2017 Paul Hänsch
+#
+# This file is part of Confetti.
+# 
+# Confetti is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# Confetti is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
+
+cgi_post
+
+if [ "${_POST[choice]}" = new_filter ]; then
+  filter="$(
+    for n in filter{0..100}; do
+      # [ -z "${_POST[$n]:+x}" ] && break
+      printf %s "${_POST[$n]}"
+    done \
+    | sed -r 's;\|+;\|;g; s;\^+;\^;g; s;:\|;:;g; :X; s;\^[^:]*:\^;\^;g; /\^[^:]*:\^/bX; s;^\^;;; s;\^[^:]*:$;;;'
+  )"
+  printf 'Location: ?p=cards&order=%s&filter=%s\n\n' "${_POST[order]}" "$filter"
+else
+  printf 'Location: ?p=cards\n\n'
+fi