s4

changeset 69:d10f98c2b192

form+dump
author HIROSE Yuuji <yuuji@gentei.org>
date Fri, 31 Jul 2015 16:15:31 +0900
parents 7380bcf19078
children 7882917ecd33
files s4-blog.sh s4-funcs.sh s4.cgi
diffstat 3 files changed, 65 insertions(+), 50 deletions(-) [+]
line diff
     1.1 --- a/s4-blog.sh	Fri Jul 31 10:35:04 2015 +0900
     1.2 +++ b/s4-blog.sh	Fri Jul 31 16:15:31 2015 +0900
     1.3 @@ -44,15 +44,16 @@
     1.4  )
     1.5  blog_showentry() {
     1.6    # $1=table $2=rowid
     1.7 -  if [ -n "$2" ]; then
     1.8 -    if [ -n "$imgcached" ]; then
     1.9 -      bstmpdir=$tmpdir/$imgcached/$thumbxy
    1.10 -    else
    1.11 -      bstmpdir=$tmpd
    1.12 -      # tmpd=`mktempd`
    1.13 -      # tmpfiles=$tmpfiles" $tmpd"
    1.14 -    fi
    1.15 -  fi
    1.16 +  # if [ -n "$2" ]; then
    1.17 +  #   if [ -n "$imgcached" ]; then
    1.18 +  #     bstmpdir=$tmpdir/$imgcached/$thumbxy
    1.19 +  #   else
    1.20 +  #     bstmpdir=$tmpd
    1.21 +  #     # tmpd=`mktempd`
    1.22 +  #     # tmpfiles=$tmpfiles" $tmpd"
    1.23 +  #   fi
    1.24 +  # fi
    1.25 +  td=`getcachedir article`
    1.26    tbl=${1%%[!A-Z0-9a-z_]*} rowid=${2%%[!A-Z0-9a-z_]*}
    1.27  err rowid=$rowid, '$2'=$2
    1.28    ts=${tbl}_s tm=${tbl}_m
    1.29 @@ -145,25 +146,24 @@
    1.30      arid=${a%%\|*} aid=`echo "$a"|cut -d'|' -f2` author=${a##*\|} imgs=""
    1.31  err a=$a, aid=$aid, author=$author
    1.32      # name=''	# Get gecos??
    1.33 -    td=$(echo $bstmpdir/`echo $a|md5`)
    1.34 +    # td=$(echo $bstmpdir/`echo $at|md5`)
    1.35 +err td=$td
    1.36      val=`getvalbyid article image "$arid" "$td"`
    1.37 -err val="[$val]" and td as follows:
    1.38 +    err val="[$val]" and td as follows:
    1.39      
    1.40 -    if true; then
    1.41 -      if [ -n "$val" ]; then
    1.42 -	hrfb="$myname?showattc+article_m"
    1.43 -	imgs="<br>"$(echo "$val"\
    1.44 -		    |while read fn; do
    1.45 +    if [ -n "$val" ]; then
    1.46 +      hrfb="$myname?showattc+article_m"
    1.47 +      imgs="<br>"$(echo "$val"\
    1.48 +			|while read fn; do
    1.49  
    1.50 -		       #data=`percenthex $td/$fn`
    1.51 -		       #ct=`cat $td/$fn.content-type`
    1.52 -		       sz=`cat $td/$fn.size`
    1.53 -		       ri=`cat $td/$fn.rowid`
    1.54 -err fn=$fn ct=$ct ri=$ri; ls -lF $td/ 1>&3
    1.55 -			iconhref $td/$fn "$hrfb+$ri" "$fn" "$fn($sz)"
    1.56 -		     done)
    1.57 -	imgs=`echo "$imgs"|tr -d '\n'`	# kill newlines for sed
    1.58 -      fi
    1.59 +			   #data=`percenthex $td/$fn`
    1.60 +			   #ct=`cat $td/$fn.content-type`
    1.61 +			   sz=`cat $td/$fn.size`
    1.62 +			   ri=`cat $td/$fn.rowid`
    1.63 +	  err fn=$fn ct=$ct ri=$ri ls::: "`ls -lF $td/`"
    1.64 +			   iconhref $td/$fn "$hrfb+$ri" "$fn" "$fn($sz)"
    1.65 +			 done)
    1.66 +      imgs=`echo "$imgs"|tr -d '\n'`	# kill newlines for sed
    1.67      fi
    1.68  
    1.69      ### number=$((number+1))
     2.1 --- a/s4-funcs.sh	Fri Jul 31 10:35:04 2015 +0900
     2.2 +++ b/s4-funcs.sh	Fri Jul 31 16:15:31 2015 +0900
     2.3 @@ -468,6 +468,13 @@
     2.4  mktempd() {
     2.5    TMPDIR=$tmpd mktemp -d -t $session
     2.6  }
     2.7 +getcachedir() {  # $1=maintable
     2.8 +  if [ -n "$imgcached" ]; then
     2.9 +    echo $tmpdir/$imgcached/$(echo ${1:-hoge}|md5)/$thumbxy
    2.10 +  else
    2.11 +    echo $tmpd/$thumbxy
    2.12 +  fi
    2.13 +}
    2.14  getval() {
    2.15    # $1=table $2=col $3(optional)=condition
    2.16    case `gettbl_coltype "/$1/$2"` in
    2.17 @@ -1306,7 +1313,7 @@
    2.18  	coalesce(b.gecos, a.$nm) as name,
    2.19  	 b.tag,
    2.20  	case when a.$nm in (select user from grp_adm
    2.21 -			where gname=$getgrp) then '(管理者)' -- from group mode
    2.22 +		where gname=$getgrp) then '(管理者)'
    2.23  	     when '$user' in (select user from grp_adm where gname=a.$nm)
    2.24  		then '(ADMIN)'
    2.25  	     when '$iamowner' = '' then ''
    2.26 @@ -1351,7 +1358,7 @@
    2.27  EOF
    2.28    fi
    2.29  
    2.30 -  err ListEntry: `echo $sql\;`
    2.31 +  err ListEntry: `echo "$sql"\;`
    2.32  
    2.33    query "$sql limit $limit ${offset:+offset $offset};" \
    2.34        | while IFS='|' read id lnk name gecos tag ownerp; do
    2.35 @@ -2011,13 +2018,15 @@
    2.36  <span>ほんとうに消しますよ(確認)!
    2.37  <input name="confirm" type=checkbox value="yes">はい</span>'
    2.38    fi
    2.39 +  # Image Cache dir
    2.40 +  td=`getcachedir $2`
    2.41    while IFS=: read prompt name keytype type args; do
    2.42      [ -z "${prompt%%\#*}" ] && continue # skip comment line(#)
    2.43      sp="${args:+ }"
    2.44      form="" val=""
    2.45      if [ -n "$rowid" ]; then
    2.46 -      val=`getvalbyid $2 $name $rowid $tmpd`
    2.47 -err genform3a: getvalbyid $2 $name $rowid $tmpd
    2.48 +      val=`getvalbyid $2 $name $rowid $td`
    2.49 +err genform3a: getvalbyid $2 $name $rowid $td
    2.50  err genform3b: val="[$val]"
    2.51      fi
    2.52      if [ -n "$GF_VIEWONLY" ]; then
    2.53 @@ -2026,11 +2035,11 @@
    2.54      case "$type" in
    2.55        text*)
    2.56  	cgiform=cgi_multi_$type
    2.57 -	if [ -s $tmpd/$name.count ]; then
    2.58 -	  form=`$cgiform $name $tmpd`
    2.59 +	if [ -s $td/$name.count ]; then
    2.60 +	  form=`$cgiform $name $td`
    2.61  	  val=$(echo "$val"|
    2.62  		     while read fn; do
    2.63 -		       echo "<tr><td>`cat $tmpd/$fn`</td></tr>$nl"
    2.64 +		       echo "<tr><td>`cat $td/$fn`</td></tr>$nl"
    2.65  		     done)
    2.66  	  val="<table>$nl$val$nl</table>"
    2.67  	else
    2.68 @@ -2055,19 +2064,20 @@
    2.69  	form="$fh$form</select>"
    2.70  	;;
    2.71        [Ii][Mm][Aa][Gg][Ee]|[Dd][Oo][Cc][Uu][Mm][Ee][Nn][Tt]|[Bb]inary)
    2.72 -	if [ -s $tmpd/$name.count ]; then
    2.73 -	  form=`cgi_multi_file $name $tmpd "$args"`
    2.74 +	if [ -s $td/$name.count ]; then
    2.75 +	  form=`cgi_multi_file $name $td "$args"`
    2.76  	  if [ -n "$val" ]; then
    2.77  	    hrfb="$myname?showattc+$2_m"
    2.78  	    val=$(echo "$val" \
    2.79  		       | while read fn; do
    2.80 -			   data=`percenthex $tmpd/$fn`
    2.81 -			   #ct=`cat $tmpd/$fn.content-type`
    2.82 -			   ct=`file --mime-type $tmpd/$fn|cut -d' ' -f2`
    2.83 -			   ri=`cat $tmpd/$fn.rowid`
    2.84 -## err fn=$fn, name=$name, ri=$ri; ls -lF $tmpd 1>&3
    2.85 -			   imgsrc="<img src=\"data:$ct,$data\">"
    2.86 -			   echo "<a href=\"$hrfb+$ri\">$imgsrc</a><br>"
    2.87 +			   data=`percenthex $td/$fn`
    2.88 +			   #ct=`cat $td/$fn.content-type`
    2.89 +			   ct=`file --mime-type $td/$fn|cut -d' ' -f2`
    2.90 +			   ri=`cat $td/$fn.rowid`
    2.91 +## err fn=$fn, name=$name, ri=$ri; ls -lF $td 1>&3
    2.92 +			   #imgsrc="<img src=\"data:$ct,$data\">"
    2.93 +			   #echo "<a href=\"$hrfb+$ri\">$imgsrc</a><br>"
    2.94 +			   iconhref $td/$fn "$hrfb+$ri" ""
    2.95  			 done)
    2.96  	  fi
    2.97  	else
    2.98 @@ -2075,7 +2085,7 @@
    2.99  	  if [ -n "$val" ]; then
   2.100  	    imgs=$(echo "$val"\
   2.101  			|while read fn;do
   2.102 -			   data=`percenthex $tmpd/$fn`
   2.103 +			   data=`percenthex $td/$fn`
   2.104  			   echo "<img src=\"data:image/png,$data\">$fn<br>"
   2.105  			 done)
   2.106  	    form=$form"<br>$imgs"
   2.107 @@ -2176,11 +2186,15 @@
   2.108    if [ -n "$vcol" ]; then
   2.109      par2table $1
   2.110    fi
   2.111 -  DT_VIEW="edittable+$tbl" dumptable html $tbl "$cols" \
   2.112 -      | m4 -D_TITLE_="$tbl" \
   2.113 -	   -D_FORM_="`genform $1`" \
   2.114 -	   -D_DUMPTABLE_="syscmd(cat)" \
   2.115 -	   $layout/html.m4.html $layout/form+dump.m4.html
   2.116 +  ### DT_VIEW="edittable+$tbl" dumptable html $tbl "$cols" \
   2.117 +  ## DT_VIEW="edittable+$tbl" dumptable html $tbl "name memo file" \
   2.118 +  query "select rowid from $tbl order by rowid desc;" \
   2.119 +      | while read rowid; do
   2.120 +	  viewtable $1 $tbl $rowid
   2.121 +	done | m4 -D_TITLE_="$tbl" \
   2.122 +		  -D_FORM_="`genform $1`" \
   2.123 +		  -D_DUMPTABLE_="syscmd(cat)" \
   2.124 +		  $layout/html.m4.html $layout/form+dump.m4.html
   2.125  }
   2.126  showattc() {
   2.127    # $1=table_m $2=rowid $3=val
   2.128 @@ -2193,6 +2207,7 @@
   2.129    # tmpfiles=$tmpfiles"${tmpfiles+ }$idir"
   2.130    bin=$idir/$myname-$$.bin
   2.131    sql="select quote(bin) from $1 where rowid='$2';"
   2.132 +err showattc: sql: $sql
   2.133    sq $db "$sql" | unhexize > $bin
   2.134    tv=`query "select type,val from $1 where rowid='$2';"`
   2.135    type=${tv%\|*} fn=${tv#*\|}
     3.1 --- a/s4.cgi	Fri Jul 31 10:35:04 2015 +0900
     3.2 +++ b/s4.cgi	Fri Jul 31 16:15:31 2015 +0900
     3.3 @@ -77,7 +77,7 @@
     3.4      m4 -D_TITLE_="グループ作成" \
     3.5         -D_FORM_="$note`genform $formdir/grp.def`" \
     3.6         -D_DUMPTABLE_="`DT_VIEW=grp dumptable html grp 'gname gecos:DESC mtime:TIME' 'order by b.TIME desc'`" \
     3.7 -       $layout/html.m4.html $layout/groupman.m4.html
     3.8 +       $layout/html.m4.html $layout/form+dump.m4.html
     3.9      ;;
    3.10    "edittable")
    3.11      contenttype; echo
    3.12 @@ -108,7 +108,7 @@
    3.13  	| m4 -D_DUMPTABLE_="syscmd(\`cat')" \
    3.14  	     -D_TITLE_="グループ関連操作" \
    3.15  	     -D_FORM_="<a href=\"?groupman\">新規グループ作成</a>" \
    3.16 -	     $layout/groupman.m4.html
    3.17 +	     $layout/form+dump.m4.html
    3.18  	
    3.19      ;;
    3.20    "grps2")
    3.21 @@ -116,7 +116,7 @@
    3.22      m4 -D_TITLE_="グループ一覧" \
    3.23         -D_FORM_="`listgroup2 $formdir/grp.def`" -D_DUMPTABLE_= \
    3.24         $layout/html.m4.html \
    3.25 -       $layout/groupman.m4.html
    3.26 +       $layout/form+dump-whead.m4.html
    3.27      ;;
    3.28    "grp") # $2=group-rowid
    3.29      contenttype; echo