| 
<?php
if(!defined('BASEPATH')){ die();}
 
 /*
 
 File Name: mainController.php
 
 Class:
 ------
 class mainController extends load (from /AzizMVC/load.php)
 
 Description:
 ------------
 This class gets extended by every controller, which inherently extends the loader
 
 Variables:
 ----------
 protected params = string array()    --> List of URL paramaters
 public model = string                -->    Default model handler
 
 Methods:
 --------
 void     __construct                    --> Construct paramters, paths & helper/plugin autoload
 string     segments(index as int)        --> Returns the selected paramters index
 
 string    getPost(input as string, doClean as boolean = true)
 --> Returns a POST value and cleans it by default
 string    getGet(input as string, doClean as boolean = true)
 --> Returns a GET value and cleans it by default
 
 string    cleanMe(input as string, doClean as boolean = true)
 --> Returns input or cleans it before returning it.
 string    escape(input as string)        --> Similar to mysql_real_escape_string, but additional it urlencodes equal signs
 
 */
 
 class mainController extends load
 {
 // Paramters holder
 protected $params = array();
 
 // Default Model handler
 public $model = NULL;
 
 // Base Path
 public $BASEPATH;
 
 // Site URL
 public $site_url;
 
 // Base URL
 public $base_url;
 
 // Construct paths
 public function __construct()
 {
 // Set BASEPATH
 $this->BASEPATH = BASEPATH;
 
 // Set params
 if(isset($_SERVER['REQUEST_URI']))
 {
 $this->params = explode('/',$_SERVER['REQUEST_URI']);
 $this->params = checkIndex($this->params);
 }
 
 // Site/base URL
 $temp = basename($_SERVER['SCRIPT_NAME']);
 $this->base_url = 'http://'.$_SERVER['HTTP_HOST'].str_replace($temp,'',$_SERVER['SCRIPT_NAME']);
 $this->site_url = $this->base_url.'index.php/';
 
 // Include database oonfigurations
 include(BASEPATH.'AzizMVC/configs.php');
 
 // Load all plugins on autoload
 if(count($MVC_Configs['pluginAuto']) > 0)
 {
 foreach($MVC_Configs['pluginAuto'] as $plugin)
 {
 $this->loadPlugin($plugin);
 }
 }
 // Load all helpers on autoload
 if(count($MVC_Configs['helperAuto']) > 0)
 {
 foreach($MVC_Configs['helperAuto'] as $helper)
 {
 $this->loadHelper($helper);
 }
 }
 }
 
 // Function used to retrieve paramater
 public function segments($index,$doClean = true)
 {
 settype($index,"integer");
 if(isset($this->params[$index])){
 return $this->cleanMe($this->params[$index],$doClean);
 } else {
 return '';
 }
 }
 
 // Function to get clean post variables
 public function getPost($input,$doClean = true)
 {
 if(isset($_POST[$input]))
 {
 return $this->cleanMe($_POST[$input],$doClean);
 } else {
 return '';
 }
 }
 
 // Function to get clean get variables
 public function getGet($input,$doClean = true)
 {
 if(isset($_GET[$input]))
 {
 return $this->cleanMe($_GET[$input],$doClean);
 } else {
 return '';
 }
 }
 
 /* This function will return input or clean it before doing so */
 private function cleanMe($input,$doClean)
 {
 if(!$doClean){ return $input;}
 return $this->escape($input);
 }
 
 // MySQL escape function
 public function escape($string)
 {
 $search = array("\x00", "\n", "\r", '\\', "'", '"', "\x1a",'=');
 $replace = array("\\x00", "\\n", "\\r", "\\\\" ,"\'", '\"', "\\x1a",'%3D');
 return str_replace($search,$replace,$string);
 }
 }
 
 // End of file /AzizMVC/mainController.php
 |