public function __call($name, $args) { $class_name = "helper\\{$name}"; if (!class_exists($class_name)) { \error::page("helper {$name} not found"); } else { return new $class_name($args); } }
/** * [config description] * @return [type] [description] */ final function config() { if (method_exists($this->validate, 'getFunctions') && $this->validate->getFunctions()) { foreach ($this->validate->getFunctions() as $key => $args) { if (empty($args)) { $args = array(); } elseif (!is_array($args)) { $args = array($args); } if (!is_object($args[0])) { error::page("validate inline extends {$key} not found"); } $closure = \Closure::bind($args[0], $this); $onf = $this->status; $ret = call_user_func_array($closure, $args); if ($ret == false || $onf === true && $this->status == false) { $this->setError($key); } } } }
public function loadController($controller_name) { router::set_controller($controller_name); if (!class_exists($controller_name)) { error::page($controller_name); } $controller = new $controller_name(); self::$controller = $controller; if (method_exists($controller, '_route')) { $controller->i_route(); } if (router::get_controller() !== $controller_name) { $this->controller_finder(); return; } if (method_exists($controller, 'config') || array_key_exists('config', $controller->Methods)) { $controller->iconfig(); } if (method_exists($controller, 'options')) { $controller->ioptions(); } if (count(router::get_url_property(-1)) > 0 && $controller->route_check_true === false) { error::page('Unavailable'); } $controller->i_corridor(); }
public function loadController() { /** * find controller; */ $url_property = router::get_url_property(-1); $myrep = router::get_repository_name(); if (!router::get_controller()) { $controller_name = '\\' . $myrep . '\\' . router::get_class() . '\\' . router::get_method() . '\\controller'; $prv_class = router::get_class(); // var_dump($controller_name); if (!class_exists($controller_name)) { if ((!isset($url_property[1]) || $url_property[1] != router::get_method()) && router::get_method() != 'home') { router::add_url_property(router::get_method()); } $prv_method = router::get_method(); router::set_method('home'); $controller_name = '\\' . $myrep . '\\' . router::get_class() . '\\' . router::get_method() . '\\controller'; // var_dump(router::get_url_property(-1)); // var_dump($controller_name); if (!class_exists($controller_name)) { router::set_class($prv_class); $controller_name = '\\' . $myrep . '\\' . router::get_class() . '\\controller'; // var_dump(router::get_url_property(-1)); // var_dump($controller_name); if (!class_exists($controller_name)) { if ((!isset($url_property[0]) || $url_property[0] != router::get_class()) && router::get_class() != 'home') { router::add_url_property(router::get_class()); } router::set_class('home'); $controller_name = '\\' . $myrep . '\\' . router::get_class() . '\\' . router::get_method() . '\\controller'; // var_dump(router::get_url_property(-1)); // var_dump($controller_name); // if (!class_exists($controller_name)) { router::set_class('home'); $controller_name = '\\' . $myrep . '\\' . router::get_class() . '\\controller'; // var_dump(router::get_url_property(-1)); // $controller_name='\account\home\controller'; // var_dump($controller_name); if (!class_exists($controller_name)) { \lib\error::page("content not found"); } } } } } } else { $controller_name = router::get_controller(); } router::set_controller($controller_name); if (!class_exists($controller_name)) { error::page($controller_name); } $controller = new $controller_name(); self::$controller = $controller; // running template base module for homepage if (\lib\router::get_storage('CMS') && $myrep == 'content' && method_exists($controller, 's_template_finder')) { $controller->s_template_finder(); } if (method_exists($controller, '_route')) { $controller->_route(); } if (router::get_controller() !== $controller_name) { $this->loadController(); return; } if (method_exists($controller, 'config')) { $controller->config(); } if (method_exists($controller, 'options')) { $controller->options(); } if (count(router::get_url_property(-1)) > 0 && $controller->route_check_true === false) { error::page('Unavailable'); } $controller->_corridor(); }
/** * [make description] * @param boolean $name [description] * @param boolean $args [description] * @return [type] [description] */ function make($name = false, $args = false) { if (is_object($name)) { $this->{$args} = $name; } elseif (preg_match("/^\\.(.*)\$/", $name, $fname)) { $class = '\\cls\\form\\' . $fname[1]; $args = func_get_args(); if (class_exists($class)) { return new $class(...array_splice($args, 1)); } else { $class = '\\addons\\includes' . $class; if (class_exists($class)) { return new $class(...array_splice($args, 1)); } else { error::page("form {$class} not exist"); } } } elseif (preg_match("/^\\#(.*)\$/", $name, $fname)) { $class = '\\cls\\form\\symbol'; if (class_exists($class)) { $form = self::$formExtends ? self::$formExtends : new $class(); } else { $class = '\\addons\\includes' . $class; if (class_exists($class)) { $form = self::$formExtends ? self::$formExtends : new $class(); } else { error::page("form {$class} not exist"); } } if (isset($form->{$fname[1]})) { return $form->{$fname[1]}; return null; } else { error::page("form extend {$fname['1']}"); } } elseif (preg_match("/^\\@([^\\.]*)\\.(.*)\$/", $name, $fname)) { $s_function = "get" . ucfirst($fname[1]); $table = \lib\sql\table::$s_function($fname[2]); if ($table) { $form = new $this(); foreach ($table as $key => $value) { if (isset($value->closure) && isset($value->closure->form)) { $form->make($value->closure->form, $key); } } // var_dump($form); $form->add('submit', 'submit')->value(T_('submit'))->class('button primary row-clear'); $args = func_get_args(); if (isset($args[2])) { $form->submit->value($args[2]); } // if(isset($args->submit)) // $form->submit->value($args->submit); return $form; } return null; } elseif ($name) { $element = new \lib\form\maker($name); return $element; } else { return new $this(); } }