Mercurial > hgrepos > hgweb.cgi > s4
annotate s4-blog.sh @ 165:4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Fri, 29 Jan 2016 10:53:49 +0859 |
parents | 1ec02d6f9bf3 |
children | fdc8008c236c |
rev | line source |
---|---|
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
1 # |
17 | 2 type cgiinit >/dev/null 2>&1 || . ./s4-funcs.sh |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
3 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
4 blog_genform() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
5 # |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
6 t=$1 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
7 } |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
8 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
9 blog_writable() ( |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
10 # $1=articleid $2=user |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
11 blogowner=`getvalbyid blog owner "$1"` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
12 [ x"$blogowner" = x"$2" ] || isuser "$blogowner" || ismember "$2" "$blogowner" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
13 ) |
138
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
14 blog_readable() { |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
15 # $1=articleid $2=user |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
16 mode=`getgroupattr $grp regmode` |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
17 } |
50
13f9b5e5df85
subshellize blog_notify_reply
HIROSE Yuuji <yuuji@gentei.org>
parents:
48
diff
changeset
|
18 blog_notify_reply() ( |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
19 # $1=articleid $2=ReplyingUser $3=WrittenText $4(optional)=Action |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
20 blogowner=`getvalbyid blog owner "$1"` |
28
7ae119a14613
Do not send comment notification when author is board owner
HIROSE Yuuji <yuuji@gentei.org>
parents:
17
diff
changeset
|
21 [ x"$2" = x"$blogowner" ] && return # If author=blogowner, unnecessary |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
22 blogtitle=`getvalbyid blog title "$1"` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
23 blogurl="$urlbase?replyblog+$1" |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
24 action=${4:-書き込み} |
50
13f9b5e5df85
subshellize blog_notify_reply
HIROSE Yuuji <yuuji@gentei.org>
parents:
48
diff
changeset
|
25 mode=`getvalbyid blog notify "$1"` |
13f9b5e5df85
subshellize blog_notify_reply
HIROSE Yuuji <yuuji@gentei.org>
parents:
48
diff
changeset
|
26 case $mode in |
48 | 27 admin) |
55
7f9f7e898986
Do not send notification to the person-self
HIROSE Yuuji <yuuji@gentei.org>
parents:
54
diff
changeset
|
28 if isgroup "$blogowner"; then |
117 | 29 emails=`getgroupadminmails $blogowner` |
48 | 30 else |
31 emails=`collectemail $blogowner` | |
32 fi | |
33 ;; | |
34 no) return ;; | |
35 *) emails=`collectemail $blogowner` ;; | |
36 esac | |
165
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
37 err notify: user=$user Admins=`getgroupadmins $blogowner` Mode=$mode Emails="[$emails]" |
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
38 SMAIL_TO="$blogowner readers <$admin>" \ |
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
39 smail "$emails" "${action}通知 $urlbase"<<EOF |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
40 [$blogtitle]板に${action}がありました。 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
41 場所: $blogurl |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
42 題目: $blogtitle |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
43 筆者: `gecos $2` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
44 内容: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
45 `echo "$3"|sed 's/^/> /'` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
46 EOF |
50
13f9b5e5df85
subshellize blog_notify_reply
HIROSE Yuuji <yuuji@gentei.org>
parents:
48
diff
changeset
|
47 ) |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
48 blog_showentry() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
49 # $1=table $2=rowid |
69 | 50 # if [ -n "$2" ]; then |
51 # if [ -n "$imgcached" ]; then | |
52 # bstmpdir=$tmpdir/$imgcached/$thumbxy | |
53 # else | |
54 # bstmpdir=$tmpd | |
55 # # tmpd=`mktempd` | |
56 # # tmpfiles=$tmpfiles" $tmpd" | |
57 # fi | |
58 # fi | |
72
3dc3ddd2d3e5
getcachedir argument contains rowid
HIROSE Yuuji <yuuji@gentei.org>
parents:
69
diff
changeset
|
59 td=`getcachedir "article/$2"` |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
60 tbl=${1%%[!A-Z0-9a-z_]*} rowid=${2%%[!A-Z0-9a-z_]*} |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
61 err rowid=$rowid, '$2'=$2 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
62 ts=${tbl}_s tm=${tbl}_m |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
63 at=article as=article_s am=article_m |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
64 serial=$(($(date +%s)-1420038000))s$$ |
64
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
65 blog_writable $rowid $user && iswritable=true || iswritable=false |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
66 # This function grasps blog entry definiton directly. |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
67 # blog: id |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
68 # blog_s: title,ctime,heading |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
69 # blog_m: *article |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
70 |
138
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
71 # 2015-10-05 check readable |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
72 if ! $iswritable; then |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
73 blogowner=`getvalbyid blog owner "$2"` |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
74 # err blogowner=$blogowner |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
75 if isgroup $blogowner; then |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
76 regmode=`getgroupattr $blogowner regmode` |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
77 # err regmode=$regmode |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
78 if [ x"$regmode" = x"moderated" ]; then |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
79 if ! ismember $user $blogowner; then |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
80 echo "加入してからどうぞ" | html p |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
81 return |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
82 fi |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
83 fi |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
84 fi |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
85 fi |
130114486d8c
Blog of moderated group cannot be read by outsider.
HIROSE Yuuji <yuuji@gentei.org>
parents:
134
diff
changeset
|
86 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
87 err "SELECT id from $tbl where rowid=$rowid" |
2 | 88 id=`query "select id from $tbl where rowid=$rowid;"` |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
89 err id=$id |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
90 err "select val from $ts where key='title' and id='$id';" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
91 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
92 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
93 #(1)Display root article |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
94 cat<<EOF |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
95 <form class="replyblog" action="$myname?replyblog+${rowid}#bottom" method="POST" enctype="multipart/form-data"> |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
96 <table class="bloghead"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
97 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
98 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
99 href="<a href=\"?editheading+$rowid\"> 編集 </a>" |
64
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
100 if $iswritable; then |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
101 href2="<a href=\"?lshandout+$rowid\"> 提出状況 </a>" |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
102 href3="(<a href=\"?gethandout+$rowid\">ファイル取得</a>)" |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
103 fi |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
104 cat<<EOF | sq -html $db \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
105 | sed -e "s|\(<TR><TD>\),e,|\1 $href |" \ |
2 | 106 -e "s|,s,\(</TD>\)|$href2$href3\1|" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
107 -- select val from $ts where key="title" and id="$id"; |
2 | 108 select |
109 coalesce((select ",e," from blog where rowid=$rowid and author='$user'),'') | |
110 ||val||" " | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
111 ||case (select val from $ts where key="mode" and id="$id") |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
112 when 'report-closed' then "レポート提出用(自身のファイルのみ参照可),s," |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
113 when 'report-open' then "レポート提出用,s," |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
114 else "" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
115 end |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
116 from $ts where key="ctime" and id="$id"; |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
117 select val from $ts where key="heading" and id="$id"; |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
118 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
119 cat<<EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
120 </table> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
121 <table class="blog_replies"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
122 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
123 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
124 #(2)Display following articles |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
125 textform='<div><table class="b"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
126 <tr><td><textarea name="text" cols="40" rows="4"></textarea></td></tr> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
127 <tr><td>添付ファイル: <input type="file" name="image" multiple></td></tr> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
128 </table> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
129 <input type="submit" value="送信"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
130 <input type="reset" value="リセット"></div> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
131 ' |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
132 ## 6/11の次: articleを出して行く |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
133 : <<EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
134 シリアル:id:p:serial: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
135 blogID:blogid:f:blog(id): |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
136 筆者:author:s:owner |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
137 時刻:ctime:s:stamp: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
138 参照元:parent:s:parent: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
139 パス:path:s:path: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
140 本文:text:s:textarea:cols="60" rows="8" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
141 画像:image:m:image: |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
142 stage:stage:x:hidden:value="replyblog" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
143 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
144 article(id, blogid, author) |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
145 article_s: Visible = ctime, text Invisible = parent, path |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
146 article_m: image |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
147 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
148 article = hoge|1433812374x20849|yuuji@gentei.org |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
149 article_s = hoge|ctime|string|2015-06-13 12:27:34| |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
150 hoge|text|string|Shall we dance?| |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
151 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
152 ## |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
153 ## |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
154 err "select id from $at where blogid='$id';" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
155 # arts=`sq $db "select a.rowid,a.id, |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
156 #-- coalesce(b.gecos, a.author) |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
157 # a.author from $at a |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
158 # LEFT JOIN (select name,val as gecos from user_s where key='gecos') b |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
159 # on a.author=b.name where blogid='$id'";` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
160 arts=`query "select rowid,id,author from $at where blogid='$id';"` |
34 | 161 # err arts="[$arts]" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
162 number=0 |
2 | 163 hrefhome0="<a href=\"?home" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
164 for a in $arts; do |
59 | 165 arid=${a%%\|*} aid=`echo "$a"|cut -d'|' -f2` author=${a##*\|} imgs="" |
133
d5afe98a8b58
debug-off in blog_showentry
HIROSE Yuuji <yuuji@gentei.org>
parents:
128
diff
changeset
|
166 ## err a=$a, aid=$aid, author=$author |
d5afe98a8b58
debug-off in blog_showentry
HIROSE Yuuji <yuuji@gentei.org>
parents:
128
diff
changeset
|
167 ## err td=$td |
59 | 168 val=`getvalbyid article image "$arid" "$td"` |
133
d5afe98a8b58
debug-off in blog_showentry
HIROSE Yuuji <yuuji@gentei.org>
parents:
128
diff
changeset
|
169 ## err val="[$val]" and td as follows: |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
170 |
69 | 171 if [ -n "$val" ]; then |
172 hrfb="$myname?showattc+article_m" | |
173 imgs="<br>"$(echo "$val"\ | |
174 |while read fn; do | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
175 |
69 | 176 #data=`percenthex $td/$fn` |
177 #ct=`cat $td/$fn.content-type` | |
178 sz=`cat $td/$fn.size` | |
179 ri=`cat $td/$fn.rowid` | |
133
d5afe98a8b58
debug-off in blog_showentry
HIROSE Yuuji <yuuji@gentei.org>
parents:
128
diff
changeset
|
180 ## err fn=$fn ct=$ct ri=$ri ls::: "`ls -lF $td/`" |
d5afe98a8b58
debug-off in blog_showentry
HIROSE Yuuji <yuuji@gentei.org>
parents:
128
diff
changeset
|
181 iconhref2 $td/$fn "$hrfb+$ri" "$fn" "$fn($sz)" |
134
12c3f2e334a1
Insert "<br>" after each thumbnail, for test.
HIROSE Yuuji <yuuji@gentei.org>
parents:
133
diff
changeset
|
182 echo "<br>" |
69 | 183 done) |
184 imgs=`echo "$imgs"|tr -d '\n'` # kill newlines for sed | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
185 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
186 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
187 ### number=$((number+1)) |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
188 # reply="<input type=\"radio\" name=\"parent\" class=\"replybtn\" \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
189 # value=\"$number\">" |
2 | 190 getgecos="(select rowid from user where name='$author')||':'||\ |
191 coalesce((select val from user_s \ | |
192 where name='$author' and key='gecos'), '$author')||',[/a],'" | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
193 href="$myname?editart+$arid+$rowid" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
194 link="<a href=\"$href\">編集</a>" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
195 cat<<EOF | sq -html $db \ |
2 | 196 | sed -e "s|,n,\([0-9]*\):|,n,$hrefhome0+\1\">|" \ |
197 -e 's|,\[/a\],|</a>|' \ | |
198 -e 's/,n,/<br>/g' -e "s|,i,|$imgs|" \ | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
199 -e "s|<TR>\(<TD>\)|<TR id=\"$aid\">\1|" \ |
35
894f93ef24fe
g flag is meaningless because regexp is anchored at the bol
HIROSE Yuuji <yuuji@gentei.org>
parents:
34
diff
changeset
|
200 -e "s|^href=\([-A-Za-z0-9,.:/~_%#&+?]*\)|<a &>\1</a>|" \ |
2 | 201 -e "s|\(<TR.*>\)\(<TD>\),e,|\1\2$link|" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
202 select |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
203 coalesce((select ",e," from article where id='$aid' and author='$user'),"") |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
204 || |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
205 max(case key when 'ctime' then ",n,"||val|| |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
206 ",n,"||$getgecos end) as TIME, |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
207 -- max(case key when 'parent' then val||"への返信" end) as REPLYTO, |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
208 max(case key when 'text' then val||",i," end) as TEXT |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
209 from article_s where id = '$aid' |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
210 group by id order by TIME; |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
211 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
212 done |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
213 echo "</table>" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
214 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
215 |
64
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
216 $iswritable && cat<<EOF |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
217 <div class="blogcomment"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
218 <p>コメント記入</p> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
219 <input type="hidden" name="blogid" value="$id"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
220 <input type="hidden" name="stage" value="replyblog"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
221 <input type="hidden" name="serial" value="$serial"> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
222 $textform |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
223 </div> |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
224 EOF |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
225 echo "</form><p id=\"bottom\"></p>" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
226 # Record access log |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
227 acclog blog $rowid |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
228 } |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
229 |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
230 blog_showentry2() { |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
231 # $1=table $2=rowid |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
232 # if [ -n "$2" ]; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
233 # if [ -n "$imgcached" ]; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
234 # bstmpdir=$tmpdir/$imgcached/$thumbxy |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
235 # else |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
236 # bstmpdir=$tmpd |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
237 # # tmpd=`mktempd` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
238 # # tmpfiles=$tmpfiles" $tmpd" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
239 # fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
240 # fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
241 td=`getcachedir "article/$2"` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
242 tbl=${1%%[!A-Z0-9a-z_]*} rowid=${2%%[!A-Z0-9a-z_]*} |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
243 err rowid=$rowid, '$2'=$2 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
244 ts=${tbl}_s tm=${tbl}_m |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
245 at=article as=article_s am=article_m |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
246 serial=$(($(date +%s)-1420038000))s$$ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
247 blog_writable $rowid $user && iswritable=true || iswritable=false |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
248 # This function grasps blog entry definiton directly. |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
249 # blog: id |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
250 # blog_s: title,ctime,heading |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
251 # blog_m: *article |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
252 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
253 # 2015-10-05 check readable |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
254 if ! $iswritable; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
255 blogowner=`getvalbyid blog owner "$2"` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
256 # err blogowner=$blogowner |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
257 if isgroup $blogowner; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
258 regmode=`getgroupattr $blogowner regmode` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
259 # err regmode=$regmode |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
260 if [ x"$regmode" = x"moderated" ]; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
261 if ! ismember $user $blogowner; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
262 echo "加入してからどうぞ" | html p |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
263 return |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
264 fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
265 fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
266 fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
267 fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
268 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
269 err "SELECT id from $tbl where rowid=$rowid" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
270 id=`query "select id from $tbl where rowid=$rowid;"` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
271 err id=$id |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
272 err "select val from $ts where key='title' and id='$id';" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
273 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
274 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
275 #(1)Display root article |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
276 cat<<EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
277 <form class="replyblog" action="$myname?replyblog+${rowid}#bottom" method="POST" enctype="multipart/form-data"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
278 <table class="bloghead"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
279 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
280 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
281 href="<a href=\"?editheading+$rowid\"> 編集 </a>" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
282 if $iswritable; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
283 href2="<a href=\"?lshandout+$rowid\"> 提出状況 </a>" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
284 href3="(<a href=\"?gethandout+$rowid\">ファイル取得</a>)" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
285 fi |
156
d46bce9072cd
Add link to '#bottom', recover function of auto href at the
HIROSE Yuuji <yuuji@gentei.org>
parents:
155
diff
changeset
|
286 href4='<a href="#bottom"> 末尾へ</a>' |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
287 cat<<EOF | sq -html $db \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
288 | sed -e "s|\(<TR><TD>\),e,|\1 $href |" \ |
161
1b9c98fe0a31
,s, pattern can be safely replaced
HIROSE Yuuji <yuuji@gentei.org>
parents:
160
diff
changeset
|
289 -e "s|,s,|$href2$href3|" \ |
158
cad3915d4c74
Add mark of #bottom link position
HIROSE Yuuji <yuuji@gentei.org>
parents:
157
diff
changeset
|
290 -e "s|,t,\(</TD\)>|$href4\1|" |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
291 -- select val from $ts where key="title" and id="$id"; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
292 select |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
293 coalesce((select ",e," from blog where rowid=$rowid and author='$user'),'') |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
294 ||val||" " |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
295 ||case (select val from $ts where key="mode" and id="$id") |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
296 when 'report-closed' then "レポート提出用(自身のファイルのみ参照可),s," |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
297 when 'report-open' then "レポート提出用,s," |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
298 else "" |
158
cad3915d4c74
Add mark of #bottom link position
HIROSE Yuuji <yuuji@gentei.org>
parents:
157
diff
changeset
|
299 end || ',t,' |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
300 from $ts where key="ctime" and id="$id"; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
301 select val from $ts where key="heading" and id="$id"; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
302 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
303 cat<<EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
304 </table> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
305 <table class="blog_replies"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
306 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
307 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
308 lkhome="<a href=\"$myname?home" lke='">' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
309 lkedit="<a href=\"$myname?editart" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
310 if false; then |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
311 sq -html $db<<EOF | |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
312 WITH a_s AS ( |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
313 SELECT id, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
314 max(CASE key WHEN 'ctime' THEN val END) TIME, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
315 max(CASE key WHEN 'text' THEN val END) TEXT |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
316 FROM article_s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
317 GROUP by id |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
318 ) |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
319 SELECT 'id:'||a.id, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
320 CASE author |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
321 WHEN '$user' THEN 'ed:'||a.rowid||':'||$rowid |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
322 ELSE 'e0:' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
323 END edit, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
324 'at:'||(SELECT rowid FROM user WHERE name=author)||':' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
325 ||coalesce((SELECT val FROM user_s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
326 WHERE name=author AND key='gecos'), |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
327 author), |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
328 'ti:'||s.TIME, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
329 'te:'||s.TEXT, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
330 'im:'||(SELECT group_concat(hex(bin) |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
331 FROM (select rowid,id,author from article where blogid in |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
332 (select id from blog where rowid=$rowid)) a |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
333 LEFT JOIN |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
334 a_s s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
335 ON a.id=s.id; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
336 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
337 sed -e "s|^<TR><TD>id:\(.*\)</TD>|<TR id=\"\1\"><TD>|" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
338 -e "/^<TR/N" -e 's/\n//' \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
339 -e "s|<TD>ed:\([0-9]*\):\(.*\)</TD>|$lkedit+\1+\2${lke}編集</a>|" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
340 -e "s|<TD>e0:</TD>||" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
341 -e "s|^<TD>at:\([0-9]*\):\(.*\)</TD>|$lkhome+\1$lke\2</a>|" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
342 -e "s|^<TD>ti:\(.*\)</TD>|\1</TD>|" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
343 -e "s|^<TD>te:\(.*\)|<TD>\1|" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
344 else |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
345 hlink="$myname?home" elink="$myname?editart" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
346 catlink="$myname?showattc+article_m" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
347 deficon="img/file-icon.png" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
348 sq $db<<EOF | |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
349 WITH a_s AS ( |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
350 SELECT id, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
351 max(CASE key WHEN 'ctime' THEN val END) TIME, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
352 max(CASE key WHEN 'text' THEN val END) TEXT |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
353 FROM article_s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
354 GROUP by id |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
355 ) |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
356 SELECT a.id, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
357 CASE author |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
358 WHEN '$user' THEN a.rowid||'+'||$rowid |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
359 ELSE '' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
360 END edit, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
361 (SELECT rowid FROM user WHERE name=author) user_rid, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
362 coalesce((SELECT val FROM user_s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
363 WHERE name=author AND key='gecos'), |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
364 author) uname, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
365 s.TIME, |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
366 hex(s.TEXT), |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
367 (SELECT group_concat(rowid||':'||length(bin)||':'||hex(val), ' ') |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
368 FROM article_m |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
369 WHERE id=a.id AND key='image') imxgids |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
370 FROM (select rowid,id,author from article where blogid in |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
371 (select id from blog where rowid=$rowid)) a |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
372 LEFT JOIN |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
373 a_s s |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
374 ON a.id=s.id; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
375 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
376 while IFS='|' read id edit uid uname tm hte imgids; do |
156
d46bce9072cd
Add link to '#bottom', recover function of auto href at the
HIROSE Yuuji <yuuji@gentei.org>
parents:
155
diff
changeset
|
377 cat<<EOF | |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
378 <tr id="$id"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
379 <td>${edit:+<a href="$elink+$edit">編集</a>} |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
380 <a href="$hlink+$uid">$uname</a> |
155
511406c0cbbe
Do HTML escape at value editing
HIROSE Yuuji <yuuji@gentei.org>
parents:
154
diff
changeset
|
381 $tm</td><td>`echo "$hte"|unhexize|htmlescape` |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
382 EOF |
156
d46bce9072cd
Add link to '#bottom', recover function of auto href at the
HIROSE Yuuji <yuuji@gentei.org>
parents:
155
diff
changeset
|
383 sed -e "s|^href=\([-A-Za-z0-9,.:/~_%#&+?]*\)|<a &>\1</a>|" |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
384 for i in $imgids; do |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
385 mrid=${i%%:*}; i=${i#*:}; sz=`size_h ${i%%:*}` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
386 fn=`echo "${i#*:}"|unhexize` |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
387 fnb=$fn"(${sz})" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
388 # echo r=$mrid fn=$fn |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
389 case "$fn" in |
162 | 390 *.[Pp][Nn][Gg]|*.[Jj][Pp][Gg]|*.[Jj][Pp][Ee][Gg]) |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
391 sq $db "SELECT hex(bin) FROM article_m WHERE rowid=$mrid" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
392 | unhexize \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
393 | convert -define jpeg:size=100x100 -resize 100x100'>' - jpeg:- \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
394 | hexize \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
395 | sed -e 's/\(..\)/%\1/g' \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
396 -e "s|^|<a href=\"$catlink+$mrid\"><img src=\"data:image/jpeg,|" \ |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
397 -e "s|\$|\">$fnb</a>|" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
398 ;; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
399 *) |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
400 echo "<a href=\"$catlink+$mrid\"><img src=\"$deficon\">$fnb</a>" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
401 ;; |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
402 esac |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
403 done |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
404 done |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
405 fi |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
406 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
407 textform='<div><table class="b"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
408 <tr><td><textarea name="text" cols="40" rows="4"></textarea></td></tr> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
409 <tr><td>添付ファイル: <input type="file" name="image" multiple></td></tr> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
410 </table> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
411 <input type="submit" value="送信"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
412 <input type="reset" value="リセット"></div> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
413 ' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
414 echo '</table>' |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
415 |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
416 $iswritable && cat<<EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
417 <div class="blogcomment"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
418 <p>コメント記入</p> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
419 <input type="hidden" name="blogid" value="$id"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
420 <input type="hidden" name="stage" value="replyblog"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
421 <input type="hidden" name="serial" value="$serial"> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
422 $textform |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
423 </div> |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
424 EOF |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
425 echo "</form><p id=\"bottom\"></p>" |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
426 # Record access log |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
427 acclog blog $rowid |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
428 } |
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
429 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
430 lshandout() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
431 # $1=rowid of blog |
64
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
432 if ! blog_writable $1 $user; then |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
433 echo "メンバー以外は利用できません。" | html p; return |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
434 fi |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
435 time=`getvalbyid blog ctime $1|colrm 11` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
436 owner=`getvalbyid blog owner $1` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
437 title=`getvalbyid blog title $1` |
2 | 438 ge=`gecos $owner` |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
439 lshandoutsub $owner "$@" \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
440 |m4 -D_TITLE_="提出状況" \ |
67 | 441 -D_FORMHEAD_="$time [$title]@${ge:-$owner}" \ |
442 -D_FORM_="syscmd(cat)" -D_DUMPHEAD_= -D_DUMPTABLE_= \ | |
443 $layout/html.m4.html $layout/form+dump-whead.m4.html | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
444 } |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
445 lshandoutsub() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
446 # $1=owner $2=rowid of blog |
2 | 447 if isgroup $1; then |
448 sample="(select user from grp_mem where gname='$1')" | |
449 else | |
450 sample="(select distinct author as user from arts)" | |
67 | 451 echo "(集計は板への投稿者のみ)" | html p |
2 | 452 fi |
453 sql="with arts as (select id,author from article \ | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
454 where blogid=(select id from blog where rowid=$2))\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
455 select (select rowid from user where name=c0.user)||' '|| \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
456 coalesce((select val from user_s where name=c0.user \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
457 and key='gecos'),\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
458 c0.user) as 'メンバー',\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
459 sum(case when c1.key is not null then 1 else 0 end)\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
460 as 'コメント記入',\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
461 sum(case when c2.key is not null then 1 else 0 end)\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
462 as 'ファイルの提出'\ |
2 | 463 from $sample c0 \ |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
464 left join (select id,author from arts) a\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
465 on c0.user=a.author\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
466 left join (select id,key from article_s where key='text') c1\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
467 on a.id=c1.id left join (select id,key from article_m ) c2\ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
468 on c1.id=c2.id group by c0.user order by c0.user;" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
469 err ishandoutsub: sql="$sql" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
470 echo '<table class="b td2r td3r">' |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
471 hrb="<a href=\"?home+" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
472 echo "$sql" | sq -header -html $db \ |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
473 | sed -e "s,\(<TR><TD>\)\([^ ]*\) \(.*\)</TD>,\1$hrb\2\">\3</TD>," -e 's,<TD>0</TD>,<TD class="warn">0</TD>,' |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
474 echo '</table>' |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
475 } |
2 | 476 gethandout() { |
477 # $1=rowid of blog | |
64
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
478 if ! blog_writable $1 $user; then |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
479 echo "メンバー以外は利用できません。" | html p; return |
54bbd7ce3766
Inhibit non-group-member from *handout
HIROSE Yuuji <yuuji@gentei.org>
parents:
63
diff
changeset
|
480 fi |
2 | 481 i=0 |
482 bd=$tmpd/archive.$$ | |
483 mkdir $bd | |
484 query "select m.rowid,author,m.val from article a join article_m m\ | |
485 on a.id=m.id where blogid=(select id from blog where rowid=$1)\ | |
486 and m.key in ('image', 'document', 'binary');" \ | |
487 | while IFS='|' read rowid author filename; do | |
63 | 488 # err isfilereadable $user article_m $rowid |
489 isfilereadable $user article_m $rowid || continue | |
490 # err ok | |
2 | 491 i=$((i+1)) |
492 dir=`printf $bd/%03d $i` | |
493 mkdir $dir | |
494 query "select quote(bin) from article_m where rowid=$rowid;" \ | |
8 | 495 | unhexize > $dir/$filename |
2 | 496 done |
497 if [ ! -d $bd/001 ]; then | |
498 contenttype; echo | |
67 | 499 echo "取得できるファイルがありませんでした。" | html p |
2 | 500 return |
501 fi | |
502 (cd $bd | |
503 err cdto$bd; (pwd; ls -lFa) 1>&3 | |
504 tar zcf .archive.tar.gz * && mv .archive.tar.gz archive.tar.gz | |
505 ) | |
506 arc=$bd/archive.tar.gz | |
507 echo "Content-type: application/x-gzip" | |
508 echo "Content-Length: `cat $arc|wc -c`" | |
509 echo "Content-Disposition: filename=\"archive.tar.gz\"" | |
510 echo | |
511 cat $arc | |
512 } | |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
513 lsmyfile() { # $1(optional)=SortBy |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
514 case "$1" in |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
515 ""|CTIME-DESC) |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
516 by="CTIME" ord="DESC" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
517 CTIME*) by="CTIME" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
518 FILE*) by="FILE" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
519 OWNER*) by="OWNER" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
520 TITLE*) by="TITLE" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
521 esac |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
522 case "$1" in |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
523 *DESC) ord="DESC" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
524 esac |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
525 case "$ord" in |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
526 DESC) lkod="" jord="降順" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
527 *) lkod="-DESC" jord="昇順" ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
528 esac |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
529 sql="select m.val||'/'||m.rowid FILE, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
530 coalesce( |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
531 case when (select name from user where name=bs.owner) |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
532 is not null |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
533 then (select val from user_s where name=bs.owner |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
534 and key='gecos') |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
535 when (select gname from grp where gname=bs.owner) |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
536 is not null |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
537 then (select val from grp_s where gname=bs.owner |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
538 and key='gecos') |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
539 else |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
540 null |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
541 end, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
542 bs.owner |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
543 ) OWNER, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
544 a_s.val CTIME, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
545 ',t,'||bs.title||':'||b.rowid||'#'||a.id TITLE |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
546 from (select rowid,id,val from article_m where id |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
547 in (select id from article where author='$user') |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
548 and type like 'file:%') |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
549 m left join article a on m.id=a.id |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
550 left join article_s a_s on a.id=a_s.id and a_s.key='ctime' |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
551 left join (select id, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
552 max(case key when 'owner' then val end) as owner, |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
553 max(case key when 'title' then val end) as title |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
554 from blog_s group by id) |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
555 bs on a.blogid=bs.id |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
556 left join blog b on bs.id=b.id |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
557 where m.val is not null order by $by $ord;" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
558 err lshandoutbyauthor: sql=`echo "$sql"` |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
559 title="個人提出ファイル" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
560 m4 -D_TITLE_=$title $layout/html.m4.html |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
561 hra="<a href=\"?lsmyfile+" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
562 hrb="<a href=\"?showattc+article_m+" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
563 hrc="<a href=\"?replyblog+" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
564 (echo '<table class="b">' |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
565 echo "$sql"|sq -html -header $db ) \ |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
566 | sed -e "s|\(<TR><TD>\)\([^/]*\)/\([0-9]*\)|\1$hrb\3\">\2</a>|" \ |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
567 -e "s|,t,\(.*\):\([^<]*\)\(</TD>\)|$hrc\2\">\1</a>\3|" \ |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
568 -e "s|\(<TH>\)\([A-Z]*\)\(</TH>\)|\1$hra\2$lkod\">\2</a>|" \ |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
569 | m4 -D_TITLE_=$title -D_FORM_="<p>($by$jord)</p>" \ |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
570 -D_DUMPTABLE_="syscmd(cat)" $layout/form+dump.m4.html |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
571 echo '</table>' |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
572 } |
78 | 573 searchart() { |
574 kwd=`getpar kwd` | |
575 if [ -z "$kwd" ]; then | |
576 echo "検索語を指定してください" | html p; return | |
577 fi | |
165
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
578 for k in `echo "$kwd" | sed "s/'/''/g"`; do |
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
579 kc=$kc${kc:+" AND "}"s.val LIKE '%$k%'" |
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
580 done |
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
581 kwd=`echo "$kwd"|htmlescape` |
78 | 582 owner=`getpar owner` |
583 owner=${owner:-$1} | |
584 echo "「$kwd」による検索結果" | html p | |
585 if [ -n "$owner" ]; then | |
586 cond="where key='owner' and val='$owner'" | |
587 if isuser $owner; then | |
588 echo "(`linkhome $owner` さんの記録からの検索)" | html p | |
589 else | |
590 linkhome $owner 1>&3 | |
591 echo "(`linkhome $owner` グループからの検索)" | html p | |
592 fi | |
593 fi | |
594 # article_s: id=article-id, key='text', val='TEXT' | |
595 # article: id=article-id, blogid=blogkd | |
596 # blog: id=blog-id, author=LeaderAuthor | |
597 # blog_s: id=blog-id, key='title', val='BLOG-TITLE' | |
598 # WANT: blog-ROWid,article-id,val(TEXT) | |
599 sql="select b.rowid||'#'||x.id as '', | |
600 b.title as TITLE, | |
601 substr(x.val, 0, 80) as TEXT | |
602 from (select blog.rowid,blog.*,bs.val as title from blog join blog_s bs | |
603 on blog.id=bs.id and bs.key='title') b | |
604 join | |
605 (select a.id,a.blogid,s.val from article a join article_s s | |
165
4040bb8b2038
quote search kwd. $SMAIL_TO controls To: header value.
HIROSE Yuuji <yuuji@gentei.org>
parents:
162
diff
changeset
|
606 on a.id=s.id where $kc) |
78 | 607 x on b.id=x.blogid |
608 where b.id in (select id from blog_s | |
609 $cond);" | |
610 sedopt="s,<TR><TD>\([^<]*\)</TD>,<TR><TD><a\ | |
611 href=\"?replyblog+\1\">VIEW</a></TD>," | |
612 cat<<EOF | |
613 <table class="b searchart"> | |
614 `sq -header -html $db "$sql"|sed "$sedopt"` | |
615 </table> | |
616 EOF | |
617 } | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
618 listblog() ( |
67 | 619 # $1={user,group} |
620 qow=`sqlquote $1` | |
621 cond="where a.id in (select id from blog_s where key='owner' and val=$qow) order by ctime desc" | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
622 DT_CHLD=article:blogid |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
623 cgi_form searchart<<EOF |
128 | 624 <label>`cgi_text kwd`という語を含む記事をこの一覧から検索</label> |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
625 `cgi_hidden owner $user` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
626 EOF |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
627 dumptable html blog 'ctime title heading' "$cond" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
628 ) |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
629 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
630 blog_addentry() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
631 # $1=GRPname(if it is a group) |
16
636df1c1bdf2
Track group by rowid in URLs
HIROSE Yuuji <yuuji@gentei.org>
parents:
13
diff
changeset
|
632 grprowid=$1 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
633 rowid=`getpar rowid` |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
634 err blog_addentry0: rowid=$rowid |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
635 if [ -n "$grprowid" ]; then |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
636 owner=`getgroupbyid $grprowid` |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
637 else |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
638 owner=`getpar owner` |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
639 fi |
122
0681534f9451
When deleting group, remove all blos that belong it.
HIROSE Yuuji <yuuji@gentei.org>
parents:
117
diff
changeset
|
640 err blog-add: \$1=$1 rowid=$rowid owner=$owner |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
641 if isgroup $owner; then |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
642 groupmode=1 listing=$owner guide="[${owner}]" GF_OWNER=$owner |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
643 else |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
644 usermode=1 listing=$user guide="[個人]" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
645 fi |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
646 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
647 if [ -n "`getpar title`" ]; then |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
648 if [ "$usermode" ]; then |
122
0681534f9451
When deleting group, remove all blos that belong it.
HIROSE Yuuji <yuuji@gentei.org>
parents:
117
diff
changeset
|
649 err usermode: user=$user owner=$owner |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
650 if [ x"$user" != x"$owner" ]; then |
67 | 651 echo "他人の日記は書けません" | html p |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
652 return 2 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
653 fi |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
654 elif [ "$groupmode" ]; then # if write to group log |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
655 grp=$owner #\`getpar grp\` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
656 err ismember: $user $grp |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
657 if ! ismember "$user" "$grp"; then |
67 | 658 echo "(話題作成はこのグループに加入してから)" | html p |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
659 return 3 |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
660 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
661 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
662 par2table $formdir/blog.def |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
663 serial=`getpar serial` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
664 err SERIAL: $serial ROWID=$rowid listing=$listing |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
665 id="" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
666 if [ -n "$rowid" ]; then |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
667 # Here, id becomes NULL when removal of entries at par2table |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
668 id=`query "select rowid from blog where rowid=$rowid;"` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
669 elif [ -n "$serial" ]; then |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
670 # If new blog leader created, traverse to its head. |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
671 id=`query "select rowid from blog where id='$serial';"` |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
672 err new-Leader: "select rowid from blog where id='$serial';" id=$id |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
673 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
674 if [ -n "$id" ]; then |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
675 ## If new aritcle is entered, JUMP to blog_reply |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
676 blog_reply $id |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
677 return |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
678 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
679 fi |
81
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
680 echo "${guide}新規話題作成" > $tmpd/title.$$ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
681 listblog $listing > $tmpd/listblog.$$ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
682 genform $formdir/blog.def \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
683 | m4 -D_TITLE_="spaste(\`$tmpd/title.$$')" \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
684 -D_FORMHEAD_="序文は簡単に詳しくはコメントに" \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
685 -D_DUMPHEAD_="これまでの蓄積" \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
686 -D_FORM_="syscmd(\`cat')" \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
687 -D_DUMPTABLE_="spaste(\`$tmpd/listblog.$$')" \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
688 $layout/html.m4.html \ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
689 $layout/form+dump-whead.m4.html |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
690 } |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
691 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
692 blog_reply() { |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
693 rowid=$1 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
694 err rowid=$1 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
695 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
696 if [ -z "$rowid" ]; then |
67 | 697 echo "表示する日記番号が未指定です。" | html p |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
698 return |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
699 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
700 title=`getvalbyid blog title $rowid` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
701 owner=`getvalbyid blog owner $rowid` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
702 if isuser "$owner"; then |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
703 subtitle="`gecos $owner` さんの話題" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
704 else |
16
636df1c1bdf2
Track group by rowid in URLs
HIROSE Yuuji <yuuji@gentei.org>
parents:
13
diff
changeset
|
705 grprowid=`query "select rowid from grp where gname=\"$owner\";"` |
54
d08e556f3462
In group mode, link anchor changed from gecos to gname
HIROSE Yuuji <yuuji@gentei.org>
parents:
50
diff
changeset
|
706 subtitle="グループ <a href=\"?grp+$grprowid\">$owner</a> での話題" |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
707 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
708 if [ -z "$title" ]; then |
67 | 709 echo "日記番号指定が無効です。" | html p |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
710 return |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
711 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
712 |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
713 text=`getpar text` |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
714 if [ -n "$text" ]; then |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
715 if blog_writable $rowid $user; then |
80
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
716 par2table $formdir/article.def |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
717 st=$? # ; err par2t-st=$st |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
718 case $st in |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
719 0|4) |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
720 [ "$st" = "4" ] && act="書込削除" |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
721 blog_notify_reply $rowid $user "$text" $act ;; |
39e69daa2071
New feature "lsmyfile" added
HIROSE Yuuji <yuuji@gentei.org>
parents:
78
diff
changeset
|
722 esac |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
723 else |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
724 title="$title(加入してないので書き込み不可)" |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
725 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
726 fi |
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
727 def=$formdir/article.def |
81
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
728 echo "$title" > $tmpd/title.$$ |
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
729 echo "$subtitle" > $tmpd/subtitle.$$ |
154
75598f2d3118
TEST: blog_showentry2 - constructing loop by output from single SQL
HIROSE Yuuji <yuuji@gentei.org>
parents:
138
diff
changeset
|
730 ${BLOG_SHOW:-blog_showentry} blog $rowid \ |
81
ddc8a4c0b8d9
All macro-expanding by m4 bypassed via syscmd or spaste
HIROSE Yuuji <yuuji@gentei.org>
parents:
80
diff
changeset
|
731 | m4 -D_TITLE_="spaste(\`$tmpd/title.$$')" -D_BODYCLASS_=general \ |
156
d46bce9072cd
Add link to '#bottom', recover function of auto href at the
HIROSE Yuuji <yuuji@gentei.org>
parents:
155
diff
changeset
|
732 -D_FORMHEAD_="spaste(\`$tmpd/subtitle.$$')" \ |
d46bce9072cd
Add link to '#bottom', recover function of auto href at the
HIROSE Yuuji <yuuji@gentei.org>
parents:
155
diff
changeset
|
733 -D_FORM_='' \ |
67 | 734 -D_DUMPTABLE_="syscmd(cat)" -D_DUMPHEAD_="" \ |
735 $layout/html.m4.html $layout/form+dump-whead.m4.html | |
0
b8a890828283
add se-blog.sh se-cgi.sh se-funcs.sh se-init.sh mpsplit.rb
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
736 } |