Вход Регистрация
Файл: upload/system/engine/action.php
Строк: 24
<?php
class Action {
    private 
$file;
    private 
$class;
    private 
$method;
    private 
$args = array();

    public function 
__construct($route$args = array()) {
        
$parts explode('/'str_replace('../''', (string)$route));

        
// Break apart the route
        
while ($parts) {
            
$file DIR_APPLICATION 'controller/' implode('/'$parts) . '.php';

            if (
is_file($file)) {
                
$this->file $file;

                
$this->class 'Controller' preg_replace('/[^a-zA-Z0-9]/'''implode('/'$parts));
                break;
            } else {
                
$this->method array_pop($parts);
            }
        }

        if (!
$this->method) {
            
$this->method 'index';
        }

        
$this->args $args;
    }

    public function 
execute($registry) {
        
// Stop any magical methods being called
        
if (substr($this->method02) == '__') {
            return 
false;
        }

        if (
is_file($this->file)) {
            include_once(
$this->file);

            
$class $this->class;

            
$controller = new $class($registry);

            if (
is_callable(array($controller$this->method))) {
                return 
call_user_func(array($controller$this->method), $this->args);
            } else {
                return 
false;
            }
        } else {
            return 
false;
        }
    }
}
Онлайн: 0
Реклама