!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/nucleo/componentes/interface/efs/   drwxrwxr-x
Free 13.77 GB of 61.93 GB (22.23%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     toba_ef_combo_editable.php (4.86 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Combo editable, es una caja de texto y un div que se deplega con las opciones
 * Al presionar enter utiliza el metodo o query declarado para buscar el texto ingresado y traer las opciones coincidentes
 * @package Componentes
 * @subpackage Efs
 * @jsdoc ef_combo_editable ef_combo_editable 
 */
class toba_ef_combo_editable extends toba_ef_seleccion
{    
    protected 
$descripcion_estado;
    protected 
$solo_lectura false;
    protected 
$tamano 200;
    protected 
$habilitar_modo_filtrado false;
    protected 
$solo_permitir_selecciones true;
    
    static function 
get_lista_parametros_carga()
    {
        
$parametros toba_ef_seleccion::get_lista_parametros_carga();   
        
//$parametros[] = 'combo_editable_carga_tit';    
        
$parametros[] = 'popup_carga_desc_metodo';
        
$parametros[] = 'popup_carga_desc_clase';
        
$parametros[] = 'popup_carga_desc_include';        
        return 
$parametros;
    }
    
    static function 
get_lista_parametros()
    {
        
$parametros[] = 'punto_montaje';
        
$parametros[] = 'edit_tamano';
        
$parametros[] = 'popup_carga_desc_metodo';
        
$parametros[] = 'popup_carga_desc_clase';
        
$parametros[] = 'popup_carga_desc_include';
        return 
$parametros;
    }
    
    function 
__construct($padre,$nombre_formulario,$id,$etiqueta,$descripcion,$dato,$obligatorio,$parametros)
    {
        
//Tamaño del editable
        
if (isset($parametros['edit_tamano'])) {
            
$this->tamano $parametros['edit_tamano'];
            unset(
$parametros['edit_tamano']);    
        }
        
parent::__construct($padre,$nombre_formulario$id,$etiqueta,$descripcion,$dato,$obligatorio,$parametros);
    }    
    
    function 
carga_depende_de_estado()
    {
        return 
true;    
    }    
    
    function 
get_input()
    {
        
//-- Si tiene un estado, ponerlo como única opción
        
$this->opciones = array();
        if (isset(
$this->descripcion_estado)) {
            
$this->opciones[$this->estado] = $this->descripcion_estado;
        }
        
$html "";

        
//El estado que puede contener muchos datos debe ir en un unico string
        
$estado $this->get_estado_para_input();
        if (
$this->es_solo_lectura()) {
            
$html .= toba_form::select("",$estado$this->opciones$this->clase_css"disabled");
            
$html .= toba_form::hidden($this->id_form$estado);
            return 
$html;
        } else {
            
$tab $this->padre->get_tab_index();
            
$extra " tabindex='$tab'";
            
$js '';

            if (
$this->cuando_cambia_valor != '') {
                
$js "onchange=\"{$this->get_cuando_cambia_valor()}\"";
            }

            
$html .= toba_form::select($this->id_form$estado ,$this->opciones'ef-combo'$js $this->input_extra.$extra$this->categorias);
        }
        
$html .= $this->get_html_iconos_utilerias();
        return 
$html;
    }    

    function 
set_opciones($descripcion$maestros_cargados=true$tiene_maestros=false)
    {
        
//--- No se actualiza $this->opciones_cargadas porque los combos_editables requieren
        //--- que siempre se refresquen sus opciones porque se basan en su estado
        //--- En cambio se cambia su descripcion
        
$this->descripcion_estado $descripcion;
        if (! 
$maestros_cargados) {
            
$this->input_extra 'disabled';
        }
    }

    function 
get_descripcion_estado($tipo_salida)
    {
        if (isset(
$this->descripcion_estado)) {
            
$valor $this->descripcion_estado;
        } else {
            
$valor null;
        }
        switch (
$tipo_salida) {
            case 
'html':
            case 
'impresion_html':
                return 
"<div class='{$this->clase_css}'>$valor</div>";
            case 
'pdf':
                return 
$valor;
            case 
'excel':        
                return array(
$valornull);
        }
    }

    function 
set_modo_filtrado($estado)
    {
        
$this->habilitar_modo_filtrado $estado;
    }
    
    function 
set_modo_solo_selecciones($estado)
    {
        
$this->solo_permitir_selecciones $estado;
    }
    
    function 
cargar_estado_post()
    {
        if (! isset(
$_POST[$this->id_form])) {
            return 
false;
        }
        
$estado $_POST[$this->id_form];
        if (
$estado == apex_ef_no_seteado || $estado === '') {
            
$estado null;    
        }
        
$this->set_estado($estado);
        return 
true;
    }    
    
    protected function 
parametros_js()
    {
        
$parametros parent::parametros_js().', '.$this->tamano;
        if (!
$this->es_solo_lectura()) {
            
$parametros .= $this->habilitar_modo_filtrado?', true':', false';
            
$parametros .= $this->solo_permitir_selecciones?', true':', false';
        }
        return 
$parametros;
    }    
    
    function 
crear_objeto_js()
    {
        
$mantiene_estado_js toba_js::bool($this->mantiene_estado_cascada);
        if (! 
$this->es_solo_lectura()) {
            return 
"new ef_combo_editable({$this->parametros_js()}$mantiene_estado_js)";
        } else {
            
//--En el caso que sea solo-lectura en el server, se comporta como un combo normal en js
            
$parametros parent::parametros_js();
            return 
"new ef_combo($parametros$mantiene_estado_js)";
        }
    }

    function 
get_consumo_javascript()
    {
        
$consumos = array('efs/ef''efs/ef_combo''efs/ef_combo_editable''dhtmlxCombo/codebase/dhtmlxcombo''dhtmlxCombo/codebase/dhtmlxcommon');
        return 
$consumos;
    }

}

//########################################################################################################
//########################################################################################################

?>

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