!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/tdfonline/php/datos/   drwxr-xr-x
Free 14.92 GB of 61.93 GB (24.1%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     dt_apex_usuario.php (19.95 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class dt_apex_usuario extends toba_datos_tabla
{
        function 
get_listado($filtro=array())
        {
                
$where = array();
                if (isset(
$filtro['usuario'])) {
                        
$where[] = "t_au.usuario ILIKE ".quote("%{$filtro['usuario']}%");
                }
                if (isset(
$filtro['nombre'])) {
                        
$where[] = "t_au.nombre ILIKE ".quote("%{$filtro['nombre']}%");
                }
                if (isset(
$filtro['parametro_a'])) {
                        
$where[] = "t_au.parametro_a = '".$filtro['parametro_a']."'";
                }
                
                
#$and = '';
                
if (isset($filtro['usuario_grupo_acc'])) {
                        
$where[] = "t_aup.usuario_grupo_acc = '".$filtro['usuario_grupo_acc']."'";
                }else{
                        
$where[] = "t_aup.usuario_grupo_acc <> 'admin'";
                }
                
                if (isset(
$filtro['grupo_empresa'])) {
                        
$where[] = "t_aup.usuario_grupo_acc IN ('administrador', 'admin_publicidades')";
                }

                
$sql "SELECT DISTINCT
                        t_au.usuario,
                        t_au.clave,
                        t_au.nombre,
                        t_au.email,
                        t_au.autentificacion,
                        t_au.bloqueado,
                        t_au.parametro_a,
                        t_au.parametro_b,
                        t_au.parametro_c,
                        t_au.solicitud_registrar,
                        t_au.solicitud_obs_tipo_proyecto,
                        t_au.solicitud_obs_tipo,
                        t_au.solicitud_observacion,
                        t_aut.descripcion as usuario_tipodoc_nombre,
                        t_au.pre,
                        t_au.ciu,
                        t_au.suf,
                        t_au.telefono,
                        t_au.vencimiento,
                        t_au.dias,
                        t_au.hora_entrada,
                        t_au.hora_salida,
                        t_au.ip_permitida
                        FROM
                        desarrollo.apex_usuario as t_au
                        LEFT OUTER JOIN desarrollo.apex_usuario_tipodoc as t_aut ON (t_au.usuario_tipodoc = t_aut.usuario_tipodoc),
                        desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_au.usuario = t_aup.usuario
                        AND t_au.usuario <> 'toba'
                        ORDER BY t_au.nombre "
;
                        
//, t_aup.usuario_grupo_acc

                
if (count($where)>0) {
                        
$sql sql_concatenar_where($sql$where);
                }

                
$datos toba::db('tdfonline')->consultar($sql);
                
                
//---------------------------------------------------------

                
if (isset($filtro['grupo_empresa'])) {
                        foreach (
$datos as $key=>$dato) {
                                
$sql "SELECT
                                t_aup.proyecto,
                                t_aup.usuario_grupo_acc,
                                t_aup.usuario,
                                t_aup.usuario_perfil_datos
                                FROM desarrollo.apex_usuario_proyecto as t_aup
                                WHERE t_aup.proyecto = 'tdfonline'
                                AND t_aup.usuario = '"
.$dato['usuario']."'
                                ORDER BY usuario_perfil_datos"
;
                                
                                
$grupos toba::db('tdfonline')->consultar($sql);
                                
                                
$primero true;
                                if(
count($grupos)>0){
                                        
#ei_arbol($grupos,$dato['usuario']);
                                        
foreach($grupos as $grupo){
                                                if(
$primero){
                                                        
$primero false;
                                                        
$string_grupos $grupo['usuario_grupo_acc'];
                                                }else{
                                                        
$string_grupos.= ', '.$grupo['usuario_grupo_acc'];
                                                }
                                        }
                                        
$datos[$key]['grupos']   = $string_grupos;
                                }else{
                                        
$datos[$key]['grupos']   = 'sin perfil';
                                }
                        }
                }
                
                return 
$datos;

                
//---------------------------------------------------------


        
}

        function 
get_descripciones()
        {
                
$sql "SELECT usuario, nombre, email FROM desarrollo.apex_usuario ORDER BY nombre";
                return 
toba::db('tdfonline')->consultar($sql);
        }

        function 
get_administradores()
        {
                
$sql "SELECT t_au.usuario, t_au.nombre,
                        t_au.email,t_au.parametro_c,t_au.telefono,t_au.hora_entrada,t_au.hora_salida
                        FROM desarrollo.apex_usuario as t_au,  desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_aup.usuario_grupo_acc = 'administrador'
                        AND t_au.usuario = t_aup.usuario
                        ORDER BY t_au.nombre"
;
                return 
toba::db('tdfonline')->consultar($sql);
        }


        function 
get_admin_publicidades()
        {
                
$sql "SELECT t_au.usuario, t_au.nombre,
                        t_au.email,t_au.parametro_c,t_au.telefono,t_au.hora_entrada,t_au.hora_salida
                        FROM desarrollo.apex_usuario as t_au,  desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_aup.usuario_grupo_acc = 'admin_publicidades'
                        AND t_au.usuario = t_aup.usuario
                        ORDER BY t_au.nombre"
;
                return 
toba::db('tdfonline')->consultar($sql);
        }

        function 
get_clientes()
        {
                
$sql "SELECT t_au.usuario,  t_au.usuario as usuario_personal, t_au.nombre, t_au.email, t_au.parametro_a, t_au.parametro_b
                        FROM desarrollo.apex_usuario as t_au,  desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_aup.usuario_grupo_acc = 'cliente'
                        AND t_au.usuario = t_aup.usuario
                        ORDER BY t_au.nombre"
;
                return 
toba::db('tdfonline')->consultar($sql);
        }
        
        function 
get_clientes_newsletter()
        {
                
$sql "SELECT t_au.usuario,  t_au.usuario as usuario_personal, t_au.nombre, t_au.email, t_au.parametro_a, t_au.parametro_b
                        FROM desarrollo.apex_usuario as t_au,  desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_aup.usuario_grupo_acc = 'cliente'
                        AND t_au.usuario = t_aup.usuario
                        AND t_au.parametro_a = '1'
                        ORDER BY t_au.nombre"
;
                return 
toba::db('tdfonline')->consultar($sql);
        }


        function 
existe()
        {
                
$sql "SELECT count(t_au.usuario) 
                        FROM desarrollo.apex_usuario as t_au,  desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_au.usuario = t_aup.usuario 
                        --AND t_aup.usuario_grupo_acc = 'cliente'
                        ORDER BY t_au.nombre"
;
                return 
toba::db('tdfonline')->consultar($sql);
        }

        function 
get_datos($usuario)
        {
                
$sql "SELECT
                        t_au.usuario,
                        t_au.clave,
                        t_au.nombre,
                        t_au.email,
                        t_au.autentificacion,
                        t_au.bloqueado,
                        t_au.parametro_a,
                        t_au.parametro_b,
                        t_au.parametro_c,
                        t_au.solicitud_registrar,
                        t_au.solicitud_obs_tipo_proyecto,
                        t_au.solicitud_obs_tipo,
                        t_au.solicitud_observacion,
                        t_aut.descripcion as usuario_tipodoc_nombre,
                        t_au.pre,
                        t_au.ciu,
                        t_au.suf,
                        t_au.telefono,
                        t_au.vencimiento,
                        t_au.dias,
                        t_au.hora_entrada,
                        t_au.hora_salida,
                        t_au.ip_permitida,
                        t_aup.usuario_grupo_acc

                        FROM
                        desarrollo.apex_usuario as t_au
                        LEFT OUTER JOIN desarrollo.apex_usuario_tipodoc as t_aut ON (t_au.usuario_tipodoc = t_aut.usuario_tipodoc),
                        desarrollo.apex_usuario_proyecto as t_aup
                        WHERE t_aup.proyecto = 'tdfonline'
                        AND t_au.usuario = t_aup.usuario
                        AND t_au.usuario = '
$usuario' ";

                return 
toba::db('tdfonline')->consultar_fila($sql);
        }

        function 
agregar ($datos)
        {
                
//verificamos que no exista otro suario con ese nombre
                
$sql "SELECT count(t_au.usuario) as cantidad FROM desarrollo.apex_usuario as t_au
                        WHERE t_au.usuario = '"
.$datos[usuario]."'";
                
$cant toba::db('tdfonline')->consultar_fila($sql);
                if (
$cant[cantidad] == ){

                        
$sql "INSERT INTO desarrollo.apex_usuario (
                                usuario,
                                clave,
                                nombre,
                                email,
                                autentificacion,
                                bloqueado,
                                telefono,
                                ip_permitida,
                                parametro_a,
                                parametro_b
                                )
                                VALUES (
                                '"
.$datos['usuario']."',
                                '"
.$datos['clave']."',
                                '"
.$datos['nombre']."',
                                '"
.$datos['email']."',
                                'plano',
                                '"
.$datos['bloqueado']."',
                                '"
.$datos['telefono']."',
                                '"
.$datos['ip_permitida']."',
                                '"
.$datos['parametro_a']."',
                                '"
.$datos['parametro_b']."'
                                )"
;

                        
$rs toba::db('tdfonline')->ejecutar($sql);

                        if (
$rs == false){
                                return 
false;
                        }else{
                                return 
true;
                        }
                }else{
                        return 
false;
                }

        }

        function 
modificar ($datos)
        {

            
//set clave ----------------------------------------------------------------------------
            
if ($datos['clave'] == "xS34Io9gF2JD" ) {
                
$datos['clave'] = null;
            }

            if(
$datos['autentificacion'] == 'bcrypt'){ 
                
$clave     $this->encriptar_con_sal($datos['clave'], $algoritmo);
            }else{ 
//plano
                
$datos['autentificacion'] = 'plano';
                
$clave                    $datos['clave'];   //$clave = $this->encriptar_con_sal($datos['clave'], $algoritmo); 
            
}


            if (empty(
$datos['clave'])) {  //"xS34Io9gF2JD"
                    
$sql "UPDATE desarrollo.apex_usuario
                    SET nombre   = '"
.$datos['nombre']."',
                    email   = '"
.$datos['email']."',
                    bloqueado = '"
.$datos['bloqueado']."',
                    telefono = '"
.$datos['telefono']."',
                    ip_permitida = '"
.$datos['ip_permitida']."',
                    parametro_a = '"
.$datos['parametro_a']."',
                    parametro_b = '"
.$datos['parametro_b']."'
                    WHERE usuario = '"
.$datos['usuario']."'";
            }else{
                    
$sql "UPDATE desarrollo.apex_usuario
                    SET clave = '"
.$datos['clave']."',
                    autentificacion = '"
.$datos['autentificacion']."',
                    nombre   = '"
.$datos['nombre']."',
                    email   = '"
.$datos['email']."',
                    bloqueado = '"
.$datos['bloqueado']."',
                    telefono = '"
.$datos['telefono']."',
                    ip_permitida = '"
.$datos['ip_permitida']."',
                    parametro_a = '"
.$datos['parametro_a']."',
                    parametro_b = '"
.$datos['parametro_b']."'
                    WHERE usuario = '"
.$datos['usuario']."'";
            }

            
$rs toba::db('tdfonline')->ejecutar($sql);

            if (
$rs == false){
                    return 
false;
            }else{
                    return 
true;
            }

        }

        function 
modificar_cuenta_cliente($datos)
        {

                if (empty(
$datos['clave']) or $datos['clave'] == "xS34Io9gF2JD") { 
                        
$sql "UPDATE desarrollo.apex_usuario SET nombre   = '".$datos['nombre']."' WHERE usuario = '".$datos['usuario']."'";
                }else{
                        
//$algoritmo = 'sha256';
                        
$clave $datos['clave']; //$this->encriptar_con_sal($datos['clave'], $algoritmo);

                        
$sql "UPDATE desarrollo.apex_usuario
                        SET clave = '"
.$clave."',
                        autentificacion = 'plano'
                        nombre   = '"
.$datos['nombre']."'
                        WHERE usuario = '"
.$datos['usuario']."'";
                }

                
$rs toba::db('tdfonline')->ejecutar($sql);

                if (
$rs == false){
                        return 
false;
                }else{
                        return 
true;
                }

        }



        function 
agregar_inscripcion ($datos)
        {
                
//verificamos que no exista otro suario con ese nombre
                
$sql "SELECT count(t_au.usuario) as cantidad FROM desarrollo.apex_usuario as t_au
                         WHERE t_au.usuario = '"
.$datos['usuario']."'";
                
$cant toba::db('tdfonline')->consultar_fila($sql);
                if (
$cant['cantidad'] == ){

                        
$algoritmo 'sha256';
                        
$clave $this->encriptar_con_sal($datos['clave'], $algoritmo);
                        
$bloqueado 1;
                        
mt_srand((double)microtime()*1000000);//alimentamos el generador de aleatorios
                        
$parametro_a mt_rand(1000,9999);//generamos un numero aleatorio

                        
$sql "INSERT INTO desarrollo.apex_usuario (usuario, nombre, clave, autentificacion, bloqueado, parametro_a)
                                VALUES ('"
.$datos['usuario']."','".$datos['nombre']."','$clave','$algoritmo','$bloqueado', '$parametro_a')";

                        
$rs toba::db('tdfonline')->ejecutar($sql);

                        if (
$rs == false){
                                return 
false;
                        }else{
                                return 
true;
                        }
                }else{
                        return 
false;
                }

        }

                function 
confirmar_inscripcion ($datos){
                
                        
//verificamos que no exista otro suario con ese nombre
                        
$sql "SELECT count(t_au.usuario) as cantidad FROM desarrollo.apex_usuario as t_au
                                WHERE t_au.usuario = '"
.$datos['usuario']."' and t_au.parametro_a = '".$datos['parametro_a']."'";
                        
$cant toba::db('tdfonline')->consultar_fila($sql);
                        if (
$cant['cantidad'] == ){
                                
                                
$sql "UPDATE desarrollo.apex_usuario SET bloqueado = '0' WHERE usuario = '".$datos['usuario']."'";
                                
$rs toba::db('tdfonline')->ejecutar($sql);
                                if (
$rs == false){
                                        return 
false;
                                }else{
                                        return 
true;
                                }
                        }else{
                                return 
false;
                        }
                }

                function 
resetaear_parametro_a($usuario){

                        
mt_srand((double)microtime()*1000000);//alimentamos el generador de aleatorios
                        
$parametro_a mt_rand(1000,9999);//generamos un numero aleatorio

                        
$sql "UPDATE desarrollo.apex_usuario SET parametro_a = '$parametro_a' WHERE usuario = '$usuario'";
                        
$rs toba::db('tdfonline')->ejecutar($sql);
                        if (
$rs == false){
                                return 
false;
                        }else{
                                return 
$parametro_a;
                        }

                }

                function 
regenerar_clave_usuario($usuario){

                        
$caracteres "1234567890abcdefghijklmnopqrstuvwxyz";
                        
$clave_sin_encriptar "";
                        for(
$i=0$i<10$i++) {
                        
$clave_sin_encriptar .= substr($caracteres,rand(0,35),1);
                        }
                        
$algoritmo 'sha256';
                        
$clave $this->encriptar_con_sal($clave_sin_encriptar$algoritmo);

                        
$sql "UPDATE desarrollo.apex_usuario SET clave = '$clave', autentificacion  = '$algoritmo'
                        WHERE usuario = '
$usuario';";

                        
toba::db('tdfonline')->ejecutar($sql);

                        return 
$clave_sin_encriptar;
                }

        function 
encriptar_con_sal($clave$metodo)
        {
                
$sal substr(md5(uniqid(rand(), true)), 010);
                return 
$sal hash($metodo$sal $clave);
        }

        function 
actualizar_correo ($usuario$email)
        {

                
$sql "UPDATE desarrollo.apex_usuario
                        SET  email   = '"
.$email."' 
                        WHERE usuario = '"
.$usuario."'";

                
$rs toba::db('tdfonline')->ejecutar($sql);

                if (
$rs == false){
                        return 
false;
                }else{
                        return 
true;
                }
        }


        function 
eliminar_usuario($usuario)
        {
                
$sql "DELETE FROM  desarrollo.apex_usuario
                        WHERE usuario = '"
.$usuario."'
                        AND usuario <> 'toba'"
;
                        
                
$rs toba::db('tdfonline')->ejecutar($sql);

                if (
$rs == false){
                        return 
false;
                }else{
                        return 
true;
                }

        }

}
?>

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