# HG changeset patch # User HIROSE Yuuji # Date 1588852028 -32400 # Node ID 21522dcada924b47554ab1278c5c12a6421b66b3 # Parent 50b3ceca8bf74c15842cb8f5fce1281b0171d5c1 Experimental implement of group tag selection diff -r 50b3ceca8bf7 -r 21522dcada92 s4-funcs.sh --- a/s4-funcs.sh Tue May 05 20:08:09 2020 +0900 +++ b/s4-funcs.sh Thu May 07 20:47:08 2020 +0900 @@ -2208,9 +2208,24 @@ convert -geometry $thumbxy $imgdir/$deficon $dir/$deficon fi if [ -n "$2" ]; then - cond="where nick like '%$2%' or b.name like '%$2%'" + cond1="(nick like '%$2%' or b.name like '%$2%')" kwd=$2 fi + tag=`getpar tag` tag2=`getpar tag2` + if [ x"$tag" = x"NULL" ]; then + tag="" tag2="" + fi + if [ -n "$tag$tag2" ]; then + tag=${tag:-$tag2} + qtag=`sqlquote "$tag"` + cond2="tag=$qtag" + fi + if [ -n "$cond1$cond2$3" ]; then + cond="$cond1${cond2:+ AND $cond2}${3:+ AND ($3)}" + cond=${cond# AND } + cond=${cond% AND } + cond=${cond:+WHERE $cond} + fi # XX: これ複雑すぎるかな。もっとシンプルにしたい。$3条件も。2015-07-08 # grpは呼出し元の動的スコープ変数でよくないな... @@ -2258,7 +2273,7 @@ max(case key when 'wtime' then val end) as wtime, max(case key when 'login' then val end) as login from ${tbl}_s group by $nm) - b on a.$nm=b.name $cond $3 + b on a.$nm=b.name $cond /* $3 */ order by b.wtime desc, b.login desc, b.mtime desc, b.tag desc, a.rowid asc" # Give precedence to newer maintained groups (2016-09-24) @@ -2268,25 +2283,48 @@ echo "${entity} 一覧" | html h2 echo '
' # List-entry div # Show owner/member filter button - [ x"$tbl" = x"grp" ] && cat<<-EOF + METHOD=GET + hiddens="$hiddens + `cgi_hidden kwd \"$kwd\"` + `cgi_hidden stage \"$stage\"`" + if [ x"$tbl" = x"grp" ]; then + args=`grep "^種別:" $formdir/grp.def | cut -d: -f5` + fh="" + cat<<-EOF +
+
`cgi_checkbox onlymem no 'id="ismembtn"'` `cgi_checkbox onlyadm no 'id="isadmbtn"'` EOF - METHOD=GET + # limit=3 + hiddens=$hiddens" "`cgi_hidden tag2 "$tag"` + fi if [ $total -gt $limit ]; then - echo '
' + echo '
' METHOD=GET cgi_form $stage <次の語を含む${entity}で検索: `cgi_text kwd "$kwd"` $hiddens EOF echo '
' + else + echo $selectedtags | html p fi - hiddens="$hiddens - `cgi_hidden kwd \"$kwd\"` - `cgi_hidden stage \"$stage\"`" cat<

${total}件中の