#!/bin/zsh
-# Copyright 2014 Paul Hänsch
+# Copyright 2014, 2017 Paul Hänsch
#
# This file is part of Confetti.
#
cgi_post
-case "${_POST[choice]}"; in
- new_filter)
- for n in '' {0..100}; do
- debug "N: $n; ${_POST[filter$n]}"
- [ -z "${_POST[filter$n]+x}" ] && break
- filterval="${_POST[filter$n]}"
- filtertype="${_POST[filtertype$n]}"
- filter="${filtertype}:${filterval}${filter+^${filter}}"
- done
- order="${_POST[order]}"
- echo -n "Location: ?p=cards&filter=$filter&filtertype=advanced&order=$order\n\n"
- ;;
- #new_filter)
- # filter="${_POST[filter]}"
- # filtertype="${_POST[filtertype]}"
- # order="${_POST[order]}"
- # echo -n "Location: ?p=cards&filter=$filter&filtertype=$filtertype&order=$order\n\n"
- # ;;
- *)
- echo -n "Location: ?p=cards\n\n"
- ;;
-esac
+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