Mercurial > hgrepos > hgweb.cgi > 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 wrap: on
line diff
--- a/s4-blog.sh Thu Jul 30 11:13:53 2015 +0900 +++ b/s4-blog.sh Fri Jul 31 10:04:14 2015 +0900 @@ -220,9 +220,9 @@ ge=`gecos $owner` lshandoutsub $owner "$@" \ |m4 -D_TITLE_="提出状況" \ - -D_SUBTITLE_="$time [$title]@${ge:-$owner}" -D_DIARY_="" \ - -D_FORM_="syscmd(cat)" -D_BLOGS_= -D_DUMPTABLE_= \ - $layout/html.m4.html $layout/diary.m4.html + -D_FORMHEAD_="$time [$title]@${ge:-$owner}" \ + -D_FORM_="syscmd(cat)" -D_DUMPHEAD_= -D_DUMPTABLE_= \ + $layout/html.m4.html $layout/form+dump-whead.m4.html } lshandoutsub() { # $1=owner $2=rowid of blog @@ -230,7 +230,7 @@ sample="(select user from grp_mem where gname='$1')" else sample="(select distinct author as user from arts)" - echo "<p>(集計は板への投稿者のみ)</p>" + echo "(集計は板への投稿者のみ)" | html p fi sql="with arts as (select id,author from article \ where blogid=(select id from blog where rowid=$2))\ @@ -278,7 +278,7 @@ done if [ ! -d $bd/001 ]; then contenttype; echo - echo "<p>取得できるファイルがありませんでした。</p>" + echo "取得できるファイルがありませんでした。" | html p return fi (cd $bd @@ -294,8 +294,9 @@ } listblog() ( - # $1=user - cond="where a.id in (select id from blog_s where key='owner' and val='$1') order by ctime desc" + # $1={user,group} + qow=`sqlquote $1` + cond="where a.id in (select id from blog_s where key='owner' and val=$qow) order by ctime desc" DT_CHLD=article:blogid cgi_form searchart<<EOF <label>`cgi_text kwd`という語を含む記事を検索</label> @@ -317,9 +318,9 @@ else grp=`getgroupbyid $grprowid` if [ -n "$grp" ]; then - listing=$1 guide="[${grp}]" GF_OWNER=$grp + listing=$grp guide="[${grp}]" GF_OWNER=$grp else - echo "<p>無効なグループ指定です。</p>" + echo "無効なグループ指定です。" | html p return fi fi @@ -328,14 +329,14 @@ owner=`getpar owner` if isuser $owner; then if [ x"$user" != x"$owner" ]; then - echo "<p>他人の日記は書けません</p>" + echo "他人の日記は書けません" | html p return fi elif isgroup $owner; then # if write to group log grp=$owner #\`getpar grp\` err ismember: $user $grp if ! ismember "$user" "$grp"; then - echo "<p>(話題作成はこのグループに加入してから)</p>" + echo "(話題作成はこのグループに加入してから)" | html p return fi fi @@ -356,13 +357,13 @@ return fi fi - m4 -D_TITLE_="${guide}新規話題作成" -D_DIARY_="新規話題の記入" \ - -D_SUBTITLE_="序文は簡単に詳しくはコメントに" \ - -D_BLOGS_="これまでの蓄積" \ + m4 -D_TITLE_="${guide}新規話題作成" \ + -D_FORMHEAD_="序文は簡単に詳しくはコメントに" \ + -D_DUMPHEAD_="これまでの蓄積" \ -D_FORM_="`genform $formdir/blog.def`" \ -D_DUMPTABLE_="`listblog $listing`" \ $layout/html.m4.html \ - $layout/diary.m4.html + $layout/form+dump-whead.m4.html } blog_reply() { @@ -370,7 +371,7 @@ err rowid=$1 if [ -z "$rowid" ]; then - echo "<p>表示する日記番号が未指定です。</p>" + echo "表示する日記番号が未指定です。" | html p return fi title=`getvalbyid blog title $rowid` @@ -382,7 +383,7 @@ subtitle="グループ <a href=\"?grp+$grprowid\">$owner</a> での話題" fi if [ -z "$title" ]; then - echo "<p>日記番号指定が無効です。</p>" + echo "日記番号指定が無効です。" | html p return fi @@ -397,10 +398,9 @@ fi fi def=$formdir/article.def - cat $layout/html.m4.html $layout/diary.m4.html \ - | sed '/_DIARY_/q' \ - | m4 -D_TITLE_="$title" -D_DIARY_="" -D_BODYCLASS_=general \ - -D_SUBTITLE_="$subtitle" - blog_showentry blog $rowid - sed '1,/_DIARY_/d' $layout/diary.m4.html | m4 -D_FORM_= -D_DUMPTABLE_= + blog_showentry blog $rowid \ + | m4 -D_TITLE_="$title" -D_BODYCLASS_=general \ + -D_FORMHEAD_="$subtitle" -D_FORM_="" \ + -D_DUMPTABLE_="syscmd(cat)" -D_DUMPHEAD_="" \ + $layout/html.m4.html $layout/form+dump-whead.m4.html }
--- a/s4-funcs.sh Thu Jul 30 11:13:53 2015 +0900 +++ b/s4-funcs.sh Fri Jul 31 10:04:14 2015 +0900 @@ -14,17 +14,17 @@ dbdir=${DBDIR:-db} tmpfiles="" db=${DB:-$dbdir/cgi.sq3} -admin=wwwadmin@gentei.org +admin=${ADMIN:-wwwadmin@gentei.org} templ=${TEMPL:-templ} -layout=$templ/default -formdir=$templ/form -imgdir=img +layout=${LAYOUT:-$templ/default} +formdir=${FORMDIR:-$templ/form} +imgdir=${IMGDIR:-img} url=${URL:-"${REQUEST_SCHEME:-http${HTTPS:+s}}://$HTTP_HOST$REQUEST_URI"} urlbase=${url%%\?*} msg=$templ/msg timeout="+2 days" dumpcollen=20 -thumbxy=120x120 +#thumbxy=120x120 thumbxy=96x96 maximagexy=1600x1600 ### maximagexy=400x400 @@ -289,13 +289,6 @@ # ./args.rb -cmd ".timeout 3000" "$@" sqlite3 -cmd 'PRAGMA foreign_keys=ON' -cmd ".timeout 3000" "$@" } -####XXXXXXXXXXXXXXXXXXXXXX 場所移動 -sqi=/tmp/sqi.$$ -sqo=/tmp/sqo.$$ -mkfifo $sqi $sqo -tail -f $sqi | sq $db & -sq3pid="`jobs -p` $!" - query() { cat<<EOF > $sqi .once $sqo @@ -303,11 +296,6 @@ EOF cat $sqo } -exec 3>> $tmpdir/debug.out -exec 2>> $tmpdir/error.out -err() { - echo "$@" 1>&3 -} _m4() { @@ -488,7 +476,7 @@ stamp|datetime) date "+%F %T" ;; serial) - (s=`getpar serial` + (s=`getpar $2` if [ -n "$s" ]; then echo $s; else echo "`date +%s`x$$"; fi) ;; *) getpar "$2" "$3";; @@ -966,6 +954,18 @@ showlogin # and EXIT fi } + +# Do instant jobs here + +[ -d $tmpdir ] || mkdir -m 1777 $tmpdir +[ -d $dbdir ] || mkdir -m 1775 $dbdir +sqi=$tmpdir/sqi.$$ +sqo=$tmpdir/sqo.$$ +mkfifo $sqi $sqo +tail -f $sqi | sq $db & +sq3pid="`jobs -p` $!" +exec 2>> $tmpdir/error.out +exec 3>> $tmpdir/debug.out cleanup() { echo .quit > $sqi kill $sq3pid @@ -973,6 +973,10 @@ rm -f $sqo $sqi rm -rf $tmpfiles } +err() { + echo "$@" 1>&3 +} + trap cleanup INT HUP EXIT # trap cleanup INT HUP cgiinit() { @@ -1386,7 +1390,7 @@ m4 -D_TITLE_="グループ $grp" \ -D_FORM_="syscmd(\`cat')" \ -D_DUMPTABLE_="" \ - $layout/groupman.m4.html + $layout/form+dump.m4.html else # if $grp is removed at par2table listgroup fi @@ -1559,7 +1563,7 @@ | m4 -D_TITLE_="グループ[$grp]参加メンバーに対する操作" \ -D_SUBTITLE_="チェック後操作ボタン" \ -D_FORM_="syscmd(cat)" -D_DUMPTABLE_="" \ - $layout/groupman.m4.html + $layout/form+dump.m4.html <div class="fold"> `cgi_radio rm send id="sendmsg"`<label for="sendmsg">下でチェックした人にメッセージを送信する</label> @@ -2108,7 +2112,9 @@ ;; [Ss][Ee][Rr][Ii][Aa][Ll]|[Ss][Tt][Aa][Mm][Pp]) val=$((($(date +%s)-1433084400)/10))c$$ - form="<input type=\"hidden\" name=\"serial\" value=\"$val\">" +## form="<input type=\"hidden\" name=\"serial\" value=\"$val\">" +## 2015-07-31 + form="<input type=\"hidden\" name=\"$name\" value=\"$val\">" prompt="" ;; [Ss][Ee][Ss][Ss][Ii][Oo][Nn]) prompt="" @@ -2159,3 +2165,19 @@ viewtable() { GF_VIEWONLY=1 genform "$@" } +default0() { # $1=def-file + tbl=`basename $1` + tbl=${tbl%.def} + cols="`grep :text $1|cut -d: -f2`" + col=`echo "$cols"|head -1` + vcol=`getpar $col` + err default0: \$1=$1 col=$col cols="[$cols]" vcol=$vcol + if [ -n "$vcol" ]; then + par2table $1 + fi + DT_VIEW="edittable+$tbl" dumptable html $tbl "$cols" \ + | m4 -D_TITLE_="$tbl" \ + -D_FORM_="`genform $1`" \ + -D_DUMPTABLE_="syscmd(cat)" \ + $layout/html.m4.html $layout/form+dump.m4.html +}
--- a/templ/default/diary.m4.html Thu Jul 30 11:13:53 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -<h1>_TITLE_</h1> -<h2>_SUBTITLE_</h2> -<div class="diary"> -_DIARY_ -</div> -_FORM_ -<hr> -<h2>_BLOGS_</h2> -_DUMPTABLE_
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/templ/default/form+dump-whead.m4.html Fri Jul 31 10:04:14 2015 +0900 @@ -0,0 +1,5 @@ +<h1>_TITLE_</h1> +<h2>_FORMHEAD_</h2> +_FORM_ +<h2>_DUMPHEAD_</h2> +_DUMPTABLE_