Mercurial > hgrepos > hgweb.cgi > 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 wrap: on
line diff
--- a/examples/common/default/default.css Thu Jun 04 20:31:25 2020 +0900 +++ b/examples/common/default/default.css Sat Jun 06 11:21:01 2020 +0900 @@ -331,13 +331,15 @@ input[type="reset"] {margin-left: 4em;} /* - * Annex + * World List */ -li.casmenu div {display: none; position: relative; width: 10%; +li.casmenu div {display: none; position: relative; width: 200%; min-width: 80%; margin-right: 0;} li.casmenu div table { background: white; position: absolute; top: 0em; border: 3px solid navy; + max-width: 100%; } +li.casmenu div table td {text-align: left; padding: 0.5ex 1em;} li.casmenu:hover div, li.casmenu:active div, li.casmenu div:hover, li.casmenu div:active {display: block;}
--- a/examples/common/default/html.m4.html Thu Jun 04 20:31:25 2020 +0900 +++ b/examples/common/default/html.m4.html Sat Jun 06 11:21:01 2020 +0900 @@ -19,7 +19,7 @@ <div class="topmenu"> <ul> <li class="casmenu"><a href="?home" accesskey="1" title="Shortcut: 1 -Home">ホーム</a>_S4ANNEXES_</li> +Home">ホーム</a>_S4WORLDS_</li> <!-- <li><a href="?blog">話題作成</a></li> --> <li><a href="?mems" accesskey="2" title="Shortcut: 2 Members">参加者一覧</a></li>
--- a/s4-annex.sh Thu Jun 04 20:31:25 2020 +0900 +++ b/s4-annex.sh Sat Jun 06 11:21:01 2020 +0900 @@ -8,16 +8,14 @@ fi # Now S4ANNEX mode is ACTIVE -S4ANNEXNAME=`dirname $mydir` -sessdb=`dirname $S4MASTERDB`/sess.sq3 -S4ANNEXES="<div><table><tr><th><a - href=\"$S4MASTERURL\">本館</a></th></tr></table><div>" +# sessdb=`dirname $S4MASTERDB`/sess.sq3 ## skey="skey-`basename $mydir`" -syncflag=$dbdir/usersynced +S4NAME="[$S4WORLD]$S4NAME" +syncflag=${db%.*}.synctime userupdateflag=`dirname $S4MASTERDB`/`basename $userupdateflag` test ! -e "$userupdateflag" && return test "$syncflag" -nt "$userupdateflag" && return - + # for sub.sq3 # # main: user: 'taro', 'hanako', 'shige' @@ -28,7 +26,7 @@ ## sqlite3 -cmd '.timer 1' -cmd '.echo 1' $db <<EOF err "Starting account synchronization" -err "db=$db mas=$S4MASTERDB sess=$sessdb" +err "db=$db mas=$S4MASTERDB sessdb=$sessdb" num=$(sqlite3 -bail -cmd 'PRAGMA FOREIGN_KEYS=on' $db <<EOF ATTACH DATABASE "$S4MASTERDB" AS m; CREATE TABLE IF NOT EXISTS user(name, primary key(name)); @@ -38,11 +36,11 @@ SELECT rowid, name FROM m.user WHERE m.user.rowid NOT IN (SELECT rowid FROM user); UPDATE user SET name = (SELECT name FROM m.user WHERE main.user.rowid=m.user.rowid); -DELETE FROM main.user_s; -INSERT INTO main.user_s(rowid, name, key, type, val, bin) +DELETE FROM main.user_s WHERE rowid NOT IN (SELECT rowid FROM m.user_s); +REPLACE INTO main.user_s(rowid, name, key, type, val, bin) SELECT rowid,* FROM m.user_s; -DELETE FROM main.user_m; -INSERT INTO main.user_m(rowid, name, key, type, val, bin) +DELETE FROM main.user_m WHERE rowid NOT IN (SELECT rowid FROM m.user_m); +REPLACE INTO main.user_m(rowid, name, key, type, val, bin) SELECT rowid,* FROM m.user_m WHERE key NOT LIKE '%cache%'; END;
--- a/s4-funcs.sh Thu Jun 04 20:31:25 2020 +0900 +++ b/s4-funcs.sh Sat Jun 06 11:21:01 2020 +0900 @@ -2,7 +2,20 @@ # Here's global variable table. Do not use this names. # $HGid$ + +case "$0" in + *-world-*) + S4WORLD=${0#*world-} + S4WORLD=${S4WORLD%.*} + echo S4WORLD=$S4WORLD >&2 + worldconf=s4-config-${S4WORLD}.sh + ;; +esac + +echo worldconf=$worldconf >&2 [ -f s4-config.sh ] && . ./s4-config.sh +[ -n "$worldconf" -a -e "$worldconf" ] && . ./$worldconf +echo DB=$DB >&2 myname=`basename ${SCRIPT_NAME:-$0}` mydir=`dirname ${SCRIPT_FILENAME:-$0}` @@ -78,18 +91,19 @@ if [ -n "$S4MASTERDB" -a -s "$S4MASTERDB" ]; then # $S4ANNEX is set after s4-annex setup . ./s4-annex.sh 2>> tmp/debug.out - err S4ANNEXES="$S4ANNEXES" S4ANNEXNAME=$S4ANNEXNAME -elif [ -n "$S4ANNEXES" ]; then - # Master Site mode, which has annexes - v="" - for i in $S4ANNEXES; do - _aname=${i%:*}; _apath=${i##*:} - v=${v}"<tr><td>⇒ <a href=\"$_apath\">$_aname</a></td></tr>$nl" - done - if [ -n "$v" ]; then - i="<tr><th title=\"Annex\">別館</a></th></tr>$nl" - S4ANNEXES="${touchpanel:+ : ▼}<div><table>$i$v</table></div>" +fi +v="" +for i in $S4WORLDS; do + _aname=${i%:*}; _apath=${i##*:} + v=${v}"<tr><td>⇒ <a href=\"$_apath\">$_aname</a></td></tr>$nl" +done +if [ -n "$v" ]; then + err S4MASTERURL=$S4MASTERURL + i="<tr><th>World List</th></tr>$nl" + if [ -n "$S4MASTERURL" ]; then + i="$i<tr><td>⇒ <a href=\"$S4MASTERURL\">Base</a></td></tr>$nl" fi + S4WORLDS="${touchpanel:+ : ▼}<div><table>$i$v</table></div>" fi @@ -448,7 +462,7 @@ _m4() { #S4NAME=f,f,f m4 ${S4NAME:+"-D_S4NAME_=${S4NAME}"} ${S4CSS:+-D_S4CSS_="$S4CSS"} \ - -D_S4ANNEXES_="${S4ANNEXES}" "$@" + -D_S4WORLDS_="${S4WORLDS}" "$@" } ismember() { # $1=user, $2=group @@ -2073,12 +2087,12 @@ cond="gname in (select gname from grp_mem where user='$uname')" search_form_args="" if [ x"$user" = x"$uname" ]; then - if [ -z "$S4ANNEXNAME" ]; then + if [ -z "$S4MASTERDB" ]; then usermenu="<a href=\"?userconf\" accesskey=\"e\" title=\"Shortcut: E${nl}Edit Profile\">プロフィールの編集</a> / " elif [ -n "$S4MASTERURL" ]; then usermenu="<a href=\"$S4MASTERURL\" accesskey=\"e\" - title=\"Shortcut: E${nl}Main Site\">本館</a> / " + title=\"Shortcut: E${nl}Main Site\">Base World</a> / " fi usermenu="$usermenu <a href=\"?blog\" accesskey=\"n\" title=\"Shortcut: N${nl}New blog\">新規話題の作成</a>"