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


Viewing file:     toba.php (10.61 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Clase estática que contiene shortcuts a las clases centrales del nucleo
 * Se utiliza como toba::zona()->cargar, toba::logger()->trace() o toba::tabla('mi_tabla')->...
 * @package Centrales
 */
class toba
{
    static private 
$mensajes;
    static private 
$menu;
    static private 
$contexto_ejecucion;
    static private 
$perfil_de_datos;
    static private 
$perfil_funcional;
    static private 
$cn = array();
    static private 
$consultas_php;

    
/**
     * El núcleo es la raiz de ejecución, no tiene mayor utilidad para los proyectos consumidores
     * @return toba_nucleo
     */
    
static function nucleo()
    {
        return 
toba_nucleo::instancia();
    }

    
/**
     * El contexto de ejeución permite al proyecto escribir comportamientos generales en las ventanas de inicio/fin de ejecución del pedido de página
     * @return toba_contexto_ejecucion
     */
    
static function contexto_ejecucion()
    {
        if (!isset(
self::$contexto_ejecucion)) {
            
$subclase toba::proyecto()->get_parametro('contexto_ejecucion_subclase');
            
$archivo toba::proyecto()->get_parametro('contexto_ejecucion_subclase_archivo');
            if( 
$subclase && $archivo ) {
                require_once(
$archivo);
                
self::$contexto_ejecucion = new $subclase();
            } else {
                
self::$contexto_ejecucion = new toba_contexto_ejecucion();
            }
        }
        return 
self::$contexto_ejecucion;
    }

    
/**
     * Una solicitud es la representación de una operación o item accedida por un usuario en runtime Contiene e instancia a los componentes de la operación
     * @return toba_solicitud_web
     */
    
static function solicitud()
    {
        return 
toba_nucleo::instancia()->get_solicitud();    
    }
    
    
/**
     * Una zona representa un menu alrededor de un concepto central. Utilizada por ejemplo para mostrar un menú de opciones relacionado con un cliente particular.
     * @return toba_zona
     */
    
static function zona()
    {
        return 
toba_nucleo::instancia()->get_solicitud()->zona();
    }
    
    
/**
     * Clase que se encarga de mostrar el menú de operaciones del proyecto
     * @return toba_menu_css
     */
    
static function menu()
    {
        if (! isset(
self::$menu)) {
            
$archivo_menu toba::proyecto()->get_parametro('menu_archivo');
            
$clase basename($archivo_menu".php");
            
self::$menu = new $clase();
        }
        return 
self::$menu;
    }
    
    
/**
     * Permite construir links a esta u otras operaciones, ya sea en forma de URL u objetos que la representan
     * @return toba_vinculador
     */
    
static function vinculador()
    {
        return 
toba_vinculador::instancia();
    }
    
    
/**
     * La memoria contiene la información historica de la aplicación, enmascarando a $_GET y $_SESSION
     * @return toba_memoria
     */
    
static function memoria()
    {
        return 
toba_memoria::instancia();
    }
    
    
/**
    *    Retorna el logger de mensajes internos
    *    @return toba_logger
    */
    
static function logger()
    {
        return 
toba_logger::instancia();
    }

    
/**
    *    Retorna el logger de mensajes internos para servicios web
    *    @return toba_logger_ws
    */
    
static function logger_ws()
    {
        return 
toba_logger_ws::instancia();
    }
    
    
/**
     * Permite hacer validaciones de permisos globales particulares sobre el usuario actual
     *    @return toba_derechos
     */
    
static function derechos()
    {
        return 
toba_derechos::instancia();
    }

    
/**
     * Clase que mantiene notificaciones al usuario a mostrarse en el página actual
     * @return toba_notificacion
     */
    
static function notificacion()
    {
        return 
toba_notificacion::instancia();
    }

    
/**
     * Obtiene los mensajes del proyecto definidos en el editor, útiles para evitar fijar los mensajes del usuario en el código
     * @return toba_mensajes
     */    
    
static function mensajes()
    {
        if (!isset(
self::$mensajes)) {
            
self::$mensajes = new toba_mensajes();
        }
        return 
self::$mensajes;
    }
    
    
/**
     * Retorna una referencia a una fuente de datos declarada en el proyecto
     * @param string $id_fuente
     * @return toba_fuente_datos
     */
    
static function fuente($id_fuente=null)
    {
        return 
toba_admin_fuentes::instancia()->get_fuente($id_fuente);
    }
    
    
/**
     * Retorna una referencia a una base de datos
     * @param string $id_fuente
     * @return toba_db_postgres7
     */
    
static function db($id_fuente=null$proyecto=null)
    {
        return 
toba_admin_fuentes::instancia()->get_fuente($id_fuente$proyecto)->get_db();
    }

    
/**
     * Retorna una referencia al encriptador
     * @return toba_encriptador
     */
    
static function encriptador()
    {
        return 
toba_encriptador::instancia();    
    }

    
/**
     * Permite medir el tiempo consumido por el pedido de página, dejar marcas y opcionalmente registrarlo en la base de la instancia
     * @return toba_cronometro
     */
    
static function cronometro()
    {
        return 
toba_cronometro::instancia();    
    }

    
/**
     * Representa la sesión del usuario en la aplicacion
     * @return toba_sesion
     */
    
static function sesion()
    {
        return 
toba_manejador_sesiones::instancia()->sesion();
    }

    
/**
     * Encapsula al usuario actualmente logueado a la instancia
     * @return toba_usuario_basico
     */
    
static function usuario()
    {
        return 
toba_manejador_sesiones::instancia()->usuario();
    }
    
    
/**
     * Retorna el objeto que contiene información del proyecto toba actual
     * @return toba_proyecto
     */
    
static function proyecto()
    {
        return 
toba_proyecto::instancia();
    }
    
    
/**
     * Retorna el objeto que contiene información de la instancia toba actual
     * @return toba_instancia
     */
    
static function instancia()
    {
        return 
toba_instancia::instancia();
    }    
    
    
/**
     * Retorna el objeto que contiene información de la instalacion toba actual
     * @return toba_instalacion
     */
    
static function instalacion()
    {
        return 
toba_instalacion::instancia();
    }    
    
    
/**
    * @ignore
    * @return toba_manejador_sesiones
    */
    
static function manejador_sesiones()
    {
        return 
toba_manejador_sesiones::instancia();
    }        
    
    
/**
     * Retorna el objeto que contiene información de los puntos de control
     * @return toba_puntos_control
     */
    
static function puntos_control()
    {
        return 
toba_puntos_control::instancia();
    }

    
/**
     * Retorna el objeto que contiene información de los puntos de montaje
     * @return toba_pms
     */
    
static function puntos_montaje()
    {
        return 
toba_pms::instancia();
    }

    
/**
     * Retorna un componente datos_tabla de una tabla específica del sistema
     * @param string $nombre_tabla
     * @param string $fuente Fuente a la que pertenece la tabla, si no se especifica se utiliza la por defecto del proyecto
     * @param boolean $reusar Indica si se reutiliza una instancia existente o se crea un objeto nuevo. Por defecto true.
     * @return toba_datos_tabla
     */
    
static function tabla($nombre_tabla$fuente null$reusar true)
    {
        if(!isset(
$fuente)) {
            
$fuente toba_admin_fuentes::get_fuente_predeterminada(true);    
        }
        
$id = array();
        
$id['proyecto'] = toba_proyecto::get_id();
        
$id['componente'] = toba_admin_fuentes::instancia()->get_fuente($fuente)->get_id_datos_tabla($nombre_tabla);
        
//Se pide el dt con el cache activado asi evita duplicar las instancias
        
$comp toba_constructor::get_runtime($id'toba_datos_tabla'$reusar);

        if (! 
$comp->inicializado()) {
            
$comp->inicializar();
        }
        return 
$comp;
    }

    
/**
     * Retorna un componente por INDICE
     * @param string $indice
     * @return toba_componente
     */
    
static function componente($indice)
    {
        
$id['proyecto'] = toba_proyecto::get_id();
        
$temp toba::proyecto()->get_id_componente_por_indice($indice$id['proyecto']);
        
$id['componente'] = $temp['componente'];
        
$comp toba_constructor::get_runtime($id$temp['clase'], true);
        if (! 
$comp->inicializado()) {
            
$comp->inicializar();
        }
        return 
$comp;
    }

    
/**
     * Retorna un componente por ID
     * @param integer $id
     * @return toba_componente
     */
    
static function componente_por_id($id)
    {
        
$id_comp['proyecto'] = toba_proyecto::get_id();
        
$id_comp['componente'] = $id;
        
$comp toba_constructor::get_runtime($id_compnulltrue);
        if (! 
$comp->inicializado()) {
            
$comp->inicializar();
        }
        return 
$comp;
    }


    
/**
     * Retorna un componente de tipo CONTROLADOR de NEGOCIO por INDICE
     * @param string $indice
     * @return toba_cn
     */
    
static function cn($indice)
    {
        
$cn self::componente($indice);
        if(! 
$cn instanceof toba_cn ) {
            throw new 
toba_error_def("Error cargando CN por INDICE. El componente identificado con la etiqueta '$indice' no es un CN.");
        }
        return 
$cn;
    }

    
/**
     * El perfil de datos permite restringir los datos que surgen desde la base de datos en base a una dimensión dada
     * @return toba_perfil_datos
     */
    
static function perfil_de_datos()
    {
        if (! isset(
self::$perfil_de_datos)) {
            
self::$perfil_de_datos = new toba_perfil_datos();
        }
        return 
self::$perfil_de_datos;
    }

    
/**
     * El perfil funcional permite agrupar derechos y restricciones a acceder a determinados elementos de un proyecto
     * @return toba_perfil_funcional
     */
    
static function perfil_funcional()
    {
        if (! isset(
self::$perfil_funcional)) {
            
self::$perfil_funcional = new toba_perfil_funcional();
        }
        return 
self::$perfil_funcional;
    }

    
/**
     * Permite programar tareas a ejecutarse automáticamente en el servidor
     * @return toba_planificador_tareas
     */
    
static function planificador_tareas($proyecto=null)
    {
        return new 
toba_planificador_tareas($proyecto);
    }
    
    
/**
     * Retorna una clase de consultas php declarada en el editor
     * @param string $clase Nombre de la clase     
     */
    
static function consulta_php($clase)
    {
        if (!isset(
self::$consultas_php[$clase])) {
            
$datos toba::proyecto()->get_info_consulta_php($clase);
            if( 
$datos['archivo'] ) {
                if (isset(
$datos['punto_montaje']) && toba::puntos_montaje()->existe_por_id($datos['punto_montaje'])) {
                    
$path_pm toba::puntos_montaje()->get_por_id($datos['punto_montaje'])->get_path_absoluto();
                    
$archivo $path_pm.'/'.$datos['archivo'];
                } else {
                    
$archivo $datos['archivo'];
                }
                require_once(
$archivo);
                if(
$datos['archivo_clase'] && $datos['archivo_clase']!=''){
                    
$clase_php $datos['archivo_clase'];
                } else {
                    
$clase_php $clase;
                }
                
self::$consultas_php[$clase] = new $clase_php();
            } else {
                throw new 
toba_error("La consulta_php solicitada no posee un archivo asociado");
            }
        }
        return 
self::$consultas_php[$clase];
    }
    
    
/**
     * Retorna un objeto capaz de encolar llamadas javascript
     * @return toba_acciones_js
     */
    
static function acciones_js()
    {
        return 
toba_acciones_js::instancia();
    }
    
    
/**
     * @return toba_servicio_web_cliente_soap
     */
    
static function servicio_web($id$opciones=array()) 
    {
        return 
toba_servicio_web_cliente_soap::conectar($id$opciones);
    }

    
/**
     * @return toba_servicio_web_cliente_rest
     */
    
static function servicio_web_rest($id$opciones=array())
    {
        return 
toba_servicio_web_cliente_rest::conectar($id$opciones);
    }

    
/**
     * Devuelve un contenedor para el manejo de gadgets
     * @return toba_contenedor_gadgets
     */
    
static function contenedor_gadgets()
    {
        return 
toba_contenedor_gadgets::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.5916 ]--