diff options
author | Antonio Gallo <tonicucoz@gmail.com> | 2012-02-18 00:07:50 +0000 |
---|---|---|
committer | Antonio Gallo <tonicucoz@gmail.com> | 2012-02-18 00:07:50 +0000 |
commit | 14691cd854be3e9ee272c9619a6368c83d72267b (patch) | |
tree | 89215d53db8d6f01bb24a5c1d30d9dd4c8d7a5b9 /h-source/Library/Controller.php | |
parent | a2c0b2c4f80463a94e2dd87b59f193ab3aa925eb (diff) |
upload new EasyGiant library and added added a new filter for the model name (part 2)
Diffstat (limited to 'h-source/Library/Controller.php')
-rwxr-xr-x | h-source/Library/Controller.php | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/h-source/Library/Controller.php b/h-source/Library/Controller.php index 5a9ec79..b0eef53 100755 --- a/h-source/Library/Controller.php +++ b/h-source/Library/Controller.php @@ -41,6 +41,9 @@ class Controller { public $argKeys = array(); //the array of keys representing the status args of the view action of the controller (validate function after colon) public $argDefault = array(); //the array containing the default values of the $viewArgs array + + public $argFunc = array(); //the array containing the functions to be applied upon the $viewArgs array + public $viewArgs = array(); //the associative array representing the status args of the main action of the controller. It is the combination of $argKeys and $queryString public $viewStatus = ''; //string containing the additional url string to get the status of the view action of the controller (derived from $this->viewArgs) @@ -220,6 +223,11 @@ class Controller { $this->callInArgKeysFunc(); for ($i = 0; $i < count($this->argKeys); $i++) { + if (isset($_GET[$this->argKeys[$i]]) and strcmp($_GET[$this->argKeys[$i]],'') !== 0) + { + $this->viewArgs[$this->argKeys[$i]] = $this->request->get($this->argKeys[$i],'',$this->argFunc[$i]); + continue; + } if (!isset($this->_queryString[$i])) { $this->viewArgs[$this->argKeys[$i]] = isset($this->argDefault[$i]) ? $this->argDefault[$i] : null; continue; @@ -240,8 +248,14 @@ class Controller { //call the functions defined in $this->argKeys after the colon (ex- 'page:forceInt' => apply the forceInt() function upon the $page arg) final public function callInArgKeysFunc() { for ($i = 0; $i < count($this->argKeys); $i++) { + + $this->argFunc[$i] = 'none'; + if (strstr($this->argKeys[$i],':')) { $temp = explode(':',$this->argKeys[$i]); + + $this->argFunc[$i] = $temp[1]; + //exception if (!in_array($temp[1],explode(',',params::$allowedSanitizeFunc))) { throw new Exception('"'.$temp[1]. '" function not allowed in $this->argKeys'); @@ -293,10 +307,10 @@ class Controller { $here = $this->controller.'/'.$this->scaffold->params['mainAction']; $this->helper('Pages',$here,$this->scaffold->params['pageVariable']); - $this->helper('List',$this->m[$this->modelName]->identifierName); + $this->helper('List',$this->m[$this->modelName]->identifierName,$here,$this->scaffold->params['pageVariable']); - $this->helper('Popup',$here,$popupArray,$this->scaffold->params['popupType'],$this->scaffold->params['pageVariable']); + $this->helper('Popup',$here,$popupArray,$this->scaffold->params['popupType'],$this->scaffold->params['pageVariable'],true); $this->scaffold->pageList = $this->h['Pages']; $this->scaffold->itemList = $this->h['List']; |