!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/proyectos/toba_editor/php/objetos_toba/db_tablas/   drwxr-xr-x
Free 14.76 GB of 61.93 GB (23.84%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     ci_principal.php (6.77 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
require_once('objetos_toba/ci_editores_toba.php'); 
/*
    Cosas faltantes:

        - Control de que existan dependencias
        - Borrado de dependencias
        - Validacion de relaciones
*/
class ci_principal extends ci_editores_toba
{
    protected 
$s__seleccion_relacion;
    protected 
$s__seleccion_relacion_anterior;
    protected 
$s__ap_php_db;                            // La base posee registro de la existencia de una extension??
    
protected $s__ap_php_archivo;                        // El archivo de la extension existe en el sistema de archivos??
    
protected $clase_actual 'toba_datos_relacion';

    function 
ini()
    {
        
parent::ini();
        
//TODO: Bug ei_esquema con navegacion ajax en windows
        
toba_ci::set_navegacion_ajax(false);
    }
    
    function 
conf()
    {
        
parent::conf();
        
//Mecanismo para saber si la extension PHP de un AP ya exite en la DB y posee archivo
        
if ( !isset($this->s__ap_php_db) ) {
            
$this->s__ap_php_db false;
            
$this->s__ap_php_archivo false;
            if ( 
$this->componente_existe_en_db() ) {
                
$datos_ap $this->get_entidad()->tabla('prop_basicas')->get();
                if (( 
$datos_ap['ap'] == ) && $datos_ap['ap_clase'] && $datos_ap['ap_archivo']) {
                    
$this->s__ap_php_db true;    //El AP esta extendido
                
}
                if (
admin_util::existe_archivo_subclase($datos_ap['ap_archivo'])) {
                    
$this->s__ap_php_archivo true//La extension existe
                
}
            }
        }
    }

    function 
evt__procesar()
    {
        
//Se retrasa el chequeo de constraints para permitir la modificacion de ident. de dependencias
        
$this->get_entidad()->persistidor()->retrasar_constraints();
        
parent::evt__procesar();
        unset(
$this->s__ap_php_db);
        unset(
$this->s__ap_php_archivo);
    }

    
//*******************************************************************
    //*****************  PROPIEDADES BASICAS  ***************************
    //*******************************************************************

    
function conf__prop_basicas(toba_ei_formulario $form)
    {
        
$param_editor toba_componente_info::get_utileria_editor_parametros(array('proyecto'=>$this->id_objeto['proyecto'],
                                                                                
'componente'=> $this->id_objeto['objeto']),
                                                                            
'ap');
        
$eliminar_extension = !isset($this->id_objeto); //Si es alta no se puede extender
        
if ( $this->s__ap_php_db ) {
            
// Hay extension
            
$form->evento('ver_php')->vinculo()->set_parametros($param_editor);
            if ( 
$this->s__ap_php_archivo ) {
                
// El archivo de la extension existe
                
$abrir toba_componente_info::get_utileria_editor_abrir_php(array('proyecto'=>$this->id_objeto['proyecto'],
                                                                                
'componente'=> $this->id_objeto['objeto']),
                                                                            
'ap');
                
$form->set_js_abrir($abrir['js']);
                
$eliminar_extension true;
            } else {
                
$form->evento('ver_php')->set_imagen('nucleo/php_ap_inexistente.gif');
                
$form->eliminar_evento('abrir_php');
                
$form->evento('extender_ap')->vinculo()->set_parametros($param_editor);                
            }
        } else {
            
$form->eliminar_evento('ver_php');    
            
$form->eliminar_evento('abrir_php');
            
$form->evento('extender_ap')->vinculo()->set_parametros($param_editor);
        }
        if (
$eliminar_extension) {
            
$form->eliminar_evento('extender_ap');
        }
        
$form->ef('ap_archivo')->set_iconos_utilerias(admin_util::get_ef_popup_utileria_php());
        
$form->set_datos($this->get_entidad()->tabla('prop_basicas')->get());
    }

    function 
evt__prop_basicas__modificacion($datos)
    {
        
$this->get_entidad()->tabla('prop_basicas')->set($datos);
    }

    
//*******************************************************************
    //**  DEPENDENCIAS  *************************************************
    //*******************************************************************

    
function conf__dependencias()
    {
        return 
$this->get_entidad()->tabla('dependencias')->get_filas(nulltrue);    
    }

    function 
evt__dependencias__modificacion($datos)
    {
        foreach (
$datos as $id => $dep) {
            switch (
$dep[apex_ei_analisis_fila]) {
                case 
'B':
                    
// Si se borra una dependencias hay que borrar antes las relaciones donde participa
                    
$id_dep $this->get_entidad()->tabla('dependencias')->get_fila_columna($id'identificador');                    
                    
$this->eliminar_relaciones_con_dependencia($id_dep);
                    break;
                case 
'M':
                    
//Si se modifica el identificador de una dependencia, propagarlo a las relaciones
                    
$id_anterior $this->get_entidad()->tabla('dependencias')->get_fila_columna($id'identificador');
                    
$id_nuevo $dep['identificador'];
                    if (
$id_anterior != $id_nuevo) {
                        
$this->modificar_id_en_relaciones($id_anterior$id_nuevo);
                    }
                    break;
            }
        }
        
        
$this->get_entidad()->tabla('dependencias')->procesar_filas($datos);
    }

    
//*******************************************************************
    //**  RELACIONEs  *************************************************
    //*******************************************************************

    
function get_tabla_relaciones()
    {    
//Abastecimiento al CI de relaciones
        
return $this->get_entidad()->tabla('relaciones');    
    }

    function 
get_lista_tablas()
    {
        
$datos = array();
        
$tablas $this->get_entidad()->tabla('dependencias')->get_filas();
        for (
$a 0$a count($tablas); $a++) {
            
$datos[$a]['objeto'] = $tablas[$a]['identificador']. ',' .$tablas[$a]['objeto_proveedor'];
            
$datos[$a]['desc'] = $tablas[$a]['identificador'];
        }
        return 
$datos;
    }

    function 
evt__relaciones__salida()
    {
        
$this->dependencia('relaciones')->limpiar_seleccion();
    }
    
    
/**
    *    Elimina toda relacion que haga referencia a la dependencia 
    */
    
function eliminar_relaciones_con_dependencia($id_dep)
    {
        
$relaciones $this->get_entidad()->tabla('relaciones')->get_filas(array(), true);
        foreach (
$relaciones as $id => $relacion) {
            if (
$relacion['hijo_id'] == $id_dep || $relacion['padre_id'] == $id_dep) {
                
$this->get_entidad()->tabla('relaciones')->eliminar_fila($id);
            }
        }
    }
    
    function 
modificar_id_en_relaciones($anterior$nuevo)
    {
        
$relaciones $this->get_entidad()->tabla('relaciones')->get_filas(array(), true);
        foreach (
$relaciones as $id => $relacion) {
            if (
$relacion['hijo_id'] == $anterior) {
                
$this->get_entidad()->tabla('relaciones')->set_fila_columna_valor($id'hijo_id'$nuevo);
            }
            if (
$relacion['padre_id'] == $anterior) {
                
$this->get_entidad()->tabla('relaciones')->set_fila_columna_valor($id'padre_id'$nuevo);
            }
        }
    }
    
    
//---------------------------------------------------------------------------
    //--------------------    SINCRONIZACION     --------------------------------
    //---------------------------------------------------------------------------    
    
    
function conf__opciones()
    {
        return 
$this->get_entidad()->tabla('prop_basicas')->get();
    }
    
    function 
evt__opciones__modificacion($datos)
    {
        return 
$this->get_entidad()->tabla('prop_basicas')->set($datos);
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.7444 ]--