Exemple #1
0
 /**
  * Crea la zona, carga los componentes, procesa los eventos y los servicios
  */
 function procesar()
 {
     $en_mantenimiento = toba::proyecto()->get_parametro('proyecto', 'modo_mantenimiento', false) == 1;
     if ($en_mantenimiento) {
         $this->pre_proceso_servicio();
         //Saca css y no queda alert pelado
         $msg = toba::proyecto()->get_parametro('proyecto', 'mantenimiento_mensaje');
         toba::notificacion()->info($msg);
         toba::notificacion()->mostrar();
     } else {
         try {
             $this->crear_zona();
             $retrasar_headers = $this->info['basica']['retrasar_headers'];
             //Chequeo si necesito enviar la clase para google analytics (necesito ponerlo aca para que salga como basico)
             //La otra forma es agregarlo a la generacion de consumos globales al medio de la generacion de HTML
             if ($this->hacer_seguimiento() && !$this->es_item_login()) {
                 toba_js::agregar_consumos_basicos(array('basicos/google_analytics'));
             }
             // Si la pagina retrasa el envio de headers, no mando los pre_servicios ahora
             if (!$retrasar_headers) {
                 $this->pre_proceso_servicio();
             }
             $this->cargar_objetos();
             toba::cronometro()->marcar('Procesando Eventos');
             $this->procesar_eventos();
             if ($retrasar_headers) {
                 $this->pre_proceso_servicio();
             }
             toba::cronometro()->marcar('Procesando Servicio');
             $this->procesar_servicios();
         } catch (toba_error $e) {
             toba::logger()->error($e, 'toba');
             $mensaje_debug = null;
             if (toba::logger()->modo_debug()) {
                 $mensaje_debug = $e->get_mensaje_log();
             }
             toba::notificacion()->error($e->get_mensaje(), $mensaje_debug);
             toba::notificacion()->mostrar();
         }
     }
 }