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>&rArr; <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>&rArr; <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>&rArr; <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>"

yatex.org