Ejemplo n.º 1
0
 final function __construct($id)
 {
     parent::__construct($id);
     $this->_transaccion_abierta = false;
     // Cargo las dependencias
     foreach ($this->_lista_dependencias as $dep) {
         $this->cargar_dependencia($dep);
         $this->_dependencias[$dep]->set_controlador($this, $dep);
         $this->dep($dep)->inicializar();
     }
 }
Ejemplo n.º 2
0
 /**
  *  @ignore 
  */
 function destruir()
 {
     //Esta clase es la encargada de guardarle los valores en sesion a cada relación
     //Se asume que las relaciones siempre se cargan en el mismo orden
     $this->_relaciones_mapeos = array();
     $this->_relaciones_mapeos_eliminados = array();
     foreach ($this->_relaciones as $relacion) {
         $this->_relaciones_mapeos[] = $relacion->get_mapeo_filas();
         $this->_relaciones_mapeos_eliminados[] = $relacion->get_mapeo_filas_eliminadas();
     }
     if ($this->_info_estructura['debug']) {
         $this->dump_esquema("FIN: " . $this->_info['nombre']);
     }
     parent::destruir();
 }
Ejemplo n.º 3
0
 /**
  * Alternativa para que la reutilización de un mismo componente en un mismo request se siga comportando como antes de [3050], es decir el ultimo creado pisa la memoria del 1ero.
  */
 static function set_modo_compatible_manejo_sesion($compatible)
 {
     self::$_modo_memoria_compatible = $compatible;
 }
Ejemplo n.º 4
0
 /**
  * Destructor del componente
  */
 function destruir()
 {
     $this->_memoria['eventos'] = array();
     if (isset($this->_eventos)) {
         foreach ($this->_eventos as $id => $evento) {
             $this->_memoria['eventos'][$id] = apex_ei_evt_maneja_datos;
         }
     }
     if (isset($this->_eventos_usuario_utilizados)) {
         $no_visibles = toba::perfil_funcional()->get_rf_eventos_no_visibles();
         foreach ($this->_eventos_usuario_utilizados as $id => $evento) {
             //-- Restricción funcional eventos no-visibles. No se guardan en sesion
             if (!in_array($evento->get_id_metadato(), $no_visibles)) {
                 if ($evento->maneja_datos()) {
                     $val = apex_ei_evt_maneja_datos;
                 } else {
                     $val = apex_ei_evt_no_maneja_datos;
                 }
                 $this->_memoria['eventos'][$id] = $val;
             }
         }
     }
     parent::destruir();
 }
Ejemplo n.º 5
0
 /**
  * Destructor del componente
  */
 function destruir()
 {
     //-- Recorre los blobs modificados que tienen un resource y los convierte a nombre de archivos
     foreach (array_keys($this->_blobs) as $id_fila) {
         foreach (array_keys($this->_blobs[$id_fila]) as $id_campo) {
             //-- Hay blob?
             if (isset($this->_blobs[$id_fila][$id_campo])) {
                 //-- Si no se subio a un archivo
                 if ($this->_blobs[$id_fila][$id_campo]['path'] == '') {
                     $fp = $this->_blobs[$id_fila][$id_campo]['fp'];
                     if (is_resource($fp)) {
                         //-- Lo convierte a archivo
                         rewind($fp);
                         $temp_nombre = toba::proyecto()->get_path_temp() . '/' . md5(uniqid(time()));
                         $fpd = fopen($temp_nombre, 'w');
                         stream_copy_to_stream($fp, $fpd);
                         fclose($fpd);
                         //-- Guarda el path
                         $this->_blobs[$id_fila][$id_campo]['path'] = $temp_nombre;
                     }
                 }
                 //--Borra la referencia al fp, ya esta subido al Sist.Archv
                 $this->_blobs[$id_fila][$id_campo]['fp'] = null;
             } else {
                 unset($this->_blobs[$id_fila][$id_campo]);
             }
         }
     }
     parent::destruir();
 }