!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/php/contrib/lib/RDILib/servicios/   drwxrwxr-x
Free 11.78 GB of 61.93 GB (19.02%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     RDIServicioRecursoPersonal.php (4.11 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * La idea de esta rama de recursos es compartir informacion entre sistemas
 *    asumiendo que todos identifican a las personas con los atributos:
 *        - TIPO DOCUMENTO
 *        - NUMERO DOCUMENTO
 *  Supone que se usan tipos consistentes entre sistemas (ej: CUIT != DNI)
 *    Esta funcionalidad queda expuesta en el metodo:
 *        - buscarCompartidos($parametros) 
 */
class RDIServicioRecursoPersonal extends RDIServicioRecurso
{   
    const 
CARPETA_RECURSOS_PERSONALES 'recursosPersonales';
    
    function 
getTipo()
    {
        return 
RDITipos::RECURSOPERSONAL;
    }
    
    function 
getParametrosObligatorios()
    {
        
$parametros parent::getParametrosObligatorios();
        
$parametros['rdirp:tipoIdentificacion'] = 'tipoIdentificacion';
        
$parametros['rdirp:numeroIdentificacion'] = 'numeroIdentificacion';
        return 
$parametros;
    }
    
    protected function 
definirUbicacion($parametros
    {        
        
// Devuelve el ID de carpeta sobre la que se va a crear el recurso
        
$tipoIdentificacion $parametros['tipoIdentificacion'];
        
$nroIdentificacion $parametros['numeroIdentificacion']; 
        
$dir_raiz '/' self::CARPETA_RECURSOS_PERSONALES;
        
$dir_personal =  $tipoIdentificacion $nroIdentificacion;
        
$this->log('RECURSO PERSONAL',"Definir ubicacion ({$dir_raiz}/{$dir_personal})");
        try{
            
// La carpeta de la persona ya existe
            
$idCarpeta $this->conector->getIdCarpeta($dir_raiz.'/'.$dir_personal);
            return 
$idCarpeta;
        } catch (
RDIExcepcionObjetoNoEncontrado $ex) {
            try {
                
// La carpeta raiz ya existe (es el primer recurso asociado la persona)
                
$idPadre $this->conector->getIdCarpeta($dir_raiz);
                
$idCarpeta $this->conector->crearCarpeta($idPadre$dir_personal);
                return 
$idCarpeta;
            } catch (
RDIExcepcionObjetoNoEncontrado $ex) {
                
// No existe ninguna carpeta (es el primer recurso personal guardado)
                
$idBase $this->conector->getIdCarpeta('/');
                
$idPadre $this->conector->crearCarpeta($idBaseself::CARPETA_RECURSOS_PERSONALES);
                
$idCarpeta $this->conector->crearCarpeta($idPadre$dir_personal);
                return 
$idCarpeta;
            }    
        }
    }
    
    function 
getParametrosOpcionales()
    {
        
$parametros parent::getParametrosOpcionales();
        
$parametros['rdirp:apellido'] = 'apellido';
        
$parametros['rdirp:nombres'] = 'nombres';
        
$parametros['rdirp:identificacionFiscal'] = 'identificacionFiscal';
        return 
$parametros;
    }
    
    
//--------------------------------------------------------------
    //-- Compartir recursos entre aplicaciones
    //--------------------------------------------------------------
    
    
protected function definirColumnasRecordsetBusquedaCompartidos()
    {
        return array(
            
RDIConector::ATRIBUTO_ID =>    $this->conector->atributo(RDIConector::ATRIBUTO_ID),
            
'aplicacion' =>            'rdi:aplicacionOrigen',
            
'instalacion' =>        'rdi:instalacionOrigen',
            
'publicado' =>            'rdi:publicado',
            
RDIConector::ATRIBUTO_CREACION => $this->conector->atributo(RDIConector::ATRIBUTO_CREACION),
        );        
    }    
    
    function 
buscarCompartidos($parametros
    {
        
//Por definicion la busqueda de compartidos 
        // es por tipo y numero de identificacion
        
if (!isset($parametros['tipoIdentificacion']) || 
            !isset(
$parametros['numeroIdentificacion'])    ) {
            throw new 
RDIExcepcion("BuscarCompartidos: Es necesario definir los parametros 'tipoIdentificacion' y 'numeroIdentificacion'");
        }
        
$tipo $this->getTipo();
        
$this->log('RECURSO PERSONAL',"Buscar recursos compartidos de tipo: $tipo");        
        
$query "    SELECT    {$this->conector->atributo(RDIConector::ATRIBUTO_ID)},
                            rdi:aplicacionOrigen,
                            rdi:instalacionOrigen,
                            rdi:publicado,
                            
{$this->conector->atributo(RDIConector::ATRIBUTO_CREACION)}
                    FROM    
$tipo
                    WHERE    rdirp:tipoIdentificacion = '
{$parametros['tipoIdentificacion']}'
                    AND        rdirp:numeroIdentificacion = '
{$parametros['numeroIdentificacion']}'
                    AND        (rdi:publicado = '1' 
                                OR    (rdi:aplicacionOrigen = '
{$this->sistema}
                                AND rdi:instalacionOrigen = '
{$this->instalacion}'))
                    ORDER BY 
{$this->conector->atributo(RDIConector::ATRIBUTO_CREACION)} DESC";
        
$cols $this->definirColumnasRecordsetBusquedaCompartidos();
        return 
$this->conector->consultaDirecta($query$cols);
    }
}

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