コード例 #1
0
 function __construct($proyecto, $item)
 {
     $this->id_proyecto = $proyecto;
     $this->id_item = $item;
     $this->arbol = toba_info_editores::get_arbol_componentes_item($proyecto, $item);
 }
コード例 #2
0
 private function compilar_operaciones()
 {
     $this->manejador_interface->mensaje('Operaciones resumidas', false);
     foreach (toba_info_editores::get_lista_items() as $item) {
         $clases_creadas = array();
         //Indice para proteger no crear una dos veces
         $php = "<?php\n";
         $directorio = $this->get_dir_componentes_compilados() . '/oper';
         toba_manejador_archivos::crear_arbol_directorios($directorio);
         $nombre_archivo = toba_manejador_archivos::nombre_valido('toba_mc_oper__' . $item['id']);
         $arbol = toba_info_editores::get_arbol_componentes_item($item['proyecto'], $item['id']);
         foreach ($arbol as $componente) {
             $tipo = $componente['tipo'];
             $prefijo_clase = $tipo == 'toba_item' ? 'toba_mc_item__' : 'toba_mc_comp__';
             $nombre_clase = toba_manejador_archivos::nombre_valido($prefijo_clase . $componente['componente']);
             if (!in_array($nombre_clase, $clases_creadas)) {
                 $clase = new toba_clase_datos($nombre_clase);
                 $metadatos = toba_cargador::instancia()->get_metadatos_extendidos($componente, $tipo, $this->db);
                 $clase->agregar_metodo_datos('get_metadatos', $metadatos);
                 $php .= $clase->get_contenido();
                 $clases_creadas[] = $nombre_clase;
             }
         }
         $php .= "\n?>";
         file_put_contents($directorio . '/' . $nombre_archivo . '.php', $php);
         $this->manejador_interface->progreso_avanzar();
     }
     $this->manejador_interface->progreso_fin();
 }