s4

changeset 122:0681534f9451

When deleting group, remove all blos that belong it.
author HIROSE Yuuji <yuuji@gentei.org>
date Wed, 05 Aug 2015 23:34:40 +0900
parents 34b72806cd22
children 718abe22a5d1
files s4-blog.sh s4-funcs.sh
diffstat 2 files changed, 21 insertions(+), 2 deletions(-) [+]
line diff
     1.1 --- a/s4-blog.sh	Wed Aug 05 21:50:33 2015 +0900
     1.2 +++ b/s4-blog.sh	Wed Aug 05 23:34:40 2015 +0900
     1.3 @@ -411,6 +411,7 @@
     1.4    else
     1.5      owner=`getpar owner`
     1.6    fi
     1.7 +  err blog-add: \$1=$1 rowid=$rowid owner=$owner
     1.8    if isgroup $owner; then
     1.9      groupmode=1 listing=$owner guide="[${owner}]" GF_OWNER=$owner
    1.10    else
    1.11 @@ -419,6 +420,7 @@
    1.12  
    1.13    if [ -n "`getpar title`" ]; then
    1.14      if [ "$usermode" ]; then
    1.15 +      err usermode: user=$user owner=$owner
    1.16        if [ x"$user" != x"$owner" ]; then
    1.17  	echo "他人の日記は書けません" | html p
    1.18  	return 2
     2.1 --- a/s4-funcs.sh	Wed Aug 05 21:50:33 2015 +0900
     2.2 +++ b/s4-funcs.sh	Wed Aug 05 23:34:40 2015 +0900
     2.3 @@ -1241,8 +1241,25 @@
     2.4        query "END;"
     2.5        return
     2.6      fi
     2.7 +    query "END TRANSACTION;"
     2.8      par2table $formdir/grp.def
     2.9 -    query "END TRANSACTION;"
    2.10 +    # Remove orphant
    2.11 +    : <<EOF
    2.12 +	select a.id,b.val from (select * from blog where id in
    2.13 +	 (select id from blog_s where key='owner'
    2.14 +	 and val not in (select name from user union select gname from grp)))
    2.15 +	a left join blog_s b on a.id=b.id and b.key='owner';
    2.16 +EOF
    2.17 +    rm=`getpar rm` cfm=`getpar confirm`
    2.18 +    err groupupdate:::: after par2tbl rmcfm=$rm$cfm
    2.19 +    if [ x"$rm$cfm" = x"yesyes" ]; then
    2.20 +      if [ -z "`query \"select gname from grp where gname=$qgname;\"`" ]; then
    2.21 +	sql="delete from blog where id in
    2.22 +	 (select id from blog_s where key='owner' and val=$qgname);"
    2.23 +	err rm-grp cleaning sql=`echo $sql`
    2.24 +	query "$sql";
    2.25 +      fi
    2.26 +    fi
    2.27      [ -z "$parow" ] && joingrp "$gname" "$user" yes "$user" as-admin
    2.28    fi
    2.29    sql="select rowid from grp where gname=$qgname;"
    2.30 @@ -2004,7 +2021,7 @@
    2.31    ### elink="<a href=\"$myname?edittable+$2+\\2\">EDIT</a>"
    2.32    VIEW=${DT_VIEW-replyblog}
    2.33    if [ -n "$VIEW" ]; then
    2.34 -    dvlink=" <a href=\"$myname?$VIEW+\\2\">VIEW</a>"
    2.35 +    dvlink=" <a href=\"$myname?$VIEW+\\2\">VIE</a><a href=\"$myname?$VIEW+\\2#bottom\">W</a>"
    2.36    fi
    2.37    # $DT_CHLD=ChildTable:BindColumn
    2.38    if [ -n "$DT_CHLD" ]; then