Example #1
0
 /**
  *	Singleton
  * @return toba_modelo_catalogo
  */
 static function instanciacion($refrescar = false)
 {
     if (!isset(self::$singleton) || $refrescar) {
         self::$singleton = new toba_modelo_catalogo();
     }
     return self::$singleton;
 }
Example #2
0
 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);
     }
 }
Example #4
0
 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);
     }
 }
Example #5
0
 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;
 }
Example #6
0
 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);
     }
 }
Example #7
0
 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;
 }
Example #8
0
 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;
 }
Example #9
0
 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');
         }
     }
 }
Example #10
0
 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);
 }
Example #11
0
<?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>';
Example #12
0
 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();
 }
Example #13
0
 /**
  * @return toba_modelo_instancia
  */
 function get_instancia($id)
 {
     return toba_modelo_catalogo::instanciacion()->get_instancia($id, $this->progreso);
 }
Example #14
0
 /**
  *  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");
 }
Example #15
0
 /**
  * @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());
 }
Example #16
0
 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);
 }
Example #18
0
		<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 
Example #19
0
 /**
  *	Devuelve una referencia al CONVERSOR
  */
 protected function get_conversor()
 {
     return toba_modelo_catalogo::instanciacion()->get_conversor($this->get_id_instancia_actual(), $this->consola);
 }
Example #20
0
 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;
 }
Example #21
0
 /**
  * @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;
 }
Example #22
0
 function get_instancia($id)
 {
     return toba_modelo_catalogo::instanciacion()->get_instancia($id, $this->manejador_interface);
 }
Example #23
0
 /**
  *
  * @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);
 }
Example #25
0
 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();
 }
Example #26
0
 /**
  * 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);
 }