/[cvs]/nfo/php/libs/org.netfrag.glib/Site/WebBlock.php
ViewVC logotype

Contents of /nfo/php/libs/org.netfrag.glib/Site/WebBlock.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2 - (show annotations)
Wed Mar 5 18:54:45 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.1: +23 -22 lines
updated docu - phpDocumentor is very strict about its 'blocks'...

1 <?
2 /**
3 * This file contains the abstract MVCPage class.
4 * It inherits from phpHtmlLib's abstract PageWidget
5 * class to seamlessly integrate into its render queue.
6 *
7 * @author Andreas Motl <andreas.motl@ilo.de>
8 * @package org.netfrag.glib
9 * @name Site::WebBlock
10 *
11 */
12
13 /**
14 * $Id: WebBlock.php,v 1.1 2003/03/05 12:18:47 joko Exp $
15 *
16 * $Log: WebBlock.php,v $
17 * Revision 1.1 2003/03/05 12:18:47 joko
18 * from GenericPage.php
19 *
20 * Revision 1.1 2003/03/03 22:11:59 joko
21 * + initial commit
22 *
23 *
24 */
25
26
27 /**
28 * Make sure we have the required parent class
29 */
30 //class Site_WebPageMVC extends PageWidget {
31 //loadModule('DesignPattern::MVC');
32 //class Site_GenericPage extends DesignPattern_MVC {
33 //loadModule('DesignPattern::Proxy');
34 loadModule('DesignPattern::TransparentProxy');
35
36
37 /**
38 * This class is used to build content
39 * for an MVC controlled page. It instantiates
40 * an concrete helper MVC object which does the
41 * dispatching stuff. (phpHtmlLib::controller::WebMVC,
42 * inherited from the abstract DesignPattern::MVC)
43 *
44 * This class is established here to act as a wrapper
45 * bringing MVC and phpHtmlLib together.
46 *
47 * By now we inherit from the PageWidget, but this has
48 * to be broken using the ProxyPattern or s.th.l.th.
49 * I guess we'll have to dispatch to arbitrary concrete
50 * Page-implementations here in future...
51 *
52 * @author Andreas Motl <andreas.motl@ilo.de>
53 * @package org.netfrag.glib
54 * @subpackage Site
55 * @name Site::WebBlock
56 *
57 * @todo x phpHtmlLib::PageWidget-Adapter
58 * @todo o php-include-file-Adapter
59 *
60 */
61 //class Site_GenericPage extends DesignPattern_Proxy {
62 class Site_WebBlock extends DesignPattern_TransparentProxy {
63
64 /*
65 var $_controller_module;
66 var $_controller;
67 */
68
69 var $_page;
70
71
72 function call_handler() {
73 //print Dumper(func_get_args());
74 //print Dumper($this);
75 //exit;
76 //$this->make_handler_transparent();
77 }
78
79 /*
80 function @render() {
81 print "render!<br/>";
82 }
83 */
84
85 //function MVCPage($title, $render_type = HTML, $ub_view = 'UB_LIST') {
86 function Site_WebBlock(&$args) {
87
88 //print("<h1>Site::GenericPage!</h1><br/>");
89
90 if (!$args[adapter]) {
91 user_error("Please specify adapter in constructor or s.th.l.th.");
92 //$args[type] = 'Page::Overview';
93 return;
94 }
95
96 // merge args to object attributes
97 // FIXME!!!
98 //$this->merge_args($args);
99
100
101 // --- Proxy selector (an Adapter acts as a Proxy here to get transparent....)
102
103 switch ($args[adapter]) {
104 case 'phpHtmlLib':
105 $this->_component_name = 'Site::Adapter::phpHtmlLib::PageWidget';
106 $this->_component_options[title] = $args[title];
107 break;
108 case 'php_file':
109 $this->_component_name = 'Site::Adapter::php::IncludeFile';
110 $this->_component_options = $args['block'];
111 break;
112 case 'php_class':
113 $this->_component_name = 'Site::Adapter::php::Class';
114 $this->_component_options = $args['block'];
115 break;
116 case 'php_object':
117 $this->_component_name = 'Site::Adapter::php::Object';
118 $this->_component_options = $args['block'];
119 break;
120 default:
121 user_error("Site::GenericPage: no component selected!");
122 break;
123 }
124
125
126 //parent::constructor();
127 //exit;
128
129 // test transparency here
130 $test_before = 0;
131 $test_after = 0;
132
133 $this->create_proxy();
134
135 if ($test_before) {
136 if ($this->_component_name == 'Site::Adapter::php::Class') {
137 print "before:<br/>" . Dumper($this);
138 }
139 }
140
141 $this->make_transparent();
142
143 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
144 // this code isn't executed any more since transparency occours above!!!!
145
146 if ($test_after) {
147 if ($this->_component_name == 'Site::Adapter::php::Class') {
148 print "after:<br/>" . Dumper($this);
149 }
150 }
151
152 //print Dumper($this);
153 //exit;
154
155 //return $this;
156
157 }
158
159 //switch ($thi
160
161 /*
162
163 // create controller instance
164 $this->create_controller_instance();
165
166 // trace
167 //print Dumper($this->_controller);
168 //exit;
169
170 // propagate phpHtmlLib page widget arguments:
171 // - title: The title of the page
172 // - render_type: An identifier specifying the output type:
173 // used by now: HTML (possible: WML|SVG, i guess...? XML|DHTML also...?)
174 $title = $args[title];
175 $render_type = $args[render_type];
176 $parent = get_parent_class($this);
177 $this->$parent($title, $render_type);
178 */
179
180
181
182 /*
183 function @old_create_controller_instance() {
184 // V1:
185 //$this->_controller = mkObject('ExplorerController.inc');
186
187 // V2:
188 //loadModule('widgets/explorer/modules/ExplorerController', 'inc');
189 //$this->_controller = mkObject('ExplorerController');
190
191 // V3: (now being completely abstract here...)
192 $this->_controller = mkObject($this->_controller_module);
193 }
194 */
195
196 }
197
198 ?>

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