/** * Singleton * @return toba_modelo_catalogo */ static function instanciacion($refrescar = false) { if (!isset(self::$singleton) || $refrescar) { self::$singleton = new toba_modelo_catalogo(); } return self::$singleton; }
protected static function get_proyecto($proyecto) { if (PHP_SAPI != 'cli') { return toba::proyecto($proyecto); } return toba_modelo_catalogo::instanciacion()->get_proyecto(self::get_instancia(), $proyecto); //Por si en algun momento se llega a usar desde el modelo }
protected static function get_modelo_proyecto($proyecto_id) { if (!isset(self::$modelo_proyecto)) { $modelo = toba_modelo_catalogo::instanciacion(); $modelo->set_db(toba::db()); self::$modelo_proyecto = $modelo->get_proyecto(toba::instancia()->get_id(), $proyecto_id); } }
protected static function cargar_ini($id) { if (!isset(self::$ini)) { $modelo = toba_modelo_catalogo::instanciacion(); $modelo->set_db(toba::db()); $proyecto = $modelo->get_proyecto(toba::instancia()->get_id(), toba::proyecto()->get_id()); self::$ini = toba_modelo_servicio_web::get_ini_server($proyecto, $id); } }
function get_modelo_proyecto() { if (!isset($this->modelo_proyecto)) { $modelo = toba_modelo_catalogo::instanciacion(); $modelo->set_db(toba::db()); $this->modelo_proyecto = $modelo->get_proyecto(toba::instancia()->get_id(), $this->s__datos_proyecto['proyecto']); } return $this->modelo_proyecto; }
static function set_usar_perfiles_propios($id_proyecto) { //-- Si estamos en produccion guardamos un flag indicando que cambio la instancia $id_instancia = toba::instancia()->get_id(); $instancia = toba_modelo_catalogo::instanciacion()->get_instancia($id_instancia); $usa_perfiles_propios = $instancia->get_proyecto_usar_perfiles_propios($id_proyecto); if (toba::instalacion()->es_produccion()) { if (!$usa_perfiles_propios) { $instancia->set_proyecto_usar_perfiles_propios($id_proyecto, true); } //-- Re-Compilamos los metadatos de perfiles $instancia->get_proyecto($id_proyecto)->compilar_metadatos_generales_grupos_acceso(true); } }
function get_lista_proyectos() { $instancia_id = toba::instancia()->get_id(); $instancia = toba_modelo_catalogo::instanciacion()->get_instancia($instancia_id, new toba_mock_proceso_gui()); $proyectos = $instancia->get_lista_proyectos_vinculados(); $datos = array(); $a = 0; foreach ($proyectos as $x) { $datos[$a]['id'] = $x; $datos[$a]['desc'] = $x; $a++; } return $datos; }
static function get_path($ultimo_nivel = '') { if (isset(self::$proyecto) && isset(self::$instancia)) { $p = toba_modelo_catalogo::instanciacion()->get_proyecto(self::$instancia, self::$proyecto); $path = $p->get_dir() . self::$path_base; } else { $proyecto = toba_contexto_info::get_proyecto(); $path = toba::instancia()->get_path_proyecto($proyecto) . self::$path_base; } if (trim($ultimo_nivel) != '') { $path .= '/' . $ultimo_nivel; } return $path; }
function actualizar_script_roles($eliminados = array()) { $usa_permisos_por_tabla = false; foreach (toba_info_editores::get_fuentes_datos($this->dep('editor_perfiles')->get_proyecto()) as $fuente) { //Miro si al menos una fuente usa permisos por tablas. $usa_permisos_por_tabla = $usa_permisos_por_tabla || $fuente['permisos_por_tabla'] == '1'; } if ($usa_permisos_por_tabla) { $modelo = toba_modelo_catalogo::instanciacion(); $modelo->set_db(toba::db()); $proyecto = $modelo->get_proyecto(toba::instancia()->get_id(), $this->s__filtro['proyecto']); $dir = $proyecto->get_dir() . '/'; try { $proyecto->crear_script_generacion_roles_db($dir, $eliminados); toba::notificacion()->agregar('Se han generado los scripts de actualizaciĂłn de roles de base de datos.\\n Los mismos se encuentran en el directorio raiz del proyecto, recuerde ejecutarlos', 'info'); } catch (toba_error $e) { toba::logger()->debug('FallĂł la generacion del script' . $e->getMessage()); toba::notificacion()->agregar('No se ha podido generar los scripts de actualizaciĂłn de roles de base de datos, por favor utilice el comando toba proyecto roles_script', 'error'); } } }
function get_clase_extendida_nombre() { $id_proyecto = toba_contexto_info::get_proyecto(); $id_instancia = toba::instancia()->get_id(); $proyecto = toba_modelo_catalogo::instanciacion()->get_proyecto($id_instancia, $id_proyecto); if ($proyecto->tiene_clases_proyecto_extendidas()) { $replacement = $id_proyecto . '_pers_'; } elseif ($proyecto->tiene_clases_toba_extendidas()) { $replacement = $id_proyecto . '_'; } else { $replacement = 'toba_'; } $aux = str_replace('objeto_', 'toba_', $this->datos['_info']['clase']); // Se deja esta lĂnea para que conserve el mismo comportamiento return str_replace('toba_', $replacement, $aux); }
<?php echo "<pre style='background-color:white; text-align:left; border: 1px solid black; padding:5px;width: 600px;'>"; require_once 'consola/consola.php'; $clase_menu = 'menu_toba'; $directorio_comandos = toba_dir() . '/php/consola/comandos'; $consola = new consola($directorio_comandos, $clase_menu); $catalogo = toba_modelo_catalogo::instanciacion(); $id_instancia = toba::instancia()->get_id(); $id_proyecto = toba::proyecto()->get_id(); $instancia = $catalogo->get_proyecto($id_instancia, $id_proyecto, $consola); $instancia->exportar_implementacion(); echo '</pre>';
function cargar_archivo_ini($id_base) { $instalacion = toba_modelo_catalogo::instanciacion()->get_instalacion(null); if ($instalacion->existe_base_datos_definida($id_base)) { return $instalacion->get_parametros_base($id_base); } return array(); }
/** * @return toba_modelo_instancia */ function get_instancia($id) { return toba_modelo_catalogo::instanciacion()->get_instancia($id, $this->progreso); }
/** * Genera la configuracion de un servicio, importando el certificado del cliente * -p Proyecto * -s Servicio a configurar * -c Certificado del cliente a importar * -h clave=valor Identificador del cliente, varias opciones separadas por coma (,) */ function opcion__serv_configurar() { $parametros = $this->get_parametros(); $proyecto = $this->get_proyecto(); $servicio = toba_modelo_catalogo::get_servicio_web($proyecto, $this->get_servicio_serv(), $this->consola); $dir_instalacion = $proyecto->get_dir_instalacion_proyecto(); if (!toba_modelo_servicio_web::existe_archivo_certificado($proyecto)) { $this->consola->error("No existe la clave privada/certificado del proyecto en '{$dir_instalacion}/privada.key'. Puede generarlos usando el comando generar_cert"); die; } if (!isset($parametros['-c'])) { $this->consola->error("Debe incluir el parametro -c con la ruta al archivo de certificado del cliente"); die; } if (!file_exists($parametros['-c'])) { $this->consola->error("No fue posible encontrar el certificado en '{$parametros['-c']}'"); die; } if (!isset($parametros['-h'])) { $this->consola->error("Debe incluir el parametro -h con los pares clave=valor que identifican al cliente"); die; } //Parseo el ID del cliente $headers = array(); $param_headers = explode(",", trim($parametros['-h'])); foreach ($param_headers as $param_header) { list($clave, $valor) = explode("=", trim($param_header)); $headers[$clave] = $valor; } //Genera configuracion $servicio->generar_configuracion_servidor($parametros['-c'], $headers); $this->consola->mensaje("Ok. Certificado del cliente importado correctamente en el servidor"); }
/** * @return toba_modelo_instancia */ protected function get_modelo_instancia() { $catalogo = toba_modelo_catalogo::instanciacion(); $catalogo->set_db($this->get_db()); return $catalogo->get_instancia($this->get_id()); }
function ini() { $proyecto = toba_modelo_catalogo::instanciacion()->get_proyecto(toba::instancia()->get_id(), toba_editor::get_proyecto_cargado()); $this->pms = $proyecto->get_pms(); }
/** * @return toba_modelo_instalacion * @throws \Exception */ protected function cargarToba() { //--Carga nucleo toba $dir = $this->getTobaDir() . "/php"; $separador = substr(PHP_OS, 0, 3) == 'WIN' ? ';.;' : ':.:'; ini_set('include_path', ini_get('include_path') . $separador . $dir); require_once "nucleo/toba_nucleo.php"; \toba_nucleo::instancia()->iniciar_contexto_desde_consola($this->getInstanciaId(), $this->getProyectoId()); return \toba_modelo_catalogo::instanciacion()->get_instalacion(null); }
<td class='listado-vacia' width='1%' nowrap valign='middle'> <a title='Oculta el frame izq. del editor' href="javascript: mostrar_ocultar_frame();"><img src="<?php echo toba_recurso::imagen_toba('nucleo/expandir_izq.gif', false); ?> " id='imagen_manejo_frame' border='0' style='margin: 0px 0px 0px 0px;' alt='' /></a> </td> <?php echo "<td class='listado-barra-superior-tabi' title='Recarga el Proyecto en el Editor'>"; $js_cambio = "onclick='document.cambiar_proyecto.submit()'"; echo "<a href='#' {$js_cambio}>"; echo toba_recurso::imagen_toba('refrescar.png', true); echo '</a>'; echo '</td>'; echo "<td class='listado-barra-superior-tabi2'>"; $actual = toba_editor::get_proyecto_cargado(); $instancia = toba_modelo_catalogo::instanciacion()->get_instancia(toba_editor::get_id_instancia_activa(), new toba_mock_proceso_gui()); $proyectos = array(); foreach ($instancia->get_lista_proyectos_vinculados() as $proy) { $extra = toba_personalizacion::get_personalizacion_iniciada($proy) ? " (personalizado) " : ""; $proyectos[$proy] = $proy . $extra; } $js_cambio = "onchange='document.cambiar_proyecto.submit()'"; echo toba_form::select('admin_proyecto', $actual, $proyectos, 'ef-combo', $js_cambio); echo '</td>'; echo "<td class='listado-barra-superior-tabi'>"; $img = toba_recurso::imagen_toba('instanciar.png', true); echo "<a title='Previsualiza el proyecto' href='javascript: top.frame_control.editor.previsualizar()'>{$img}</a>"; echo '</td>'; ?> <td><?php
/** * Devuelve una referencia al CONVERSOR */ protected function get_conversor() { return toba_modelo_catalogo::instanciacion()->get_conversor($this->get_id_instancia_actual(), $this->consola); }
protected function get_modelo_proyecto() { if (!isset($this->modelo_proyecto)) { $catalogo = toba_modelo_catalogo::instanciacion(); $id_instancia = toba::instancia()->get_id(); $id_proyecto = toba::proyecto()->get_id(); $this->modelo_proyecto = $catalogo->get_proyecto($id_instancia, $id_proyecto); } return $this->modelo_proyecto; }
/** * @return toba_modelo_proyecto */ function get_proyecto($id) { $inst_proyecto = toba_modelo_catalogo::instanciacion()->get_proyecto($this->get_id(), $id, $this->manejador_interface); $dir_carga = $this->get_dir_carga_proyecto($id); if (!is_null($dir_carga)) { $inst_proyecto->set_dir_metadatos($dir_carga); } return $inst_proyecto; }
function get_instancia($id) { return toba_modelo_catalogo::instanciacion()->get_instancia($id, $this->manejador_interface); }
/** * * @return toba_modelo_proyecto */ static function get_modelo_proyecto() { return toba_modelo_catalogo::instanciacion()->get_proyecto(self::get_id_instancia_activa(), self::get_proyecto_cargado()); }
function ini() { $this->_proyecto_actual = toba_editor::get_proyecto_cargado(); $this->_log_comando = new administracion_proceso_gui(); $this->_instancia_actual = toba_modelo_catalogo::instanciacion()->get_instancia(toba::instancia()->get_id(), $this->_log_comando); }
function evt__refrescar() { /*$instalacion = $this->toba_instalador->get_instalacion(); $instalacion->cargar_ini(true); foreach ($instalacion->get_lista_instancias() as $id_instancia) { toba_ }*/ toba_modelo_catalogo::instanciacion(true); $this->cargar_comandos(); }
/** * Devuelve el manejador de puntos de montaje para este proyecto * @return toba_modelo_pms */ function get_pms() { return toba_modelo_catalogo::instanciacion()->get_pms($this); }