s4
changeset 755:1a8291d7fa3d feature-world
Annex strategy shifted to World strategy
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sat, 06 Jun 2020 11:21:01 +0900 |
parents | 5bab8644024a |
children | a4523e15dfd6 |
files | examples/common/default/default.css examples/common/default/html.m4.html s4-annex.sh s4-funcs.sh |
diffstat | 4 files changed, 42 insertions(+), 28 deletions(-) [+] |
line diff
1.1 --- a/examples/common/default/default.css Thu Jun 04 20:31:25 2020 +0900 1.2 +++ b/examples/common/default/default.css Sat Jun 06 11:21:01 2020 +0900 1.3 @@ -331,13 +331,15 @@ 1.4 input[type="reset"] {margin-left: 4em;} 1.5 1.6 /* 1.7 - * Annex 1.8 + * World List 1.9 */ 1.10 -li.casmenu div {display: none; position: relative; width: 10%; 1.11 +li.casmenu div {display: none; position: relative; width: 200%; 1.12 min-width: 80%; margin-right: 0;} 1.13 li.casmenu div table { 1.14 background: white; position: absolute; top: 0em; border: 3px solid navy; 1.15 + max-width: 100%; 1.16 } 1.17 +li.casmenu div table td {text-align: left; padding: 0.5ex 1em;} 1.18 li.casmenu:hover div, li.casmenu:active div, 1.19 li.casmenu div:hover, li.casmenu div:active 1.20 {display: block;}
2.1 --- a/examples/common/default/html.m4.html Thu Jun 04 20:31:25 2020 +0900 2.2 +++ b/examples/common/default/html.m4.html Sat Jun 06 11:21:01 2020 +0900 2.3 @@ -19,7 +19,7 @@ 2.4 <div class="topmenu"> 2.5 <ul> 2.6 <li class="casmenu"><a href="?home" accesskey="1" title="Shortcut: 1 2.7 -Home">ホーム</a>_S4ANNEXES_</li> 2.8 +Home">ホーム</a>_S4WORLDS_</li> 2.9 <!-- <li><a href="?blog">話題作成</a></li> --> 2.10 <li><a href="?mems" accesskey="2" title="Shortcut: 2 2.11 Members">参加者一覧</a></li>
3.1 --- a/s4-annex.sh Thu Jun 04 20:31:25 2020 +0900 3.2 +++ b/s4-annex.sh Sat Jun 06 11:21:01 2020 +0900 3.3 @@ -8,16 +8,14 @@ 3.4 fi 3.5 3.6 # Now S4ANNEX mode is ACTIVE 3.7 -S4ANNEXNAME=`dirname $mydir` 3.8 -sessdb=`dirname $S4MASTERDB`/sess.sq3 3.9 -S4ANNEXES="<div><table><tr><th><a 3.10 - href=\"$S4MASTERURL\">本館</a></th></tr></table><div>" 3.11 +# sessdb=`dirname $S4MASTERDB`/sess.sq3 3.12 ## skey="skey-`basename $mydir`" 3.13 -syncflag=$dbdir/usersynced 3.14 +S4NAME="[$S4WORLD]$S4NAME" 3.15 +syncflag=${db%.*}.synctime 3.16 userupdateflag=`dirname $S4MASTERDB`/`basename $userupdateflag` 3.17 test ! -e "$userupdateflag" && return 3.18 test "$syncflag" -nt "$userupdateflag" && return 3.19 - 3.20 + 3.21 # for sub.sq3 3.22 # 3.23 # main: user: 'taro', 'hanako', 'shige' 3.24 @@ -28,7 +26,7 @@ 3.25 3.26 ## sqlite3 -cmd '.timer 1' -cmd '.echo 1' $db <<EOF 3.27 err "Starting account synchronization" 3.28 -err "db=$db mas=$S4MASTERDB sess=$sessdb" 3.29 +err "db=$db mas=$S4MASTERDB sessdb=$sessdb" 3.30 num=$(sqlite3 -bail -cmd 'PRAGMA FOREIGN_KEYS=on' $db <<EOF 3.31 ATTACH DATABASE "$S4MASTERDB" AS m; 3.32 CREATE TABLE IF NOT EXISTS user(name, primary key(name)); 3.33 @@ -38,11 +36,11 @@ 3.34 SELECT rowid, name FROM m.user 3.35 WHERE m.user.rowid NOT IN (SELECT rowid FROM user); 3.36 UPDATE user SET name = (SELECT name FROM m.user WHERE main.user.rowid=m.user.rowid); 3.37 -DELETE FROM main.user_s; 3.38 -INSERT INTO main.user_s(rowid, name, key, type, val, bin) 3.39 +DELETE FROM main.user_s WHERE rowid NOT IN (SELECT rowid FROM m.user_s); 3.40 +REPLACE INTO main.user_s(rowid, name, key, type, val, bin) 3.41 SELECT rowid,* FROM m.user_s; 3.42 -DELETE FROM main.user_m; 3.43 -INSERT INTO main.user_m(rowid, name, key, type, val, bin) 3.44 +DELETE FROM main.user_m WHERE rowid NOT IN (SELECT rowid FROM m.user_m); 3.45 +REPLACE INTO main.user_m(rowid, name, key, type, val, bin) 3.46 SELECT rowid,* FROM m.user_m 3.47 WHERE key NOT LIKE '%cache%'; 3.48 END;
4.1 --- a/s4-funcs.sh Thu Jun 04 20:31:25 2020 +0900 4.2 +++ b/s4-funcs.sh Sat Jun 06 11:21:01 2020 +0900 4.3 @@ -2,7 +2,20 @@ 4.4 # Here's global variable table. Do not use this names. 4.5 # $HGid$ 4.6 4.7 + 4.8 +case "$0" in 4.9 + *-world-*) 4.10 + S4WORLD=${0#*world-} 4.11 + S4WORLD=${S4WORLD%.*} 4.12 + echo S4WORLD=$S4WORLD >&2 4.13 + worldconf=s4-config-${S4WORLD}.sh 4.14 + ;; 4.15 +esac 4.16 + 4.17 +echo worldconf=$worldconf >&2 4.18 [ -f s4-config.sh ] && . ./s4-config.sh 4.19 +[ -n "$worldconf" -a -e "$worldconf" ] && . ./$worldconf 4.20 +echo DB=$DB >&2 4.21 4.22 myname=`basename ${SCRIPT_NAME:-$0}` 4.23 mydir=`dirname ${SCRIPT_FILENAME:-$0}` 4.24 @@ -78,18 +91,19 @@ 4.25 if [ -n "$S4MASTERDB" -a -s "$S4MASTERDB" ]; then 4.26 # $S4ANNEX is set after s4-annex setup 4.27 . ./s4-annex.sh 2>> tmp/debug.out 4.28 - err S4ANNEXES="$S4ANNEXES" S4ANNEXNAME=$S4ANNEXNAME 4.29 -elif [ -n "$S4ANNEXES" ]; then 4.30 - # Master Site mode, which has annexes 4.31 - v="" 4.32 - for i in $S4ANNEXES; do 4.33 - _aname=${i%:*}; _apath=${i##*:} 4.34 - v=${v}"<tr><td>⇒ <a href=\"$_apath\">$_aname</a></td></tr>$nl" 4.35 - done 4.36 - if [ -n "$v" ]; then 4.37 - i="<tr><th title=\"Annex\">別館</a></th></tr>$nl" 4.38 - S4ANNEXES="${touchpanel:+ : ▼}<div><table>$i$v</table></div>" 4.39 +fi 4.40 +v="" 4.41 +for i in $S4WORLDS; do 4.42 + _aname=${i%:*}; _apath=${i##*:} 4.43 + v=${v}"<tr><td>⇒ <a href=\"$_apath\">$_aname</a></td></tr>$nl" 4.44 +done 4.45 +if [ -n "$v" ]; then 4.46 + err S4MASTERURL=$S4MASTERURL 4.47 + i="<tr><th>World List</th></tr>$nl" 4.48 + if [ -n "$S4MASTERURL" ]; then 4.49 + i="$i<tr><td>⇒ <a href=\"$S4MASTERURL\">Base</a></td></tr>$nl" 4.50 fi 4.51 + S4WORLDS="${touchpanel:+ : ▼}<div><table>$i$v</table></div>" 4.52 fi 4.53 4.54 4.55 @@ -448,7 +462,7 @@ 4.56 _m4() { 4.57 #S4NAME=f,f,f 4.58 m4 ${S4NAME:+"-D_S4NAME_=${S4NAME}"} ${S4CSS:+-D_S4CSS_="$S4CSS"} \ 4.59 - -D_S4ANNEXES_="${S4ANNEXES}" "$@" 4.60 + -D_S4WORLDS_="${S4WORLDS}" "$@" 4.61 } 4.62 ismember() { 4.63 # $1=user, $2=group 4.64 @@ -2073,12 +2087,12 @@ 4.65 cond="gname in (select gname from grp_mem where user='$uname')" 4.66 search_form_args="" 4.67 if [ x"$user" = x"$uname" ]; then 4.68 - if [ -z "$S4ANNEXNAME" ]; then 4.69 + if [ -z "$S4MASTERDB" ]; then 4.70 usermenu="<a href=\"?userconf\" accesskey=\"e\" 4.71 title=\"Shortcut: E${nl}Edit Profile\">プロフィールの編集</a> / " 4.72 elif [ -n "$S4MASTERURL" ]; then 4.73 usermenu="<a href=\"$S4MASTERURL\" accesskey=\"e\" 4.74 - title=\"Shortcut: E${nl}Main Site\">本館</a> / " 4.75 + title=\"Shortcut: E${nl}Main Site\">Base World</a> / " 4.76 fi 4.77 usermenu="$usermenu 4.78 <a href=\"?blog\" accesskey=\"n\" title=\"Shortcut: N${nl}New blog\">新規話題の作成</a>"