/** * redirect( $params ) * Redirige el flujo de ejecucion de una accion de un controller a una accion del mismo o de otro controller. * * @param $params mapa de parametros en la forma nombre=>valor. Un elemento especial es "params", que es a su vez un mapa de parametros para el request que se lanza. */ public function redirect($params) { $ctx = YuppContext::getInstance(); if (isset($params['app']) || array_key_exists('app', $params)) { // Si no me lo pasan, tengo que poner el actual. $app = $params['app']; } else { $app = $ctx->getApp(); } if (isset($params['controller']) || array_key_exists('controller', $params)) { // Si no me lo pasan, tengo que poner el actual. $controller = $params['controller']; } else { $controller = $ctx->getController(); } // FIXME: si no se le pasa action se ejecuta la accion index?? deberia tirar una excepcion si no me pasan la accion?? $action = $params['action']; if (!isset($params['params'])) { $params['params'] = array(); } return ViewCommand::execute($app, $controller, $action, $params['params'], $this->flash); }