/[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.4 - (hide annotations)
Tue Mar 11 01:22:22 2003 UTC (21 years, 5 months ago) by joko
Branch: MAIN
Changes since 1.3: +8 -2 lines
+ fixed metadata for phpDocumentor

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

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