?
Current Path : /home1/savoy/www/savoyglobal.net/hr/application/libraries/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : /home1/savoy/www/savoyglobal.net/hr/application/libraries/MY_Router.php |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class MY_Router extends CI_Router { var $error_controller = 'error'; var $error_method_404 = 'error_404'; function My_Router() { parent::CI_Router(); } // this is just the same method as in Router.php, with show_404() replaced by $this->error_404(); function _validate_request($segments) { // Does the requested controller exist in the root folder? if (file_exists(APPPATH.'controllers/'.$segments[0].EXT)) { return $segments; } // Is the controller in a sub-folder? if (is_dir(APPPATH.'controllers/'.$segments[0])) { // Set the directory and remove it from the segment array $this->set_directory($segments[0]); $segments = array_slice($segments, 1); if (count($segments) > 0) { // Does the requested controller exist in the sub-folder? if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$segments[0].EXT)) { return $this->error_404(); } } else { $this->set_class($this->default_controller); $this->set_method('index'); // Does the default controller exist in the sub-folder? if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$this->default_controller.EXT)) { $this->directory = ''; return array(); } } return $segments; } // Can't find the requested controller... return $this->error_404(); } function error_404() { $this->directory = ""; $segments = array(); $segments[] = $this->error_controller; $segments[] = $this->error_method_404; return $segments; } function fetch_class() { // if method doesn't exist in class, change // class to error and method to error_404 $this->check_method(); return $this->class; } function check_method() { $ignore_remap = true; $class = $this->class; if (class_exists($class)) { // methods for this class $class_methods = array_map('strtolower', get_class_methods($class)); // ignore controllers using _remap() if($ignore_remap && in_array('_remap', $class_methods)) { return; } if (! in_array(strtolower($this->method), $class_methods)) { $this->directory = ""; $this->class = $this->error_controller; $this->method = $this->error_method_404; include(APPPATH.'controllers/'.$this->fetch_directory().$this->error_controller.EXT); } } } function show_404() { include(APPPATH.'controllers/'.$this->fetch_directory().$this->error_controller.EXT); call_user_func(array($this->error_controller, $this->error_method_404)); } } /* End of file MY_Router.php */ /* Location: ./system/application/libraries/MY_Router.php */