diff options
author | Yuchen Pei <me@ypei.me> | 2021-07-29 14:17:20 +1000 |
---|---|---|
committer | Yuchen Pei <me@ypei.me> | 2021-07-29 14:17:20 +1000 |
commit | 3ff03dc4f0a72432b34c00da620272cf011e4ddd (patch) | |
tree | 5746711ba17a91aed56c6529ea8cceb06c3ad16a /h-source/Library/Call.php | |
parent | cd4534aa10ba3b122963992741721289fa50d0ab (diff) |
Publishing h-node.org code.
- this is the h-node.org code, except
- removed a js file (3x copies at three different locations) without license / copyright headers
- /Js/linkToForm.js
- /Public/Js/linkToForm.js
- /admin/Public/Js/linkToForm.js
- removed config files containing credentials
- /Application/Include/params.php
- /Config/Config.php
- /admin/Application/Include/params.php
- /admin/Config/Config.php
- added license and copyright header to one php file
- /admin/Library/ErrorReporting.php (almost identical to /Library/ErrorReporting.php which has the headers)
Diffstat (limited to 'h-source/Library/Call.php')
-rwxr-xr-x | h-source/Library/Call.php | 208 |
1 files changed, 31 insertions, 177 deletions
diff --git a/h-source/Library/Call.php b/h-source/Library/Call.php index 7f80841..c75508b 100755 --- a/h-source/Library/Call.php +++ b/h-source/Library/Call.php @@ -2,7 +2,7 @@ // EasyGiant is a PHP framework for creating and managing dynamic content // -// Copyright (C) 2009 - 2014 Antonio Gallo (info@laboratoriolibero.com) +// Copyright (C) 2009 - 2011 Antonio Gallo // See COPYRIGHT.txt and LICENSE.txt. // // This file is part of EasyGiant @@ -35,40 +35,19 @@ function sanitizeSuperGlobal() $_SERVER = stripslashesDeep($_SERVER); } -function checkPostLength($checkArray = null) + + +function checkPostLength() { - $a = isset($checkArray) ? $checkArray : $_POST; - if (MAX_POST_LENGTH !== 0) { - foreach ($a as $key => $value) + foreach ($_POST as $key => $value) { - if (is_array($value)) - { - checkPostLength($value); - } - else - { - if (strlen($value) > MAX_POST_LENGTH) die('the length of some of the $_POST values is too large'); - } + if (strlen($value) > MAX_POST_LENGTH) die('the length of some of the $_POST values is too large'); } } } -//remove elements that are arrays -//applied to $_POST and $_GET -function fixArray($array) -{ - $temp = array(); - - foreach ($array as $key => $value) - { - $temp[$key] = is_array($value) ? "" : $value; - } - - return $temp; -} - function checkRequestUriLength() { if (MAX_REQUEST_URI_LENGTH !== 0) @@ -82,108 +61,20 @@ function checkRegisterGlobals() if (ini_get('register_globals')) die('register globals is on: easyGiant works only with register globals off'); } -//geth the name of the current application used -function getApplicationName() -{ - if (isset(Params::$currentApplication)) - { - return Params::$currentApplication; - } - return null; -} - -//geth the path of the current application used -//add the trailing slash to the application name -function getApplicationPath() -{ - if (isset(Params::$currentApplication)) - { - return "Apps".DS.ucfirst(Params::$currentApplication).DS; - } - return null; -} - -function languageInUrl($url) -{ - $url = trim($url,"/"); - - if (in_array($url,Params::$frontEndLanguages)) - { - return $url."/"; - } - return false; -} - function callHook() { - + $currentUrl = null; if (MOD_REWRITE_MODULE === true) { - if (isset($_GET['url'])) - { - if (!languageInUrl($_GET['url'])) - { - $url = $_GET['url']; - } - else - { - $url = languageInUrl($_GET['url']) . DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; - } - } - else - { - $url = DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; - } + $url = isset($_GET['url']) ? $_GET['url'] : DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; } else { - if (strcmp(getQueryString(),"") !== 0) - { - if (!languageInUrl(getQueryString())) - { - $url = getQueryString(); - } - else - { - $url = languageInUrl(getQueryString()) . DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; - } - } - else - { - $url = DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; - } + $url = (strcmp(getQueryString(),"") !== 0) ? getQueryString() : DEFAULT_CONTROLLER . '/' . DEFAULT_ACTION; } - $arriveUrl = $url; - - $urlArray = array(); - $urlArray = explode("/",$url); - - //get the language - if (count(Params::$frontEndLanguages) > 0) - { - if (in_array($urlArray[0],Params::$frontEndLanguages)) - { - Params::$lang = sanitizeAll($urlArray[0]); - array_shift($urlArray); - } - else - { - Params::$lang = Params::$defaultFrontEndLanguage; -/* - if (isset($_GET['url']) and Params::$redirectToDefaultLanguage) - { - $h = new HeaderObj(DOMAIN_NAME); - - $h->redirect($arriveUrl); - }*/ - } - } - - $url = implode("/",$urlArray); - // rewrite the URL if (Route::$rewrite === 'yes') { @@ -194,19 +85,12 @@ function callHook() // echo $url; + $urlArray = array(); $urlArray = explode("/",$url); + $controller = DEFAULT_CONTROLLER; $action = DEFAULT_ACTION; - - //check if an application name is found in the URL - if (isset(Params::$installed) and isset($urlArray[0]) and strcmp($urlArray[0],'') !== 0 and in_array($urlArray[0],Params::$installed)) - { - Params::$currentApplication = strtolower(trim($urlArray[0])); - - array_shift($urlArray); - } - if (isset($urlArray[0])) { $controller = (strcmp($urlArray[0],'') !== 0) ? strtolower(trim($urlArray[0])) : DEFAULT_CONTROLLER; @@ -224,30 +108,10 @@ function callHook() $errorAction = ERROR_ACTION !== false ? ERROR_ACTION : DEFAULT_ACTION; /* - CHECK COUPLES CONTROLLER,ACTION - */ - if (!in_array('all',Route::$allowed)) - { - $couple = "$controller,$action"; - if (getApplicationName() !== null) - { - $couple = getApplicationName().",".$couple; - } - if (!in_array($couple,Route::$allowed)) - { - Params::$currentApplication = null; - $controller = $errorController; - $action = $errorAction; - $urlArray = array(); - } - } - - /* VERIFY THE ACTION NAME - */ + */ if (method_exists('Controller', $action) or !ctype_alnum($action) or (strcmp($action,'') === 0)) { - Params::$currentApplication = null; $controller = $errorController; $action = $errorAction; $urlArray = array(); @@ -258,7 +122,6 @@ function callHook() */ if (!ctype_alnum($controller) or (strcmp($controller,'') === 0)) { - Params::$currentApplication = null; $controller = $errorController; $action = $errorAction; $urlArray = array(); @@ -266,10 +129,8 @@ function callHook() //check that the controller class belongs to the application/controllers folder //otherwise set the controller to the default controller - // if (!file_exists(ROOT.DS.APPLICATION_PATH.DS.'Controllers'.DS.ucwords($controller).'Controller.php') and !file_exists(ROOT.DS.APPLICATION_PATH.DS.getApplicationPath().'Controllers'.DS.ucwords($controller).'Controller.php')) - if (!file_exists(ROOT.DS.APPLICATION_PATH.DS.getApplicationPath().'Controllers'.DS.ucwords($controller).'Controller.php')) + if (!file_exists(ROOT.DS.APPLICATION_PATH.DS.'Controllers'.DS.ucwords($controller).'Controller.php')) { - Params::$currentApplication = null; $controller = $errorController; $action = $errorAction; $urlArray = array(); @@ -278,7 +139,6 @@ function callHook() //set the controller class to DEFAULT_CONTROLLER if it doesn't exists if (!class_exists(ucwords($controller).'Controller')) { - Params::$currentApplication = null; $controller = $errorController; $action = $errorAction; $urlArray = array(); @@ -287,28 +147,40 @@ function callHook() //set the action to DEFAULT_ACTION if it doesn't exists if (!method_exists(ucwords($controller).'Controller', $action)) { - Params::$currentApplication = null; $controller = $errorController; $action = $errorAction; $urlArray = array(); } + + /* + CHECK COUPLES CONTROLLER,ACTION + */ + if (!in_array('all',Route::$allowed)) + { + $couple = "$controller,$action"; + if (!in_array($couple,Route::$allowed)) + { + $controller = $errorController; + $action = $errorAction; + $urlArray = array(); + } + } array_shift($urlArray); $queryString = $urlArray; //set the name of the application - $controllerName = $controller; + $application = $controller; $controller = ucwords($controller); $model = $controller; $controller .= 'Controller'; $model .= 'Model'; -// echo $controller."-".$action; //include the file containing the set of actions to carry out before the initialization of the controller class Hooks::load(ROOT . DS . APPLICATION_PATH . DS . 'Hooks' . DS . 'BeforeInitialization.php'); if (class_exists($controller)) { - $dispatch = new $controller($model,$controllerName,$queryString, getApplicationName()); + $dispatch = new $controller($model,$application,$queryString); //pass the action to the controller object $dispatch->action = $action; @@ -324,7 +196,7 @@ function callHook() $templateFlag= true; - if (method_exists($dispatch, $action)) + if (method_exists($controller, $action)) { //pass the action to the theme object $dispatch->theme->action = $action; @@ -363,10 +235,7 @@ function rewrite($url) $oldKey = $key; $key = str_replace('\/','/',$key); $key = str_replace('/','\/',$key); - - $regExpr = Params::$exactUrlMatchRewrite ? '/^'.$key.'$/' : '/^'.$key.'/'; - - if (preg_match($regExpr,$url)) + if (preg_match('/^'.$key.'/',$url)) { $nurl = preg_replace('/^'.$key.'/',$address,$url); return array($nurl,$oldKey); @@ -403,18 +272,10 @@ function __autoload($className) { require_once(ROOT . DS . 'Library' . DS . $className . '.php'); } - else if (getApplicationName() and file_exists(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Controllers' . DS . $backupName . '.php')) - { - require_once(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Controllers' . DS . $backupName . '.php'); - } else if (file_exists(ROOT . DS . APPLICATION_PATH . DS . 'Controllers' . DS . $backupName . '.php')) { require_once(ROOT . DS . APPLICATION_PATH . DS . 'Controllers' . DS . $backupName . '.php'); } - else if (getApplicationName() and file_exists(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Models' . DS . $backupName . '.php')) - { - require_once(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Models' . DS . $backupName . '.php'); - } else if (file_exists(ROOT . DS . APPLICATION_PATH . DS . 'Models' . DS . $backupName . '.php')) { require_once(ROOT . DS . APPLICATION_PATH . DS . 'Models' . DS . $backupName . '.php'); @@ -423,10 +284,6 @@ function __autoload($className) { require_once(ROOT . DS . APPLICATION_PATH . DS . 'Modules' . DS . $backupName . '.php'); } - else if (getApplicationName() and file_exists(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Strings' . DS . $backupName . '.php')) - { - require_once(ROOT . DS . APPLICATION_PATH . DS . getApplicationPath() . 'Strings' . DS . $backupName . '.php'); - } else if (file_exists(ROOT . DS . APPLICATION_PATH . DS . 'Strings' . DS . $className . '.php')) { require_once(ROOT . DS . APPLICATION_PATH . DS . 'Strings' . DS . $className . '.php'); @@ -436,9 +293,6 @@ function __autoload($className) try { - $_POST = fixArray($_POST); - $_GET = fixArray($_GET); - //check the length of the $_POST values checkPostLength(); |