Mercurial > hgrepos > hgweb.cgi > s4
changeset 333:002cc900200a
Nonexistent Icon cleaning is too heavy, put it after loop
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Fri, 21 Oct 2016 23:56:19 +0859 |
parents | 9dc6f9e60f6a |
children | 64eabfa2e69f |
files | s4-blog.sh |
diffstat | 1 files changed, 22 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/s4-blog.sh Fri Oct 21 22:57:04 2016 +0859 +++ b/s4-blog.sh Fri Oct 21 23:56:19 2016 +0859 @@ -150,6 +150,7 @@ # 2016-08-15 Newer flag introduced atime=`query "SELECT time FROM acclog WHERE tbl='blog' AND tblrowid=$rowid AND user='$user';"` + iconcleaner=$tmpd/iconcleaner.$$ sq $db<<EOF | WITH a_s AS ( SELECT id, @@ -197,8 +198,10 @@ picon="<p class=\"proficon\"><a href=\"$hlink+$uid\"><img src=\"$icfn\"></a></p>" else picon="" - query "DELETE FROM user_s WHERE key='$iconcachekey' AND - val=`sqlquotestr \"$icon\"`;" + if [ -n "$icon" ]; then + echo "DELETE FROM user_s WHERE key='$iconcachekey' AND + val=`sqlquotestr \"$icon\"`;" >> $iconcleaner + fi fi cat<<EOF @@ -306,6 +309,8 @@ </form> <!-- End of s4-blog:blog_showentry() main form --> <p id="bottom"> </p> EOF + # Clean up orphaned icon cache + [ -s $iconcleaner ] && query < $iconcleaner # Record access log acclog blog $rowid } @@ -475,7 +480,7 @@ ctime=`date +%F` kc=$kc${kc:+" AND "}"s.ctime GLOB '${ctime}*'" else - kc=$kc${kc:+" AND "}"s.text LIKE '%$k%'" + kc=$kc${kc:+" AND "}"content LIKE '%$k%'" fi done fi @@ -507,7 +512,7 @@ SELECT b.rid||'#'||x.id as '', b.title as TITLE, substr(x.ctime, 0, 11) as DATE, - substr(x.text, 0, 78) as TEXT + substr(x.content, 0, 78) as TEXT FROM (SELECT blg.rid,blg.*,bs.val as title FROM readableblogs blg JOIN blog_s bs ON blg.id=bs.id AND bs.key='title') b @@ -515,16 +520,21 @@ (SELECT a.id, a.blogid, s.ctime, - s.text + s.text || ' ' || m.filenames content FROM article a JOIN - (SELECT id, /* Create [id, ctime, text] from article_s */ - max(CASE key WHEN 'ctime' THEN val END) ctime, - max(CASE key WHEN 'text' THEN val END) text - FROM article_s GROUP BY id) s - ON a.id=s.id WHERE $kc$kwdgrp) - x ON b.id=x.blogid - WHERE b.id IN (SELECT id FROM blog_s $cond) + (SELECT id, /* Create [id, ctime, text] from article_s */ + max(CASE key WHEN 'ctime' THEN val END) ctime, + max(CASE key WHEN 'text' THEN val END) text + FROM article_s GROUP BY id) s + JOIN + (SELECT id, group_concat(val) filenames + FROM article_m + WHERE type LIKE 'file:%' + GROUP BY id) m + ON a.id=s.id AND a.id=m.id WHERE $kc$kwdgrp) x + ON b.id=x.blogid + WHERE b.id IN (SELECT id FROM blog_s $cond) ORDER by DATE DESC, TITLE, x.ctime;" sedopt="s,<TR><TD>\([^<]*\)</TD>,<TR><TD><a\ href=\"?replyblog+\1\">VIEW</a></TD>,"