/** * Enrutamiento interno * @example * Redirect::intern("module: modulo", "controller: nombre", "action: accion", "parameters: 1/2") */ public static function internal() { static $cyclic = 0; $url = Util::getParams(func_get_args()); $default = array('controller' => 'index', 'action' => 'index'); $url['parameters'] = isset($url['parameters']) ? explode('/', $url['parameters']) : array(); if (isset($url['module'])) { $vars = $url + $default; $vars['controller_path'] = $vars['module'] . '/' . $vars['controller']; } elseif (isset($url['controller'])) { $vars = $url + $default; $vars['controller_path'] = $vars['controller']; } else { $vars = $url; } if (++$cyclic > 1000) { throw new KumbiaException('Se ha detectado un enrutamiento cíclico. Esto puede causar problemas de estabilidad'); } Router::to($vars, TRUE); }
/** * Enruta el controlador actual a otro módulo, controlador, o a otra acción * @deprecated Se mantiene por legacy temporalmente * @example * Redirect::route_to("module: modulo", "controller: nombre", "action: accion", "parameters: 1/2") */ public static function route_to() { static $cyclic = 0; $url = Util::getParams(func_get_args()); if (isset($url['module'])) { $vars['module'] = $url['module']; $vars['controller'] = 'index'; $vars['action'] = 'index'; $vars['parameters'] = array(); $vars['controller_path'] = $url['module'] . '/index'; } if (isset($url['controller'])) { $vars['controller'] = $url['controller']; $vars['action'] = 'index'; $vars['parameters'] = array(); $vars['controller_path'] = isset($url['module']) ? $url['module'] . '/' . $url['controller'] : $url['controller']; } if (isset($url['action'])) { $vars['action'] = $url['action']; $vars['parameters'] = array(); } if (isset($url['parameters'])) { $vars['parameters'] = explode('/', $url['parameters']); } elseif (isset($url['id'])) { // Deprecated $vars['parameters'] = array($url['id']); } else { $vars['parameters'] = array(); } if (++$cyclic > 1000) { throw new KumbiaException('Se ha detectado un enrutamiento cíclico. Esto puede causar problemas de estabilidad'); } Router::to($vars, TRUE); }