s4
changeset 67:3b70f847277e
Rearrangement
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Fri, 31 Jul 2015 10:04:14 +0900 |
parents | 666180f62a3d |
children | 7380bcf19078 |
files | s4-blog.sh s4-funcs.sh templ/default/diary.m4.html templ/default/form+dump-whead.m4.html templ/default/form+dump.m4.html templ/default/groupman.m4.html |
diffstat | 6 files changed, 77 insertions(+), 59 deletions(-) [+] |
line diff
1.1 --- a/s4-blog.sh Thu Jul 30 11:13:53 2015 +0900 1.2 +++ b/s4-blog.sh Fri Jul 31 10:04:14 2015 +0900 1.3 @@ -220,9 +220,9 @@ 1.4 ge=`gecos $owner` 1.5 lshandoutsub $owner "$@" \ 1.6 |m4 -D_TITLE_="提出状況" \ 1.7 - -D_SUBTITLE_="$time [$title]@${ge:-$owner}" -D_DIARY_="" \ 1.8 - -D_FORM_="syscmd(cat)" -D_BLOGS_= -D_DUMPTABLE_= \ 1.9 - $layout/html.m4.html $layout/diary.m4.html 1.10 + -D_FORMHEAD_="$time [$title]@${ge:-$owner}" \ 1.11 + -D_FORM_="syscmd(cat)" -D_DUMPHEAD_= -D_DUMPTABLE_= \ 1.12 + $layout/html.m4.html $layout/form+dump-whead.m4.html 1.13 } 1.14 lshandoutsub() { 1.15 # $1=owner $2=rowid of blog 1.16 @@ -230,7 +230,7 @@ 1.17 sample="(select user from grp_mem where gname='$1')" 1.18 else 1.19 sample="(select distinct author as user from arts)" 1.20 - echo "<p>(集計は板への投稿者のみ)</p>" 1.21 + echo "(集計は板への投稿者のみ)" | html p 1.22 fi 1.23 sql="with arts as (select id,author from article \ 1.24 where blogid=(select id from blog where rowid=$2))\ 1.25 @@ -278,7 +278,7 @@ 1.26 done 1.27 if [ ! -d $bd/001 ]; then 1.28 contenttype; echo 1.29 - echo "<p>取得できるファイルがありませんでした。</p>" 1.30 + echo "取得できるファイルがありませんでした。" | html p 1.31 return 1.32 fi 1.33 (cd $bd 1.34 @@ -294,8 +294,9 @@ 1.35 } 1.36 1.37 listblog() ( 1.38 - # $1=user 1.39 - cond="where a.id in (select id from blog_s where key='owner' and val='$1') order by ctime desc" 1.40 + # $1={user,group} 1.41 + qow=`sqlquote $1` 1.42 + cond="where a.id in (select id from blog_s where key='owner' and val=$qow) order by ctime desc" 1.43 DT_CHLD=article:blogid 1.44 cgi_form searchart<<EOF 1.45 <label>`cgi_text kwd`という語を含む記事を検索</label> 1.46 @@ -317,9 +318,9 @@ 1.47 else 1.48 grp=`getgroupbyid $grprowid` 1.49 if [ -n "$grp" ]; then 1.50 - listing=$1 guide="[${grp}]" GF_OWNER=$grp 1.51 + listing=$grp guide="[${grp}]" GF_OWNER=$grp 1.52 else 1.53 - echo "<p>無効なグループ指定です。</p>" 1.54 + echo "無効なグループ指定です。" | html p 1.55 return 1.56 fi 1.57 fi 1.58 @@ -328,14 +329,14 @@ 1.59 owner=`getpar owner` 1.60 if isuser $owner; then 1.61 if [ x"$user" != x"$owner" ]; then 1.62 - echo "<p>他人の日記は書けません</p>" 1.63 + echo "他人の日記は書けません" | html p 1.64 return 1.65 fi 1.66 elif isgroup $owner; then # if write to group log 1.67 grp=$owner #\`getpar grp\` 1.68 err ismember: $user $grp 1.69 if ! ismember "$user" "$grp"; then 1.70 - echo "<p>(話題作成はこのグループに加入してから)</p>" 1.71 + echo "(話題作成はこのグループに加入してから)" | html p 1.72 return 1.73 fi 1.74 fi 1.75 @@ -356,13 +357,13 @@ 1.76 return 1.77 fi 1.78 fi 1.79 - m4 -D_TITLE_="${guide}新規話題作成" -D_DIARY_="新規話題の記入" \ 1.80 - -D_SUBTITLE_="序文は簡単に詳しくはコメントに" \ 1.81 - -D_BLOGS_="これまでの蓄積" \ 1.82 + m4 -D_TITLE_="${guide}新規話題作成" \ 1.83 + -D_FORMHEAD_="序文は簡単に詳しくはコメントに" \ 1.84 + -D_DUMPHEAD_="これまでの蓄積" \ 1.85 -D_FORM_="`genform $formdir/blog.def`" \ 1.86 -D_DUMPTABLE_="`listblog $listing`" \ 1.87 $layout/html.m4.html \ 1.88 - $layout/diary.m4.html 1.89 + $layout/form+dump-whead.m4.html 1.90 } 1.91 1.92 blog_reply() { 1.93 @@ -370,7 +371,7 @@ 1.94 err rowid=$1 1.95 1.96 if [ -z "$rowid" ]; then 1.97 - echo "<p>表示する日記番号が未指定です。</p>" 1.98 + echo "表示する日記番号が未指定です。" | html p 1.99 return 1.100 fi 1.101 title=`getvalbyid blog title $rowid` 1.102 @@ -382,7 +383,7 @@ 1.103 subtitle="グループ <a href=\"?grp+$grprowid\">$owner</a> での話題" 1.104 fi 1.105 if [ -z "$title" ]; then 1.106 - echo "<p>日記番号指定が無効です。</p>" 1.107 + echo "日記番号指定が無効です。" | html p 1.108 return 1.109 fi 1.110 1.111 @@ -397,10 +398,9 @@ 1.112 fi 1.113 fi 1.114 def=$formdir/article.def 1.115 - cat $layout/html.m4.html $layout/diary.m4.html \ 1.116 - | sed '/_DIARY_/q' \ 1.117 - | m4 -D_TITLE_="$title" -D_DIARY_="" -D_BODYCLASS_=general \ 1.118 - -D_SUBTITLE_="$subtitle" 1.119 - blog_showentry blog $rowid 1.120 - sed '1,/_DIARY_/d' $layout/diary.m4.html | m4 -D_FORM_= -D_DUMPTABLE_= 1.121 + blog_showentry blog $rowid \ 1.122 + | m4 -D_TITLE_="$title" -D_BODYCLASS_=general \ 1.123 + -D_FORMHEAD_="$subtitle" -D_FORM_="" \ 1.124 + -D_DUMPTABLE_="syscmd(cat)" -D_DUMPHEAD_="" \ 1.125 + $layout/html.m4.html $layout/form+dump-whead.m4.html 1.126 }
2.1 --- a/s4-funcs.sh Thu Jul 30 11:13:53 2015 +0900 2.2 +++ b/s4-funcs.sh Fri Jul 31 10:04:14 2015 +0900 2.3 @@ -14,17 +14,17 @@ 2.4 dbdir=${DBDIR:-db} 2.5 tmpfiles="" 2.6 db=${DB:-$dbdir/cgi.sq3} 2.7 -admin=wwwadmin@gentei.org 2.8 +admin=${ADMIN:-wwwadmin@gentei.org} 2.9 templ=${TEMPL:-templ} 2.10 -layout=$templ/default 2.11 -formdir=$templ/form 2.12 -imgdir=img 2.13 +layout=${LAYOUT:-$templ/default} 2.14 +formdir=${FORMDIR:-$templ/form} 2.15 +imgdir=${IMGDIR:-img} 2.16 url=${URL:-"${REQUEST_SCHEME:-http${HTTPS:+s}}://$HTTP_HOST$REQUEST_URI"} 2.17 urlbase=${url%%\?*} 2.18 msg=$templ/msg 2.19 timeout="+2 days" 2.20 dumpcollen=20 2.21 -thumbxy=120x120 2.22 +#thumbxy=120x120 2.23 thumbxy=96x96 2.24 maximagexy=1600x1600 2.25 ### maximagexy=400x400 2.26 @@ -289,13 +289,6 @@ 2.27 # ./args.rb -cmd ".timeout 3000" "$@" 2.28 sqlite3 -cmd 'PRAGMA foreign_keys=ON' -cmd ".timeout 3000" "$@" 2.29 } 2.30 -####XXXXXXXXXXXXXXXXXXXXXX 場所移動 2.31 -sqi=/tmp/sqi.$$ 2.32 -sqo=/tmp/sqo.$$ 2.33 -mkfifo $sqi $sqo 2.34 -tail -f $sqi | sq $db & 2.35 -sq3pid="`jobs -p` $!" 2.36 - 2.37 query() { 2.38 cat<<EOF > $sqi 2.39 .once $sqo 2.40 @@ -303,11 +296,6 @@ 2.41 EOF 2.42 cat $sqo 2.43 } 2.44 -exec 3>> $tmpdir/debug.out 2.45 -exec 2>> $tmpdir/error.out 2.46 -err() { 2.47 - echo "$@" 1>&3 2.48 -} 2.49 2.50 _m4() { 2.51 2.52 @@ -488,7 +476,7 @@ 2.53 stamp|datetime) 2.54 date "+%F %T" ;; 2.55 serial) 2.56 - (s=`getpar serial` 2.57 + (s=`getpar $2` 2.58 if [ -n "$s" ]; then echo $s; else echo "`date +%s`x$$"; fi) ;; 2.59 *) 2.60 getpar "$2" "$3";; 2.61 @@ -966,6 +954,18 @@ 2.62 showlogin # and EXIT 2.63 fi 2.64 } 2.65 + 2.66 +# Do instant jobs here 2.67 + 2.68 +[ -d $tmpdir ] || mkdir -m 1777 $tmpdir 2.69 +[ -d $dbdir ] || mkdir -m 1775 $dbdir 2.70 +sqi=$tmpdir/sqi.$$ 2.71 +sqo=$tmpdir/sqo.$$ 2.72 +mkfifo $sqi $sqo 2.73 +tail -f $sqi | sq $db & 2.74 +sq3pid="`jobs -p` $!" 2.75 +exec 2>> $tmpdir/error.out 2.76 +exec 3>> $tmpdir/debug.out 2.77 cleanup() { 2.78 echo .quit > $sqi 2.79 kill $sq3pid 2.80 @@ -973,6 +973,10 @@ 2.81 rm -f $sqo $sqi 2.82 rm -rf $tmpfiles 2.83 } 2.84 +err() { 2.85 + echo "$@" 1>&3 2.86 +} 2.87 + 2.88 trap cleanup INT HUP EXIT 2.89 # trap cleanup INT HUP 2.90 cgiinit() { 2.91 @@ -1386,7 +1390,7 @@ 2.92 m4 -D_TITLE_="グループ $grp" \ 2.93 -D_FORM_="syscmd(\`cat')" \ 2.94 -D_DUMPTABLE_="" \ 2.95 - $layout/groupman.m4.html 2.96 + $layout/form+dump.m4.html 2.97 else # if $grp is removed at par2table 2.98 listgroup 2.99 fi 2.100 @@ -1559,7 +1563,7 @@ 2.101 | m4 -D_TITLE_="グループ[$grp]参加メンバーに対する操作" \ 2.102 -D_SUBTITLE_="チェック後操作ボタン" \ 2.103 -D_FORM_="syscmd(cat)" -D_DUMPTABLE_="" \ 2.104 - $layout/groupman.m4.html 2.105 + $layout/form+dump.m4.html 2.106 <div class="fold"> 2.107 `cgi_radio rm send id="sendmsg"`<label 2.108 for="sendmsg">下でチェックした人にメッセージを送信する</label> 2.109 @@ -2108,7 +2112,9 @@ 2.110 ;; 2.111 [Ss][Ee][Rr][Ii][Aa][Ll]|[Ss][Tt][Aa][Mm][Pp]) 2.112 val=$((($(date +%s)-1433084400)/10))c$$ 2.113 - form="<input type=\"hidden\" name=\"serial\" value=\"$val\">" 2.114 +## form="<input type=\"hidden\" name=\"serial\" value=\"$val\">" 2.115 +## 2015-07-31 2.116 + form="<input type=\"hidden\" name=\"$name\" value=\"$val\">" 2.117 prompt="" ;; 2.118 [Ss][Ee][Ss][Ss][Ii][Oo][Nn]) 2.119 prompt="" 2.120 @@ -2159,3 +2165,19 @@ 2.121 viewtable() { 2.122 GF_VIEWONLY=1 genform "$@" 2.123 } 2.124 +default0() { # $1=def-file 2.125 + tbl=`basename $1` 2.126 + tbl=${tbl%.def} 2.127 + cols="`grep :text $1|cut -d: -f2`" 2.128 + col=`echo "$cols"|head -1` 2.129 + vcol=`getpar $col` 2.130 + err default0: \$1=$1 col=$col cols="[$cols]" vcol=$vcol 2.131 + if [ -n "$vcol" ]; then 2.132 + par2table $1 2.133 + fi 2.134 + DT_VIEW="edittable+$tbl" dumptable html $tbl "$cols" \ 2.135 + | m4 -D_TITLE_="$tbl" \ 2.136 + -D_FORM_="`genform $1`" \ 2.137 + -D_DUMPTABLE_="syscmd(cat)" \ 2.138 + $layout/html.m4.html $layout/form+dump.m4.html 2.139 +}
3.1 --- a/templ/default/diary.m4.html Thu Jul 30 11:13:53 2015 +0900 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,9 +0,0 @@ 3.4 -<h1>_TITLE_</h1> 3.5 -<h2>_SUBTITLE_</h2> 3.6 -<div class="diary"> 3.7 -_DIARY_ 3.8 -</div> 3.9 -_FORM_ 3.10 -<hr> 3.11 -<h2>_BLOGS_</h2> 3.12 -_DUMPTABLE_
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/templ/default/form+dump-whead.m4.html Fri Jul 31 10:04:14 2015 +0900 4.3 @@ -0,0 +1,5 @@ 4.4 +<h1>_TITLE_</h1> 4.5 +<h2>_FORMHEAD_</h2> 4.6 +_FORM_ 4.7 +<h2>_DUMPHEAD_</h2> 4.8 +_DUMPTABLE_