X-Git-Url: https://git.plutz.net/?p=confetti;a=blobdiff_plain;f=cards%2Ffilter_card.sh;fp=cards%2Ffilter_card.sh;h=cc0f9127e404fbbaf52ba752ad97d4545dc70ddc;hp=0000000000000000000000000000000000000000;hb=43e7c60df0632fd383306a2d3c6dc8c4213d4b9d;hpb=d40eb749c3b9766eb85d843e712f1b86543232d2 diff --git a/cards/filter_card.sh b/cards/filter_card.sh new file mode 100755 index 0000000..cc0f912 --- /dev/null +++ b/cards/filter_card.sh @@ -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 . + +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