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

Diff of /nfo/php/libs/org.netfrag.glib/Application/Request/BaseController.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Sat Mar 1 21:11:18 2003 UTC revision 1.3 by joko, Wed Mar 5 18:54:42 2003 UTC
# Line 5  Line 5 
5   *   *
6   * @author Andreas Motl <andreas.motl@ilo.de>   * @author Andreas Motl <andreas.motl@ilo.de>
7   * @package org.netfrag.glib   * @package org.netfrag.glib
8   * @module Application::Request::BaseController   * @name Application::Request::BaseController
9   *   *
10   */   */
11    
# Line 13  Line 13 
13   * $Id$   * $Id$
14   *   *
15   * $Log$   * $Log$
16     * Revision 1.3  2003/03/05 18:54:42  joko
17     * updated docu - phpDocumentor is very strict about its 'blocks'...
18     *
19     * Revision 1.2  2003/03/03 21:12:55  joko
20     * split up processing into more steps
21     *
22   * Revision 1.1  2003/03/01 21:11:18  joko   * Revision 1.1  2003/03/01 21:11:18  joko
23   * + initial commit   * + initial commit
24   *   *
# Line 21  Line 27 
27    
28    
29  /**  /**
30   * ---   * Application::Request::BaseController
  *  
31   *   *
32   * @author Andreas Motl <andreas.motl@ilo.de>   * @author Andreas Motl <andreas.motl@ilo.de>
33   * @copyright (c) 2003 - All Rights reserved.   * @copyright (c) 2003 - All Rights reserved.
# Line 32  Line 37 
37   * @license-url http://www.gnu.org/licenses/lgpl.txt   * @license-url http://www.gnu.org/licenses/lgpl.txt
38   *   *
39   * @package org.netfrag.glib   * @package org.netfrag.glib
40   * @module Application::Request::BaseController   * @subpackage Application
41     * @name Application::Request::BaseController
42   *   *
43   */   */
   
 /**  
  * Todo:  
  *  
  *  o xyz  
  *  o bla, bli, blub  
  *  
  *  
  */  
   
   
 // isn't required by now:  
 //loadModule('DesignPattern::Object');  
 //class DesignPattern_MVC extends DesignPattern_Object {  
   
 //loadModule('DesignPattern::Container');  
44  class Application_Request_BaseController {  class Application_Request_BaseController {
45    
46    var $_request = null;    var $_request = null;
# Line 78  class Application_Request_BaseController Line 68  class Application_Request_BaseController
68    }    }
69    */    */
70    
71      function get_request() {
72        $this->_abstract_method('get_request');
73      }
74    
75      function get_request_translated() {
76        $this->_abstract_method('get_request_translated');
77      }
78    
79      /*
80      function translate_request() {
81        $this->_abstract_method('translate_request');
82      }
83      */
84    
85      function translate_request($request_raw) {
86    
87        // 1. map it! mungle request and model together - generic processing here!
88        // now: translate it! (done in concrete mvc controller now)
89        
90        $request_translated = array();
91          
92          $metadata = $this->metadata;
93          
94          // check all areas
95          foreach ($metadata[request_args] as $area_name) {
96            $area_metadata = $metadata[request_arg][$area_name];
97            if ($http_arg_key = $area_metadata[query_arg]) {
98              $this->translate_to($request_raw, $http_arg_key, $request_translated, $area_name);
99            }
100            if ($http_arg_keys = $area_metadata[query_args]) {
101              foreach ($http_arg_keys as $key) {
102                $this->translate_to($request_raw, $key, $request_translated, $area_name);
103              }
104            }
105          }
106    
107        if (!sizeof($request_translated)) {
108          user_error("MVC Error - HttpController: mapped request is empty!");
109        }
110        
111        return $request_translated;
112    
113      }
114    
115      function translate_to(&$source, $source_key, &$target, $target_key) {
116        if (in_array($source_key, array_keys($source))) {
117          $target[$target_key] = $source[$source_key];
118        }
119      }
120    
121    // called from parent context    // called from parent context
122    function set_request(&$request) {    function set_request(&$request) {
123      $this->_request = &$request;      $this->_request = &$request;
# Line 88  class Application_Request_BaseController Line 128  class Application_Request_BaseController
128      $this->_rules = &$rules;      $this->_rules = &$rules;
129    }    }
130        
131      /*
132    function &get_request() {    function &get_request() {
133      return $this->_request;      return $this->_request;
134    }    }
135      */
136            
137  }  }
138    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

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