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