s4

changeset 828:476a70f667cf

Group search expression formula changed
author HIROSE Yuuji <yuuji@gentei.org>
date Sun, 21 Jun 2020 16:44:11 +0900
parents 97be0474f268
children 87f72984f3aa
files s4-world.sh
diffstat 1 files changed, 23 insertions(+), 14 deletions(-) [+]
line diff
     1.1 --- a/s4-world.sh	Sun Jun 21 16:13:52 2020 +0900
     1.2 +++ b/s4-world.sh	Sun Jun 21 16:44:11 2020 +0900
     1.3 @@ -182,24 +182,27 @@
     1.4    done
     1.5  }
     1.6  
     1.7 -grepgrpworld() (
     1.8 -  world=$1; wname=$2; exp=$3; db=$4
     1.9 +grepgrpworld() {
    1.10 +  world=$1; wname=$2; exp=$3; tdb=$4
    1.11    case $world in
    1.12      Base)	cgi=${S4MASTERURL:-$URL} ;;
    1.13      *)		cgi=s4-world-$world$cgiext ;;
    1.14    esac
    1.15 -  arg=${3#*:}
    1.16    case $exp in
    1.17 -    kwd:*) cond="gname LIKE '%$arg%'"
    1.18 -	   guide="`echo $arg|htmlescape` を含むグループは別世界にもあります"
    1.19 -	   s="(<a href=\"$cgi?stage=grps&kwd=$arg\">絞込</a>)" ;;
    1.20 -    mem:*) cond="user = '$arg'"
    1.21 -	   guide="別世界の所属グループ"
    1.22 -	   s="(<a href=\"$cgi?stage=grps&kwd=mem:$arg\">所属絞</a>)" ;;
    1.23 +    mem:*)
    1.24 +      arg=${exp#*:}
    1.25 +      cond="user = '$arg'"
    1.26 +      guide="「${S4WORLDNAME:-Base}」以外の世界の所属グループ"
    1.27 +      s="(<a href=\"$cgi?stage=grps&kwd=mem:$arg\">所属絞</a>)" ;;
    1.28 +    *)
    1.29 +      arg=`sqlquote "%$3%"`
    1.30 +      cond="gname LIKE $arg"
    1.31 +      guide="$exp を含むグループは別世界にもあります"
    1.32 +      s="(<a href=\"$cgi?stage=grps&kwd=$exp\">絞込</a>)" ;;
    1.33    esac
    1.34    err "arg=[$arg] cond=[$cond] s=[$s]"
    1.35    query <<-EOF |
    1.36 -	ATTACH DATABASE "$db" AS td;
    1.37 +	ATTACH DATABASE "$tdb" AS td;
    1.38  	SELECT DISTINCT td.grp.rowid,hex(gname)
    1.39  	FROM td.grp NATURAL JOIN td.grp_mem
    1.40  	WHERE $cond;
    1.41 @@ -215,6 +218,7 @@
    1.42        w=`echo $wname|htmlescape`
    1.43        u="<a href=\"$cgi?grps\"><span class=\"pre\">$w</span></a>"
    1.44        cat<<-EOF
    1.45 +	GUIDE:<h2>`echo "$guide"|htmlescape`</h2>
    1.46  	<tr>
    1.47  	 <tr><td>$u $s</td>
    1.48  	 <td>$ans</td>
    1.49 @@ -222,10 +226,11 @@
    1.50  	EOF
    1.51      fi
    1.52    }
    1.53 -)
    1.54 +}
    1.55  
    1.56  peekgrpworlds() (
    1.57 -  # $1=(kwd:Pattern|mem:User)
    1.58 +  # $1=(Pattern|mem:User)
    1.59 +  # err "pgw-1=[$1]"
    1.60    for wd in `worldnameDBlist`; do
    1.61      world=${wd%%:*}; wd=${wd#*:}
    1.62      worldname=${wd%:*}
    1.63 @@ -236,8 +241,12 @@
    1.64    done | {
    1.65      result=`cat`
    1.66      if [ -n "$result" ]; then
    1.67 -      echo "<h2>$guide</h2>"
    1.68 -      echo "<table class=\"b\">$nl $result$nl</table>"
    1.69 +      cat<<-EOF
    1.70 +	`echo "$result"|sed 's/^GUIDE://;2q'`
    1.71 +	<table class="b">
    1.72 +	 `echo "$result"|grep -v '^GUIDE:'`
    1.73 +	</table>
    1.74 +	EOF
    1.75      fi
    1.76    }
    1.77  )