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_
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/templ/default/form+dump.m4.html	Fri Jul 31 10:04:14 2015 +0900
     5.3 @@ -0,0 +1,6 @@
     5.4 + <h1>_TITLE_</h1>
     5.5 +<div class="groupman">
     5.6 +_FORM_
     5.7 +</div>
     5.8 +<hr>
     5.9 +_DUMPTABLE_
     6.1 --- a/templ/default/groupman.m4.html	Thu Jul 30 11:13:53 2015 +0900
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,6 +0,0 @@
     6.4 - <h1>_TITLE_</h1>
     6.5 -<div class="groupman">
     6.6 -_FORM_
     6.7 -</div>
     6.8 -<hr>
     6.9 -_DUMPTABLE_