!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_led/proyectos/toba_editor/php/objetos_toba/   drwxrwxr-x
Free 14.17 GB of 61.93 GB (22.89%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     asignador_objetos.php (4.1 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

class asignador_objetos
{
    protected 
$destino;
    protected 
$origen;
    
    
/**
    *    @param array Claves: objeto
    *    @param array Claves: tipo,objeto, proyecto,id_dependencia, pantalla, max_filas, min_filas
    */
    
function __construct($origen$destino)
    {
        
$this->origen $origen;
        
$this->destino $destino;
    }
    
    function 
asignar()
    {
        
toba::db('instancia')->abrir_transaccion();
        try{
            switch (
$this->destino['tipo']) {
                case 
'toba_item':
                    
$this->asignar_a_item();
                    break;
                case 
'toba_ci':
                    
$this->asignar_a_ci();
                    break;
                case 
'toba_cn':
                    
$this->asignar_a_cn();
                    break;
                case 
'toba_ci_pantalla':
                    
$this->asignar_a_pantalla_ci();
                    break;
                case 
'toba_datos_relacion':
                    
$this->asignar_a_datos_relacion();
                    break;
                default:
                    throw new 
toba_error("El destinatario del objeto ('{$this->destino['tipo']}') no es ninguno de los predefinidos");
            }
            
toba::db('instancia')->cerrar_transaccion();
        }catch(
Exception $e){
            
toba::db('instancia')->abortar_transaccion();
            throw 
$e;
        }
    }
    
    static function 
verificar_nuevo_rol($destino)
    {
        
$rs = array();
        if (isset(
$destino)) {
            
$consumidor quote($destino['objeto']);
            
$rol quote($destino['id_dependencia']);
            
$sql "SELECT 1 
                FROM apex_objeto_dependencias
                WHERE  objeto_consumidor = 
$consumidor 
                AND identificador = 
$rol;";
            
$rs toba::db('instancia')->consultar($sql);
        }
        return empty(
$rs);
    }
    
    protected function 
asignar_a_item()
    {
        
$sql 'SELECT COALESCE(MAX(orden),0) as maximo
                    FROM apex_item_objeto 
                    WHERE item='
.quote($this->destino['objeto']).' AND proyecto='.quote($this->destino['proyecto']);
        
$res consultar_fuente($sql);
        
$orden $res[0]['maximo'];
        
$sql "INSERT INTO apex_item_objeto 
                    (proyecto, item, objeto, orden) VALUES (
                        '
{$this->destino['proyecto']}', 
                        '
{$this->destino['objeto']}', 
                        '
{$this->origen['objeto']}', 
                        
$orden
                    )
            "
;
        
ejecutar_fuente($sql'instancia');
    }
    
    protected function 
asignar_a_ci()
    {
        
$sql "INSERT INTO apex_objeto_dependencias
                      (proyecto, objeto_consumidor, objeto_proveedor,  identificador)    VALUES (
                          '
{$this->destino['proyecto']}',
                          '
{$this->destino['objeto']}', 
                          '
{$this->origen['objeto']}', 
                          '
{$this->destino['id_dependencia']}'
                      ) 
                  "
;
        
ejecutar_fuente($sql'instancia');
        
//Aca obtengo la secuencia de la dependencia y la retorno.
        
$id toba::db('instancia')->recuperar_secuencia('apex_objeto_dep_seq');
        return 
$id;
    }

    protected function 
asignar_a_cn()
    {
        
$sql "INSERT INTO apex_objeto_dependencias
                      (proyecto, objeto_consumidor, objeto_proveedor,  identificador)    VALUES (
                          '
{$this->destino['proyecto']}',
                          '
{$this->destino['objeto']}', 
                          '
{$this->origen['objeto']}', 
                          '
{$this->destino['id_dependencia']}'
                      ) ;    "
;
        
ejecutar_fuente($sql'instancia');

        
//Aca obtengo la secuencia de la dependencia y la retorno.
        
$id toba::db('instancia')->recuperar_secuencia('apex_objeto_dep_seq');
        return 
$id;
    }
        
    protected function 
asignar_a_pantalla_ci()
    {
        
$dep_id $this->asignar_a_ci();
        
$sql "INSERT INTO apex_objetos_pantalla( proyecto, pantalla, objeto_ci, dep_id, orden)
        VALUES ('
{$this->destino['proyecto']}', '{$this->destino['pantalla']}',
                          '
{$this->destino['objeto']}', '$dep_id',
                            (SELECT  COALESCE(max(orden) + 1, 0)
                            FROM apex_objetos_pantalla
                            WHERE proyecto = "
.quote($this->destino['proyecto']).' AND
                                objeto_ci = '
.quote($this->destino['objeto']).' AND
                                pantalla = '
.quote($this->destino['pantalla']).' )
                        );'
;
        
ejecutar_fuente($sql'instancia');
    }
    
    protected function 
asignar_a_datos_relacion()
    {
        
$sql "INSERT INTO apex_objeto_dependencias
                      (proyecto, objeto_consumidor, objeto_proveedor, identificador, parametros_a, parametros_b)
                  VALUES (
                      '
{$this->destino['proyecto']}',
                      '
{$this->destino['objeto']}', 
                      '
{$this->origen['objeto']}', 
                      '
{$this->destino['id_dependencia']}',
                      '
{$this->destino['min_filas']}',
                      '
{$this->destino['max_filas']}'
                  ) 
              "
;
        
ejecutar_fuente($sql'instancia');        
    }
}
?>

:: 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.9777 ]--