public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     $selectedRoleId = $session->get('selected-role-id');
     //ACTIONS
     $actions = ActionFactory::create();
     $datahandler = DatahandlerFactory::create('D_UpdateActions');
     $data = $datahandler->setIndata($actions);
     //REDIRECTOR
     $redirector = RedirectorFactory::create();
     $redirector->redirectTo('index.php?selected-role-id=' . $selectedRoleId . '&A_ReadActionsWithStatus');
 }
Exemplo n.º 2
0
 /**
  * Despacha a la acción correspondiente al request. Luego de la ejecución devuelve la referencia a la
  * acción.
  *
  * @access public
  * @return (object) referencia a la acción creada
  */
 function dispatch()
 {
     // Tomar la accion que viene por GET
     $action = $_GET['accion'];
     // Buscar el path de la clase para la accion correspondiente o un path por defecto
     $actionFactory = new ActionFactory($action);
     $actionParams = $actionFactory->create();
     $class_name = $actionParams['clase'];
     $modulo = $actionParams['modulo'];
     $action_name = $actionParams['nombre'];
     // Incluir el archivo con la clase
     include_once 'acciones/' . $modulo . '/accion.' . $class_name . '.php';
     // Crear la clase de la accion correspondiente
     eval('$action = new $class_name;');
     $action->ejecutarCiclo();
     return $action;
 }
Exemplo n.º 3
0
 public function execute()
 {
     //SESSION
     $session = SessionFactory::create();
     if ($session->get("authenticated") == null) {
         $session->set("authenticated", false);
     }
     if ($session->get("authorized") == null) {
         $session->set("authorized", false);
     }
     //ACTIONS
     $actions = ActionFactory::create();
     //REQUESTHANDLER AND SELECTACTIONKEY
     $requestHandler = RequestHandlerFactory::create();
     $selectedActionKey = $requestHandler->getSelectedActionKey();
     //VALIDATOR
     $validator = ValidatorFactory::create();
     //REDIRECTOR
     $redirector = RedirectorFactory::create();
     ////LOGICA DE AUTENTICACIÓN Y AUTORIZACIÓN:
     //Si no está autenticado se ejecuta la acción de autenticación
     //, esto podría ser también si selecciona Authenticate
     $validator->ifFalse($session->get("authenticated"))->execute($actions['A_Authenticate']);
     //Si selecciona Logout Action se le permite ejecutar siempre.
     $validator->ifTrue($selectedActionKey == 'A_Logout')->execute($actions['A_Logout']);
     //Si después de ser autenticado entra aquí no está autenticado
     //se ejecuta Logout:
     $validator->ifFalse($session->get("authenticated"))->execute($actions['A_Logout']);
     //Si está autenticado y no autorizado se ejecuta la acción de autorización
     //(siempre se debe autorizar, para que esto sea más eficiente armar un cache en
     //session con las acciones autorizadas)
     $actions['A_Authorize']->execute();
     //Si está autenticado y no autorizado:
     // $validator->ifFalse( $authorizer->isAuthorized() )
     $validator->ifFalse($session->get("authorized"))->respond(NO_AUTHORIZED_ACTION);
     /*Si está autenticado y autorizado y quiere ejecutar login lo 
     		redirijo a default a default action:*/
     $validator->ifTrue($selectedActionKey == "A_Authenticate")->redirectTo('index.php?A_EnterFilterDataForm');
     //Si está autenticado y autorizado y ejecuta una acción no existente
     $validator->ifFalse(array_key_exists($selectedActionKey, $actions))->respond($selectedActionKey . " " . NOT_IMPLEMENTED);
     //Si está autenticado y autorizado y ejecuta una acción existente
     $actions[$selectedActionKey]->execute();
 }
Exemplo n.º 4
0
session_start();
// Se setea el maximo tiempo de espera para que no emita error de time out
ini_set("max_execution_time", MAX_EXECUTION_TIME);
// Se activa el logueo de errores en un archivo.
// Descomentar en produccion
//$error = new ErrorHandler('log/errors.log');
// Inicializar registro
if (!RegistryHelper::isInit()) {
    RegistryHelper::init();
}
RegistryHelper::registerLanguage("es");
// Tomar la accion que viene por GET
$action = !empty($_GET['accion']) ? $_GET['accion'] : 'inicio';
// Buscar el path de la clase para la accion correspondiente o un path por defecto
$actionFactory = new ActionFactory($action);
$actionParams = $actionFactory->create();
$class_name = $actionParams['clase'];
$modulo = $actionParams['modulo'];
$action_name = $actionParams['nombre'];
// Templates
if (empty($_GET['pop'])) {
    include_once "comun/inc.template_arriba.php";
} else {
    if ($_GET['pop'] == 1) {
        include_once "comun/inc.template_pop_arriba.php";
    }
}
// Si el usuario no esta logueado y no se esta solicitando la ejecucion de ningun proceso
// se guarda la URL para aplicar el patron ReturnTo luego del logueo.
if (!RegistryHelper::isUserLogged() && $action_name != 'Login') {
    //Codigo de ReturnTo
Exemplo n.º 5
0
 /**
  * Return indexer action instance
  *
  * @return ActionInterface
  */
 protected function getActionInstance()
 {
     return $this->actionFactory->create($this->getActionClass(), ['data' => $this->getData()]);
 }