Mercurial > hgrepos > hgweb.cgi > s4
changeset 388:4f6b63c25ab8
User/Group listing made fast by using imgsrc_cache()
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Mon, 28 Nov 2016 18:30:54 +0859 |
parents | 2c928bb47c90 |
children | 3074b635687a |
files | examples/common/default/default.css s4-funcs.sh |
diffstat | 2 files changed, 27 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/common/default/default.css Mon Nov 28 12:08:51 2016 +0859 +++ b/examples/common/default/default.css Mon Nov 28 18:30:54 2016 +0859 @@ -221,6 +221,7 @@ div.iconlist p._test {background: #ffb6c1;} /* light pink */ div.xy120x120 {min-width: 120px; min-height: 140px;} div.xy96x96 {min-width: 96px; min-height: 116px;} +div.xy96x96 img {max-width: 96px;} div.xy50x50 {min-width: 50px; min-height: 70px;} div.moderated {background: rgba(255, 215, 0, 0.3);} /* gold */ body.moderated {background: #fffec4;} /* #faed8a */
--- a/s4-funcs.sh Mon Nov 28 12:08:51 2016 +0859 +++ b/s4-funcs.sh Mon Nov 28 18:30:54 2016 +0859 @@ -631,10 +631,10 @@ pk=`gettblpkey $1` key=`query "select $pk from $1 where rowid=$3;"` getkey="(select $pk from $1 where rowid=$3)" + td=${4:-$tmpd} + [ -d $td ] || mkdir -p $td ### err "select $pk from $1 where rowid=$3" - key=$key '$4(tmp)'=$4 for kt in s m; do - td=${4:-$tmpd} - [ -d $td ] || mkdir -p $td t=${1}_$kt for c in `gettbl_${kt}_cols $1`; do vcount=1 # count(val) @@ -1929,6 +1929,9 @@ getgrp="(select gname from grp where rowid=${rowid:--1})" sql="select a.rowid, a.$link, coalesce(b.$gcs, a.$nm) as nick, + quote(a.$nm) as qname, + (SELECT val FROM ${tbl}_s + WHERE $nm=a.$nm AND key='$iconcachekey') icon, coalesce(b.gecos, a.$nm) /* If group, concat (Nusers) */ || case when a.$nm in (select gname from grp) then printf('(%d名)', @@ -2011,20 +2014,35 @@ ## err ListEntry: `echo "$sql"\;` query "$sql limit $limit ${offset:+offset $offset};" \ - | while IFS='|' read id lnk name gecos tag ownerp type; do + | while IFS='|' read id lnk name qname icon gecos tag ownerp type; do err name=$name owner=$ownerp lnk=$lnk err newlnk=$lnk regmode=$regmode icondir=$dir/$id - files=`getvalbyid $tbl profimg $id $icondir` # Pick up only last icon echo "<div class=\"iconlist xy$thumbxy $type\"> <p class=\"tag _$tag\">$tag</p>" \ | _m4 $tagconv - if [ -n "$files" ]; then - icon=`echo "$files"|tail -1` - iconhref2 "$icondir/$icon" "$hrb+$lnk" "$gecos" + if [ -z "NOSPEEDUP" ]; then + files=`getvalbyid $tbl profimg $id $icondir` + if [ -n "$files" ]; then + icon=`echo "$files"|tail -1` + iconhref2 "$icondir/$icon" "$hrb+$lnk" "$gecos" + else + iconhref "$dir/$deficon" "$hrb+$lnk" "$gecos" + fi + elif [ -n "$icon" -a -s "$icon" ]; then + iconhref2 "./$icon" "$hrb+$lnk" "$gecos" else - iconhref "$dir/$deficon" "$hrb+$lnk" "$gecos" + cond="$nm=$qname" + # err imgsrc_cache "$dir/list" ${tbl}_m "$cond" S + # err query "SELECT type FROM ${tbl}_m $cond LIMIT 1;" + img=`query "SELECT type FROM ${tbl}_m WHERE $cond AND key='profimg' LIMIT 1;"` + # err "img=[$img]" + if [ -n "$img" ]; then + imgsrc_cache "$dir/list" ${tbl}_m "$nm=$qname" S + else + iconhref2 "$dir/$deficon" "$hrb+$lnk" "$gecos" + fi fi echo "<br>$name${ownerp:+<br>$ownerp}" echo "</div>"