/[cvs]/nfo/php/libs/org.netfrag.glib/Application/Request/HttpController.php
ViewVC logotype

Annotation of /nfo/php/libs/org.netfrag.glib/Application/Request/HttpController.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.6 - (hide annotations)
Sun Apr 6 04:27:45 2003 UTC (21 years, 4 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.5: +6 -3 lines
shortcut for LinkBuilder

1 joko 1.1 <?php
2    
3     /**
4     * This file contains the concrete Application::Request::Http Controller class.
5     *
6     * @author Andreas Motl <andreas.motl@ilo.de>
7     * @package org.netfrag.glib
8 joko 1.3 * @name Application::Request::HttpController
9 joko 1.1 *
10     */
11    
12     /**
13 joko 1.4 * <b>Cvs-Log:</b>
14     *
15     * <pre>
16 joko 1.6 * $Id: HttpController.php,v 1.5 2003/04/06 01:39:32 jonen Exp $
17 joko 1.2 *
18     * $Log: HttpController.php,v $
19 joko 1.6 * Revision 1.5 2003/04/06 01:39:32 jonen
20     * + now, ask LinkBuilder for GET vars if linkbuilder-ID exists at GET var(s)
21     *
22 jonen 1.5 * Revision 1.4 2003/03/11 01:22:22 joko
23     * + fixed metadata for phpDocumentor
24     *
25 joko 1.4 * Revision 1.3 2003/03/05 18:54:42 joko
26     * updated docu - phpDocumentor is very strict about its 'blocks'...
27     *
28 joko 1.3 * Revision 1.2 2003/03/03 21:13:59 joko
29     * + request translation
30     * mungled namespaces
31     * - purged old code
32     *
33 joko 1.2 * Revision 1.1 2003/03/01 21:11:18 joko
34     * + initial commit
35 joko 1.4 * </pre>
36 joko 1.1 *
37     */
38    
39    
40     /**
41 joko 1.3 * This requires the Application::Request::BaseController base class
42     *
43     */
44     loadModule('Application::Request::BaseController');
45    
46     /**
47     * --- Application::Request::HttpController
48 joko 1.1 *
49 joko 1.3 * Responsible for GET and POST argument handling.
50     * Does an array_join_merge for now.
51 joko 1.1 *
52     * @author Andreas Motl <andreas.motl@ilo.de>
53     * @copyright (c) 2003 - All Rights reserved.
54     * @license GNU LGPL (GNU Lesser General Public License)
55     *
56 joko 1.3 * @link http://www.netfrag.org/~joko/
57     * @link http://www.gnu.org/licenses/lgpl.txt
58 joko 1.1 *
59     * @package org.netfrag.glib
60 joko 1.3 * @subpackage Application
61     * @name Application::Request::HttpController
62 joko 1.1 *
63     */
64     class Application_Request_HttpController extends Application_Request_BaseController {
65    
66     /**
67     * The constructor ...
68     * ... just does nothing.
69     *
70     * @param registry
71     */
72     function Application_Request_HttpController(&$request) {
73     //print Dumper($request);
74     //exit;
75     // propagate request data
76     $this->set_request($request);
77     }
78    
79     function get_request() {
80 jonen 1.5 // FIXME!?
81     if ($lbid = $_GET[lbid]) {
82     // talk to LinkBuilder...
83 joko 1.6 require_once('utils/links.php');
84     return link::restore($lbid);
85 jonen 1.5 } else {
86     return php::array_join_merge($_GET, $_POST);
87     }
88 joko 1.2 }
89    
90     function get_request_translated() {
91     return $this->translate_request($this->get_request());
92 joko 1.1 }
93    
94     function perform(&$metadata) {
95    
96 joko 1.2 $this->metadata = &$metadata;
97    
98 joko 1.1 //print "model: " . Dumper($metadata);
99     //print "request: " . Dumper($this->get_request());
100 joko 1.2 $request_translated = $this->get_request_translated();
101 joko 1.1
102     // trace
103     //print Dumper($request_mapped);
104     //exit;
105    
106     // 2. rule it! mungle request through dispatching rules - lambda-style callbacks
107     $results = array();
108     foreach ($this->_rules as $rule) {
109     //$in = array();
110 joko 1.2 $in = $request_translated;
111 joko 1.1 $out = array();
112     call_user_func($rule, &$in, &$out);
113     array_push($results, array( in => $in, out => $out));
114     }
115    
116     // trace
117     //print Dumper($results);
118     //exit;
119    
120     // 3. merge it! merge dispatching output ($_out!)
121     $final = array();
122     foreach ($results as $result) {
123     //print Dumper($result[out]);
124 joko 1.2 $final = php::array_join_merge($final, $result[out]);
125 joko 1.1 }
126    
127     // trace
128 joko 1.2 //print "final: " . Dumper($final);
129 joko 1.1 //exit;
130    
131     return $final;
132    
133     }
134    
135    
136    
137     }
138    
139     ?>

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