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


Viewing file:     ci_galerias_de_fotos.php (7.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class ci_galerias_de_fotos extends toba_ci
{
    protected 
$s__datos_filtro;
    protected 
$s__datos;
    protected 
$s__id_galeria;
    protected 
$s__seleccion;

    
//---- Filtro -----------------------------------------------------------------------

    
function conf__filtro(toba_ei_formulario $filtro)
    {
        if (isset(
$this->s__datos_filtro)) {
            
$filtro->set_datos($this->s__datos_filtro);
        }
    }

    function 
evt__filtro__filtrar($datos)
    {
        
$this->s__datos_filtro $datos;
    }

    function 
evt__filtro__cancelar()
    {
        unset(
$this->s__datos_filtro);
    }


    
//---- Cuadro -----------------------------------------------------------------------

    
function conf__cuadro(toba_ei_cuadro $cuadro)
    {
        if (isset(
$this->s__datos_filtro)) {
            
$filtro $this->s__datos_filtro;
            
$datos $this->dep('datos')->tabla('galeria')->get_listado($filtro);
        }else{
            
$datos $this->dep('datos')->tabla('galeria')->get_listado();
        }

        
$cuadro->set_datos($datos);
    }


    function 
evt__cuadro__eliminar($datos)
    {
        
/*
        $this->dep('datos')->resetear();
        $this->dep('datos')->cargar($datos);
        $this->dep('datos')->eliminar_todo();
        $this->dep('datos')->resetear();
        */

        
if($this->dep('datos')->tabla('galeria')->eliminar_galeria($datos['id_galeria'])){
            
toba::notificacion()->agregar("Galer&iacute;a ".$seleccion['id_galeria']." eliminada.""info");
        }

    }

    function 
evt__cuadro__seleccion($datos)
    {
        
$this->s__id_galeria $datos['id_galeria'];

        
$this->dep('datos')->cargar($datos);
        
$this->set_pantalla('pant_edicion');
    }

    
//---- Form galeria -------------------------------------------------------------------

    
function conf__formulario(toba_ei_formulario $form)
    {
        if (
$this->dep('datos')->esta_cargada()) {
            
$form->set_datos($this->dep('datos')->tabla('galeria')->get());
        } else {
            
$this->pantalla()->eliminar_evento('eliminar');
        }
    }

    function 
evt__formulario__modificacion($datos)
    {
        if (empty(
$this->s__id_galeria)) { 
            
$datos['fecha_alta']    = date("Y-m-d H:i:s");
            
$datos['usuario_alta']     = toba::usuario()->get_id();                                     
        }

        
$this->dep('datos')->tabla('galeria')->set($datos);
    }


    
//---- ML Fotos -------------------------------------------------------------------

    
function conf__ml_foto(toba_ei_formulario $form)
    {
        if (
$this->dep('datos')->tabla('foto')->esta_cargada()) {
            
//Entran a modificar
            
$datos $this->dep('datos')->tabla('foto')->get_filas(nulltrue);
            
$form->set_datos($datos);
        }
    }

    function 
evt__ml_foto__modificacion($array_datos)
    {
        
$folder_path "../www/fotos/";
        

        if (
$this->dep('datos')->esta_cargada()) { //Modificacion
            
            //ei_arbol($array_datos);

            
foreach($array_datos as $key=>$datos){

                
//if (isset($datos['apex_ei_analisis_fila']) and $datos['apex_ei_analisis_fila']=='M' and empty($datos['foto'])) {//no puede ser alta sin foto
                //    toba::notificacion()->agregar("Archivo de foto es obligatorio.", "error");
                //    return;
                //}

                
if (isset($datos['apex_ei_analisis_fila']) and $datos['apex_ei_analisis_fila']=='B') {// es baja, armamos array de eliminacion de fotos

                    
$fotos $this->dep('datos')->tabla('foto')->get_fotos_galeria($this->s__id_galeria);
                    foreach(
$fotos as $key_foto=>$foto){
                        
                        
$fotos[$key_foto]['eliminar'] = 1;
                        
$array_eliminar[$foto['id_foto']];
                        foreach(
$array_datos as $key2=>$datos2){
                            if (
$datos2['apex_ei_analisis_fila']=='M' and $datos2['id_foto'] == $foto['id_foto']) {// es modificacion
                                
$fotos[$key_foto]['eliminar'] = 0;

                                unset(
$array_eliminar[$foto['id_foto']]);
                            }
                        }                       
                    }
                    foreach(
$fotos as $foto){
                        if (
$foto['eliminar']==1) {
                            
$array_eliminar[]['foto']= $foto['foto'];
                        }                      
                    }
 

                }else{

                    
$permite_eliminar true//variable que indica que tiene al menos un dato M o A, de lo contrario, no tiene detalle

                    //foto----------------------------------------------
                    
if (isset($datos['foto']) and !empty($datos['foto']['name'])) {// Mover la imagen al servidor.
                            
$nombre_foto $key.'_'.$datos['foto']['name'];
                            
$destino$folder_path.$nombre_foto;
                            
move_uploaded_file($datos['foto']['tmp_name'], $destino ) ;
                            if ( 
is_file$destino ) ){// Le asigno solo el nombre de la imagen para que se guarde en la base y no de error
                                
$array_datos[$key]['foto'] = $nombre_foto;
                            }
                    }elseif (isset(
$datos['foto']) and empty($datos['foto']['name'])) {
                            
$array_datos[$key]['foto'] = $datos['foto']['name'];
                    
                    }else{  
//Mantener el valor de foto anterior
                            
                            
$url$this->dep('datos')->tabla('foto')->get_foto($datos['id_foto']);
                            if(empty(
$url['foto'])){
                                    
$array_datos[$key]['foto'] = $datos['foto']['name'];
                            }else{
                                    
$array_datos[$key]['foto'] = $url['foto'];
                            }
                    }
                    
//--------------------------------------------------------------

                
}
            }

            
//Si hay fotos para eliminar, las eliminamos fisicamente
            
if(count($array_eliminar)>and $permite_eliminar){
                foreach(
$array_eliminar as $foto){
                    if(
$this->dep('datos')->tabla('foto')->eliminar_archivo($foto['foto'])){
                        
toba::notificacion()->agregar("Foto ".$foto['foto']." eliminada del disco.""info");
                    }else{
                        
toba::notificacion()->agregar("Error al intentar eliminar el archivo ".$foto['foto']." del disco.""error");
                    }
                }
            }



        } else { 
//agregar

            
foreach($array_datos as $key=>$datos){

                
//foto-------------------------------------------------------
                
if (isset($datos['foto']) and !empty($datos['foto']['name'])) {// Mover foto al servidor.
                        
$nombre_foto $key.'_'.$datos['foto']['name'];
                        
$destino$folder_path.$nombre_foto;
                        
move_uploaded_file($datos['foto']['tmp_name'], $destino ) ;
                        if ( 
is_file$destino ) ){// Le asigno solo el nombre al foto para que se guarde en la base y no de error
                            
$array_datos[$key]['foto'] = $nombre_foto;
                        }
                }else{
                    
$array_datos[$key]['foto'] = $datos['foto']['name'];
                }

            }

        }

        
$this->dep('datos')->tabla('foto')->procesar_filas($array_datos);   
        
    }

    
    
//---- FUNCIONES -------------------------------------------------------------------

    
function resetear()
    {
        
$this->dep('datos')->resetear();
        
$this->set_pantalla('pant_seleccion');
    }



    
//---- EVENTOS CI -------------------------------------------------------------------

    
function evt__agregar()
    {
        
$this->set_pantalla('pant_edicion');
    }

    function 
evt__volver()
    {
        
$this->resetear();
    }

    function 
evt__eliminar()
    {
        
//$this->dep('datos')->eliminar_todo();

        
if($this->dep('datos')->tabla('galeria')->eliminar_galeria($this->s__id_galeria)){
            
toba::notificacion()->agregar("Galer&iacute;a ".$seleccion['id_galeria']." eliminada.""info");
            
$this->resetear();
        }

    }

    function 
evt__guardar()
    {
        
$this->dep('datos')->sincronizar();
        
$this->resetear();
    }

}

?>

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