/[cvs]/nfo/php/libs/org.netfrag.app/WebExplorer/Module/NavigationList.php
ViewVC logotype

Contents of /nfo/php/libs/org.netfrag.app/WebExplorer/Module/NavigationList.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (show annotations)
Tue May 13 14:58:35 2003 UTC (21 years, 3 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +11 -2 lines
reset filter when clicking navigational items

1 <?
2 /**
3 * This file contains the WebExplorer_Module_NavigationList child class,
4 * it inherits from the WebExplorer_Module_AbstractNavigationList.
5 *
6 * @author Sebastian Utz <seut@tunemedia.de>
7 * @package org.netfrag.app
8 * @name WebExplorer::Module::NavigationList
9 *
10 */
11
12 /**
13 * Cvs-Log:
14 *
15 * $Id: NavigationList.php,v 1.10 2003/04/18 15:12:33 joko Exp $
16 *
17 * $Log: NavigationList.php,v $
18 * Revision 1.10 2003/04/18 15:12:33 joko
19 * modified header to be phpDocumentor compliant
20 *
21 * Revision 1.9 2003/04/18 14:40:57 jonen
22 * bugfix
23 *
24 * Revision 1.8 2003/04/18 13:33:44 jonen
25 * CHANGE: link_vars now are passed by contructor arguments
26 * (so that the AbstractExplorer could handle these...)
27 *
28 * Revision 1.7 2003/04/16 16:13:04 joko
29 * updates to 'function propagate': + minor cosmetic update, ++ special mode: 'tree' if value of node ends with '.xml'
30 *
31 * Revision 1.6 2003/04/08 22:40:06 joko
32 * renamed / revamped shortcut to LinkBuilder (now via url::short)
33 *
34 * Revision 1.5 2003/04/06 04:26:43 joko
35 * shortcut for LinkBuilder
36 *
37 * Revision 1.4 2003/04/06 01:44:52 jonen
38 * + build links now with help of LinkBuilder class
39 * (one id instead of a bunch of variables... ;)
40 *
41 * Revision 1.3 2003/04/05 21:17:16 joko
42 * moved code to AbstractNavigationList.php
43 *
44 */
45
46 /**
47 * This requires the WebExplorer::Module::AbstractNavigationList
48 * component as base class.
49 *
50 */
51 loadModule('WebExplorer::Module::AbstractNavigationList');
52
53 /**
54 * The WebExplorer_Module_NavigationList child class queries the
55 * backend for a list of known nodes at toplevel.
56 *
57 * It's using the DataSource::Generic chain to access the common
58 * backend datasource query API (queryData/querySchema).
59 *
60 * The results - probably a simple list - are displayed inside
61 * a VerticalCSSNavTable by using the AbstractNavigationList.
62 *
63 * The links contain http query arguments which should trigger
64 * the request processor (MVC) to navigate into the selected
65 * top-level node.
66 * This displays a list of second level nodes inside the content area
67 * which are most probably full blown row-based results.
68 * (ms-lingo: recordsets)
69 *
70 *
71 * @link http://www.netfrag.org/~jonen/
72 * @author Sebastian Utz <seut@tunemedia.de>
73 *
74 * @copyright (c) 2003 - All Rights reserved.
75 *
76 * @link http://www.gnu.org/licenses/lgpl.txt
77 * @license GNU LGPL (GNU Lesser General Public License)
78 *
79 *
80 * @package org.netfrag.app
81 * @subpackage WebExplorer
82 * @name WebExplorer::Module::NavigationList
83 *
84 *
85 */
86 class WebExplorer_Module_NavigationList extends WebExplorer_Module_AbstractNavigationList {
87
88 function propagate() {
89
90 //print Dumper($this);
91
92 // V1 - manually defined default link arguments to branch to a list
93 //$link_vars = array(
94 // 'ap' => "explorer",
95 // 'ecl' => "content",
96 // 'ect' => "data",
97 // 'ecdlk' => "rpc",
98 // 'ecat' => "list",
99 // );
100
101 // V2 - required link arguments to stay in flow are now automagically propagated to our arguments
102 $link_vars = $this->_args['hidden_elements'];
103
104 // V3 - TODO: enhanced version of this mechanism - make both things possible using ...
105 // $link_vars = php::array_join_merge($link_vars_default, $link_vars_passed_in);
106
107 foreach ($this->result as $value) {
108 $alt_caption = "Alle Elemente unterhalb von '$value' anzeigen.";
109
110 // V1: hmm...long time ago...
111 //$url = $_SERVER['PHP_SELF'] . "?" . $this->_control['page_ident_label'] . "=d_list&l_label=" . $value;
112
113 // V2: simple add vars to url
114 //$url = $_SERVER['PHP_SELF'] . "?ap=explorer&ecl=content&ect=data&ecdlk=rpc&ecat=list&ecdid=$value";
115
116 // V3: use LinkBuilder to save vars at session and get unique id instead
117 $link_vars['ecdid'] = $value;
118
119 // reset data filter
120 $link_vars['ecdf'] = '';
121
122 // FIXME: HACK???
123 // modify default link if name of linked node contains '.xml'
124 if (stristr($value, '.xml')) {
125 $link_vars['ecat'] = 'tree';
126 }
127
128 // encoded links: shorter and more cryptic ;-)
129 // drawback: guid generation might be expensive,
130 // check out guid-pre-generation into some queue...
131 // V1
132 //$link_guid = link::store($link_vars);
133 //$url = $_SERVER['PHP_SELF'] . "?lbid=" . $link_guid;
134 // V2
135 $url = url::short(null, $link_vars);
136
137 $this->nav->add($url, $value, $alt_caption);
138 }
139
140 }
141
142 }
143
144
145 ?>

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed