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 diff
1.1 --- a/s4-blog.sh Fri Oct 21 22:57:04 2016 +0859 1.2 +++ b/s4-blog.sh Fri Oct 21 23:56:19 2016 +0859 1.3 @@ -150,6 +150,7 @@ 1.4 # 2016-08-15 Newer flag introduced 1.5 atime=`query "SELECT time FROM acclog 1.6 WHERE tbl='blog' AND tblrowid=$rowid AND user='$user';"` 1.7 + iconcleaner=$tmpd/iconcleaner.$$ 1.8 sq $db<<EOF | 1.9 WITH a_s AS ( 1.10 SELECT id, 1.11 @@ -197,8 +198,10 @@ 1.12 picon="<p class=\"proficon\"><a href=\"$hlink+$uid\"><img src=\"$icfn\"></a></p>" 1.13 else 1.14 picon="" 1.15 - query "DELETE FROM user_s WHERE key='$iconcachekey' AND 1.16 - val=`sqlquotestr \"$icon\"`;" 1.17 + if [ -n "$icon" ]; then 1.18 + echo "DELETE FROM user_s WHERE key='$iconcachekey' AND 1.19 + val=`sqlquotestr \"$icon\"`;" >> $iconcleaner 1.20 + fi 1.21 fi 1.22 1.23 cat<<EOF 1.24 @@ -306,6 +309,8 @@ 1.25 </form> <!-- End of s4-blog:blog_showentry() main form --> 1.26 <p id="bottom"> </p> 1.27 EOF 1.28 + # Clean up orphaned icon cache 1.29 + [ -s $iconcleaner ] && query < $iconcleaner 1.30 # Record access log 1.31 acclog blog $rowid 1.32 } 1.33 @@ -475,7 +480,7 @@ 1.34 ctime=`date +%F` 1.35 kc=$kc${kc:+" AND "}"s.ctime GLOB '${ctime}*'" 1.36 else 1.37 - kc=$kc${kc:+" AND "}"s.text LIKE '%$k%'" 1.38 + kc=$kc${kc:+" AND "}"content LIKE '%$k%'" 1.39 fi 1.40 done 1.41 fi 1.42 @@ -507,7 +512,7 @@ 1.43 SELECT b.rid||'#'||x.id as '', 1.44 b.title as TITLE, 1.45 substr(x.ctime, 0, 11) as DATE, 1.46 - substr(x.text, 0, 78) as TEXT 1.47 + substr(x.content, 0, 78) as TEXT 1.48 FROM (SELECT blg.rid,blg.*,bs.val as title 1.49 FROM readableblogs blg JOIN blog_s bs 1.50 ON blg.id=bs.id AND bs.key='title') b 1.51 @@ -515,16 +520,21 @@ 1.52 (SELECT a.id, 1.53 a.blogid, 1.54 s.ctime, 1.55 - s.text 1.56 + s.text || ' ' || m.filenames content 1.57 FROM article a 1.58 JOIN 1.59 - (SELECT id, /* Create [id, ctime, text] from article_s */ 1.60 - max(CASE key WHEN 'ctime' THEN val END) ctime, 1.61 - max(CASE key WHEN 'text' THEN val END) text 1.62 - FROM article_s GROUP BY id) s 1.63 - ON a.id=s.id WHERE $kc$kwdgrp) 1.64 - x ON b.id=x.blogid 1.65 - WHERE b.id IN (SELECT id FROM blog_s $cond) 1.66 + (SELECT id, /* Create [id, ctime, text] from article_s */ 1.67 + max(CASE key WHEN 'ctime' THEN val END) ctime, 1.68 + max(CASE key WHEN 'text' THEN val END) text 1.69 + FROM article_s GROUP BY id) s 1.70 + JOIN 1.71 + (SELECT id, group_concat(val) filenames 1.72 + FROM article_m 1.73 + WHERE type LIKE 'file:%' 1.74 + GROUP BY id) m 1.75 + ON a.id=s.id AND a.id=m.id WHERE $kc$kwdgrp) x 1.76 + ON b.id=x.blogid 1.77 + WHERE b.id IN (SELECT id FROM blog_s $cond) 1.78 ORDER by DATE DESC, TITLE, x.ctime;" 1.79 sedopt="s,<TR><TD>\([^<]*\)</TD>,<TR><TD><a\ 1.80 href=\"?replyblog+\1\">VIEW</a></TD>,"