OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /v/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-meta Date: 14-Mar-2006 22:40:30
Branch: HEAD Handle: 2006031421402901
Added files:
openpkg-meta canvas-nav-xref.php canvas-nav.ini
Modified files:
openpkg-meta canvas-layout.php canvas-nav.php canvas.php
Log:
first cut for page cross-referencing support
Summary:
Revision Changes Path
1.21 +3 -3 openpkg-meta/canvas-layout.php
1.1 +115 -0 openpkg-meta/canvas-nav-xref.php
1.1 +52 -0 openpkg-meta/canvas-nav.ini
1.16 +8 -1 openpkg-meta/canvas-nav.php
1.24 +2 -0 openpkg-meta/canvas.php
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-meta/canvas-layout.php
============================================================================
$ cvs diff -u -r1.20 -r1.21 canvas-layout.php
--- openpkg-meta/canvas-layout.php 14 Mar 2006 17:00:40 -0000 1.20
+++ openpkg-meta/canvas-layout.php 14 Mar 2006 21:40:29 -0000 1.21
@@ -186,9 +186,9 @@
div#canvas_footbox {
position: absolute;
right: 60px;
- bottom: 60px;
- width: 120px;
- height: 240px;
+ bottom: 40px;
+ width: 160px;
+ height: 60px;
z-index: 10;
vertical-align: bottom;
text-align: right;
@@ .
patch -p0 <<'@@ .'
Index: openpkg-meta/canvas-nav-xref.php
============================================================================
$ cvs diff -u -r0 -r1.1 canvas-nav-xref.php
--- /dev/null 2006-03-14 22:40:24 +0100
+++ canvas-nav-xref.php 2006-03-14 22:40:30 +0100
@@ -0,0 +1,115 @@
+<script language="php">
+##
+## Copyright (c) 2005-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
+## Copyright (c) 2005-2006 Ralf S. Engelschall <http://engelschall.com/>
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+## canvas-nav-xref.php: canvas navigation cross-referencing links
+##
+</script>
+
+<script language="php">
+ divert("css");
+</script>
+
+div.nav_seealso {
+ color: #605040;
+}
+
+div.nav_seealso a {
+ font-weight: normal;
+ color: #000000;
+}
+
+div.nav_path {
+ color: #605040;
+}
+div.nav_path a {
+ font-weight: normal;
+ color: #000000;
+}
+
+<script language="php">
+ function navpage($html, $id, $txt) {
+ $result = null;
+ if (preg_match('/<li id="'.$id.'"><a href="([^"]+)">(.+?)<\/a>/s',
$html, $match)) {
+ $href = $match[1];
+ if ($txt == "")
+ $txt = $match[2];
+ $result = array("href" => $href, "txt" => $txt);
+ }
+ return $result;
+ }
+
+ function nav_paths($html, $ini, $this) {
+ $keys = array_keys($ini);
+ for ($i = 0; $i < count($keys); $i++) {
+ if (preg_match('/^path:\s+(.+?)\s*$/s', $keys[$i], $match)) {
+ $name = $match[1];
+ $path = array_keys($ini[$keys[$i]]);
+ for ($j = 0; $j < count($path); $j++) {
+ if ($path[$j] == $this) {
+ echo "<p/>\n";
+ echo "<div class=\"nav_path\">\n";
+ echo "$name:<br/>\n";
+ if ($j-1 >= 0) {
+ $page = navpage($html, $path[$j-1],
$ini[$keys[$i]][$path[$j-1]]);
+ if (!is_null($page))
+ echo "← <a
href=\"".$page["href"]."\">".$page["txt"]."</a><br/>\n";
+ }
+ if ($j+1 <= count($path)) {
+ $page = navpage($html, $path[$j+1],
$ini[$keys[$i]][$path[$j+1]]);
+ if (!is_null($page))
+ echo "→ <a
href=\"".$page["href"]."\">".$page["txt"]."</a><br/>\n";
+ }
+ echo "</div>\n";
+ }
+ }
+ }
+ }
+ }
+
+ function nav_seealso($html, $ini, $this) {
+ $seealso = Array();
+ $also = $ini["also: $this"];
+ if (!is_null($also)) {
+ $keys = array_keys($also);
+ for ($i = 0; $i < count($keys); $i++) {
+ $page = navpage($html, $keys[$i], $also[$keys[$i]]);
+ if (!is_null($page))
+ array_push($seealso, "<a
href=\"".$page["href"]."\">".$page["txt"]."</a>");
+ }
+ }
+ $seealso = implode(", ", $seealso);
+ if ($seealso != "") {
+ echo "<p/>\n";
+ echo "<div class=\"nav_seealso\">\n";
+ echo "See Also:<br/>\n" . $seealso;
+ echo "</div>\n";
+ }
+ }
+
+ $html = undivert("nav");
+ $ini = parse_ini_file("canvas-nav.ini", TRUE);
+ divert("canvas-nav");
+ nav_paths($html, $ini, $opt["path"]);
+ nav_seealso($html, $ini, $opt["path"]);
+</script>
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-meta/canvas-nav.ini
============================================================================
$ cvs diff -u -r0 -r1.1 canvas-nav.ini
--- /dev/null 2006-03-14 22:40:24 +0100
+++ canvas-nav.ini 2006-03-14 22:40:30 +0100
@@ -0,0 +1,52 @@
+; ##
+; ## Copyright (c) 2005-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
+; ## Copyright (c) 2005-2006 Ralf S. Engelschall <http://engelschall.com/>
+; ##
+; ## Permission to use, copy, modify, and distribute this software for
+; ## any purpose with or without fee is hereby granted, provided that
+; ## the above copyright notice and this permission notice appear in all
+; ## copies.
+; ##
+; ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+; ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+; ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+; ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+; ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+; ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+; ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+; ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+; ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+; ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+; ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+; ## SUCH DAMAGE.
+; ##
+; ## canvas-nav.php: canvas navigation tree annotations
+; ##
+
+; ##
+; ## Walk-Through Paths
+; ##
+
+[path: OpenPKG Websites]
+project = OpenPKG Project
+corporation = OpenPKG Corporation
+foundation = OpenPKG Foundation
+
+[path: Corporation Who-is-Who]
+corporation.people = Overview
+corporation.people.mvr = Marcel von Ranson
+corporation.people.thl = Thomas Lotterer
+corporation.people.rse = Ralf S. Engelschall
+
+; ##
+; ## See-Also References
+; ##
+
+[also: corporation]
+corporation.services = Services
+corporation.corporation.summary = Contact
+
+[also: corporation.services]
+corporation.corporation.summary = Contact
+corporation.people = People
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-meta/canvas-nav.php
============================================================================
$ cvs diff -u -r1.15 -r1.16 canvas-nav.php
--- openpkg-meta/canvas-nav.php 14 Mar 2006 17:00:40 -0000 1.15
+++ openpkg-meta/canvas-nav.php 14 Mar 2006 21:40:30 -0000 1.16
@@ -34,6 +34,7 @@
</script>
<ul>
+ <!-- ==## OpenPKG Project ##== -->
<li id="project"><a href="http://www.openpkg.org/">OpenPKG Project</a>
<ul>
<li id="about"><a href="about.html">About</a>
@@ -104,6 +105,8 @@
</li>
</ul>
</li>
+
+ <!-- ==## OpenPKG Corporation ##== -->
<li id="corporation"><a href="http://www.openpkg.com/">OpenPKG
Corporation</a>
<ul>
<li id="corporation"><a href="">Corporation</a>
@@ -123,6 +126,8 @@
</li>
</ul>
</li>
+
+ <!-- ==## OpenPKG Foundation ##== -->
<li id="foundation"><a href="http://www.openpkg.net/">OpenPKG
Foundation</a>
<ul>
<li id="foundation"><a href="">Foundation</a>
@@ -178,6 +183,8 @@
</li>
</ul>
</li>
+
+ <!-- ==## OpenPKG Meta ##== -->
<li id="meta"><a href="http://meta.openpkg.org/global-index.php">OpenPKG
Meta</a>
<ul>
<li id="about"><a href="global-about.php">About Websites</a></li>
@@ -227,7 +234,7 @@
array_pop($url);
}
}
-
+
# assemble back into a navigation tree
$html = implode("\n", $html);
return $html;
@@ .
patch -p0 <<'@@ .'
Index: openpkg-meta/canvas.php
============================================================================
$ cvs diff -u -r1.23 -r1.24 canvas.php
--- openpkg-meta/canvas.php 13 Mar 2006 22:26:39 -0000 1.23
+++ openpkg-meta/canvas.php 14 Mar 2006 21:40:30 -0000 1.24
@@ -111,6 +111,7 @@
# load content generation parts
include("canvas-php.php");
+divert("/dev/null");
include("canvas-js.php");
include("canvas-style.php");
include("canvas-nav.php");
@@ -118,6 +119,7 @@
include("canvas-nav-tab.php");
include("canvas-nav-path.php");
include("canvas-nav-bar.php");
+include("canvas-nav-xref.php");
include("canvas-foot.php");
include("canvas-layout.php");
include("canvas-html.php");
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [email protected]