Mercurial > hgrepos > hgweb.cgi > s4
annotate y4.cgi @ 13:f2204bd941d5
periodic
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Tue, 21 Jul 2015 10:13:33 +0900 |
parents | 3565d93c2fb1 |
children | 636df1c1bdf2 |
rev | line source |
---|---|
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
1 #!/bin/sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
2 # 愛 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
3 PATH=/usr/local/sqlite3/bin:$PATH |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
4 myname=`basename $0` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
5 mydir=`dirname $0` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
6 . $mydir/y4-funcs.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
7 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
8 cgiinit |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
9 if [ x"$1" = x"reg" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
10 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
11 regist $2 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
12 putfooter |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
13 exit |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
14 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
15 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
16 dologin |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
17 #gencookie; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
18 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
19 case ${SERVER_SOFTWARE} in |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
20 bozohttp*) |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
21 set -- `echo "$@"|(IFS=+ read a b c d e f g; echo $a $b $c $d $e $f $g)` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
22 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
23 esac |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
24 |
13 | 25 err 1=$1 2=$2 3=$3 4=$4 |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
26 stage=`getpar stage` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
27 stage=${stage:-$1} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
28 case ${stage} in |
8 | 29 # "") |
30 # contenttype; echo | |
31 # m4 -D_SITE_="S System" $layout/welcome.m4.html | |
32 # # echo "<pre>"; gencookie "user=$user" "skey=$skey"; echo "</pre>" | |
33 # # echo "<pre>`env|sort -u`</pre>" | |
34 # ;; | |
35 "home"|"") | |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
36 contenttype; echo |
8 | 37 err HOME: just in rowid=`getpar rowid` |
38 [ -n "`getpar rowid`" ] && par2table $formdir/user.def | |
39 showhome ${2:-$user} | |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
40 ;; |
8 | 41 # "diary") |
42 # contenttype; echo | |
43 # title=`getpar title` #diary=`getpar diary` wday=`getpar wday` | |
44 # [ -n "$title" ] && par2table $formdir/diary.def | |
45 # m4 -D_TITLE_="$title" -D_DIARY_="$diary" \ | |
46 # -D_FORM_="`genform templ/form/diary.def`" \ | |
47 # -D_FORM2_="syscmd(\`genform templ/form/diary.def')" \ | |
48 # -D_DUMPTABLE_="`dumptable html diary title,wday,diary`" \ | |
49 # $layout/html.m4.html $layout/diary.m4.html | |
50 # ;; | |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
51 "invite") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
52 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
53 invite |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
54 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
55 "groupman") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
56 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
57 gname=`getpar gname` |
13 | 58 if [ -n "$gname" ]; then |
59 par2table $formdir/grp.def | |
60 joingrp "$gname" "$user" yes "$user" as-admin | |
61 fi | |
62 GF_STAGE=groupman | |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
63 m4 -D_TITLE_="グループ作成" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
64 -D_FORM_="`genform $formdir/grp.def`" \ |
13 | 65 -D_DUMPTABLE_="`DT_VIEW=grp dumptable html grp 'gname gecos:DESC mtime:TIME' 'order by b.TIME desc'`" \ |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
66 $layout/html.m4.html $layout/groupman.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
67 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
68 "edittable") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
69 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
70 m4 -D_TITLE_="グループ編集/削除" $layout/html.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
71 edittable "$formdir/$2.def" "$2" "$3" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
72 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
73 "userconf") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
74 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
75 [ -n "`getpar rowid`" ] && par2table $formdir/user.def |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
76 userconf |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
77 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
78 "groupconf") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
79 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
80 [ -n "`getpar rowid`" ] && par2table $formdir/grp.def |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
81 groupconf "$2" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
82 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
83 "mems") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
84 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
85 m4 -D_TITLE_="参加者一覧" -D_BODYCLASS_=listmember $layout/html.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
86 kwd=`getpar kwd` |
13 | 87 listmember $kwd |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
88 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
89 "grps") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
90 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
91 m4 -D_TITLE_="グループ一覧" -D_BODYCLASS_=listgroup $layout/html.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
92 kwd=`getpar kwd` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
93 listgroup $kwd \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
94 | m4 -D_DUMPTABLE_="syscmd(\`cat')" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
95 -D_TITLE_="グループ関連操作" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
96 -D_FORM_="<a href=\"?groupman\">新規グループ作成</a>" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
97 $layout/groupman.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
98 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
99 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
100 "grps2") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
101 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
102 m4 -D_TITLE_="グループ一覧" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
103 -D_FORM_="`listgroup2 $formdir/grp.def`" -D_DUMPTABLE_= \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
104 $layout/html.m4.html \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
105 $layout/groupman.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
106 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
107 "grp") # $2=group |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
108 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
109 gpg=`getpar grp` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
110 grp=${2:-$gpg} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
111 ## . ./y4-blog.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
112 jg=`getpar joingrp` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
113 if [ -n "$jg" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
114 err jg=$jg, grp=$grp |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
115 [ -n "$jg" -a -n "$grp" ] && |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
116 joingrp "$grp" "$user" "$jg" "`getpar email`" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
117 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
118 m4 -D_TITLE_="グループ $grp" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
119 $layout/html.m4.html |
13 | 120 showgroup "$grp" |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
121 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
122 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
123 "commission") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
124 # $2=grp $3=user-rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
125 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
126 err commission: "$@" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
127 m4 -D_TITLE_="グループ $2 管理者委任" $layout/html.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
128 shift # $1=grp $2=user-rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
129 if [ -n "$2" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
130 grp_reg_adm "$@" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
131 else |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
132 echo "<p>無効な指定です。普通のアクセスならここに来ないはず。</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
133 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
134 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
135 "blog") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
136 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
137 . ./y4-blog.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
138 blog_addentry $2 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
139 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
140 "replyblog") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
141 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
142 rowid=${2%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
143 ## err ROWid=$rowid, '$2'=$2 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
144 . ./y4-blog.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
145 err blog_reply $rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
146 blog_reply $rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
147 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
148 "editheading") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
149 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
150 rowid=${2%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
151 # blogrowid=${3%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
152 if [ -z "$rowid" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
153 echo "<p>話題番号が未指定です。</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
154 return |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
155 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
156 owner=`getvalbyid blog owner $2` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
157 title=`getvalbyid blog title $2` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
158 m4 -D_TITLE_="修正" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
159 -D_SUBTITLE_="[$title]@$owner" -D_DIARY_="" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
160 -D_BLOGS_="" -D_DUMPTABLE_="" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
161 -D_FORM_="`GF_ACTION=\"?blog\" edittable $formdir/blog.def blog $rowid`" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
162 $layout/html.m4.html $layout/diary.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
163 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
164 "editart") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
165 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
166 rowid=${2%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
167 blogrowid=${3%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
168 if [ -z "$rowid" -o -z "$blogrowid" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
169 echo "<p>表示する記事番号が未指定です。</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
170 return |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
171 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
172 owner=`getvalbyid blog owner $blogrowid` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
173 title=`getvalbyid blog title $blogrowid` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
174 author=`getvalbyid article author $rowid` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
175 err EDITart: owner=$owner, author=$author |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
176 if isgrpowner $user $owner; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
177 : EDIT OK |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
178 elif [ x"$owner" != x"$user" -a x"$author" != x"$user" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
179 echo "<p>本人か所有者しか編集できません.</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
180 return |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
181 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
182 aid=`query "select id from article where rowid=$rowid;"` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
183 # title=`getvalbyid blog title $2` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
184 m4 -D_TITLE_="コメントの修正" -D_DIARY_="" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
185 -D_FORM_="`GF_ACTION=\"?replyblog+$blogrowid#$aid\" edittable $formdir/article.def article $rowid`" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
186 -D_SUBTITLE_="`gecos $owner`の「$title」" \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
187 -D_BLOGS_= -D_DUMPTABLE_= \ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
188 $layout/html.m4.html $layout/diary.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
189 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
190 "lshandout") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
191 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
192 rowid=${2%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
193 if [ -z "$rowid" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
194 echo "<p>話題番号が未指定です。</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
195 return |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
196 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
197 . ./y4-blog.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
198 lshandout $rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
199 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
200 "gethandout") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
201 rowid=${2%%[!A-Z0-9a-z_]*} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
202 if [ -z "$rowid" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
203 echo "<p>話題番号が未指定です。</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
204 return |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
205 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
206 . ./y4-blog.sh |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
207 gethandout $rowid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
208 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
209 "searchart") # $2=blogowner |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
210 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
211 m4 -D_TITLE_="検索結果" $layout/html.m4.html |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
212 kwd=`getpar kwd` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
213 if [ -z "$kwd" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
214 echo "<p>検索語を指定してください</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
215 else |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
216 owner=`getpar owner` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
217 owner=${owner:-$2} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
218 echo "<h2>「$kwd」による検索結果</h2>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
219 if [ -n "$owner" ]; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
220 cond="where key='owner' and val='$owner'" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
221 if isuser $owner; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
222 echo "<p>(`linkhome $owner` さんの記録からの検索)</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
223 else |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
224 linkhome $owner 1>&3 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
225 echo "<p>(`linkhome $owner` グループからの検索)</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
226 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
227 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
228 # article_s: id=article-id, key='text', val='TEXT' |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
229 # article: id=article-id, blogid=blogkd |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
230 # blog: id=blog-id, author=LeaderAuthor |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
231 # blog_s: id=blog-id, key='title', val='BLOG-TITLE' |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
232 # WANT: blog-ROWid,article-id,val(TEXT) |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
233 sql="select b.rowid||'#'||x.id as '', |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
234 b.title as TITLE, |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
235 substr(x.val, 0, 80) as TEXT |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
236 from (select blog.rowid,blog.*,bs.val as title from blog join blog_s bs |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
237 on blog.id=bs.id and bs.key='title') b |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
238 join |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
239 (select a.id,a.blogid,s.val from article a join article_s s |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
240 on a.id=s.id where s.val like '%$kwd%') |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
241 x on b.id=x.blogid |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
242 where b.id in (select id from blog_s |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
243 $cond);" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
244 sedopt="s,<TR><TD>\([^<]*\)</TD>,<TR><TD><a\ |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
245 href=\"?replyblog+\1\">VIEW</a></TD>," |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
246 cat<<EOF |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
247 <table class="b searchart"> |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
248 `sq -header -html $db "$sql"|sed "$sedopt"` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
249 </table> |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
250 EOF |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
251 fi |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
252 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
253 "showattc") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
254 # $2=table_m $3=rowid $4=val |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
255 if ! isfilereadable $user $2 $3; then |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
256 contenttype; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
257 echo "<p>このファイルは管理者のみしか見られません</p>" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
258 putfooter; exit |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
259 fi |
10
63c0e22870bb
Use mktempd() instead of mktemp directly
HIROSE Yuuji <yuuji@gentei.org>
parents:
8
diff
changeset
|
260 idir=`umask 002; mktempd` || exit 1 |
11 | 261 # tmpfiles=$tmpfiles"${tmpfiles+ }$idir" |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
262 bin=$idir/$myname-$$.bin |
11 | 263 sql="select quote(bin) from $2 where rowid='$3';" |
264 sq $db "$sql" | unhexize > $bin | |
265 tv=`query "select type,val from $2 where rowid='$3';"` | |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
266 type=${tv%|*} fn=${tv#*|} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
267 err tv=$tv type=$type fn=$fn |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
268 ct=${type#file:} |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
269 case $ct in # all text/* changed to text/plain |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
270 text/*) |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
271 charset=`nkf -g $bin|cut -d' ' -f1` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
272 case $charset in |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
273 ASCII*) charset="" ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
274 esac |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
275 ct="text/plain${charset:+; charset=$charset}" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
276 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
277 esac |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
278 contenttype "$ct" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
279 echo "Content-Disposition: filename=\"$fn\"" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
280 echo "Content-Length: " `cat $bin | wc -c`; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
281 #echo "Content-Type: " ${type#file:}; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
282 cat $bin |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
283 exit 0 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
284 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
285 "gallery") |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
286 ## contenttype "Image/jpeg" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
287 sql="select quote(b) from te where a='${2:-mikan.jpg}'" |
10
63c0e22870bb
Use mktempd() instead of mktemp directly
HIROSE Yuuji <yuuji@gentei.org>
parents:
8
diff
changeset
|
288 idir=`umask 002; mktempd` || exit 1 |
11 | 289 # tmpfiles=$tmpfiles"${tmpfiles+ }$idir" |
4
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
290 img=$idir/$myname-$$.bin |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
291 db=b.sq3 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
292 sqlite3 $db "$sql" | xxd -r -p > $img |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
293 len=`cat $img | wc -c` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
294 echo "Content-Length: $len" |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
295 type=`file --mime-type $img | cut -d' ' -f2` |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
296 echo 'Content-type: $type'; echo |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
297 cat $img |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
298 ;; |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
299 esac |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
300 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
301 |
6822f4362bf9
New system name declared as yas4
HIROSE Yuuji <yuuji@gentei.org>
parents:
diff
changeset
|
302 putfooter |