Exemplo n.º 1
0
 /**
  * Genera el tag HTML necesario para incluir el archivo generado por GrahpViz
  * @param string $url
  * @param string $formato
  * @param string $ancho
  * @param string $alto
  */
 static function generar_sentencia_incrustacion($url, $formato, $ancho = null, $alto = null, $incluir_mapa = null, $objeto_js = null)
 {
     if (!$incluir_mapa || !($ancho && $alto)) {
         $ancho = isset($ancho) ? "width='{$ancho}'" : "";
         $alto = isset($alto) ? "height='{$alto}'" : "";
         switch ($formato) {
             case 'png':
             case 'gif':
                 echo "<img src='{$url}' {$ancho} {$alto} border='0'>";
                 break;
             case 'svg':
                 /*toba_js::cargar_consumos_globales(array("utilidades/svglib"));
                 		echo toba_js::abrir();
                 		echo "//aviso_instalacion_svg()";
                 		echo toba_js::cerrar();	*/
                 echo "<embed src='{$url}' type='image/svg+xml' {$ancho} {$alto} palette='foreground' pluginspage='http://www.adobe.com/svg/viewer/install/auto'>\n";
                 echo "</embed>";
                 break;
         }
     } else {
         //Sacamos el ratio (el lado mas largo del mapa tendrá 100px)
         /*			$ratio = ($ancho>$alto)?100/$ancho:100/$alto;
         			$alto_mapa = $alto*$ratio;
         			$ancho_mapa = $ancho*$ratio;*/
         if (substr($alto, -2) == 'px') {
             $alto = substr($alto, 0, -2);
         }
         if (substr($ancho, -2) == 'px') {
             $ancho = substr($ancho, 0, -2);
         }
         switch ($formato) {
             case 'png':
             case 'gif':
                 $imagen_real = "<img id='imagen_real_{$objeto_js}' src='{$url}' border='0'>";
                 $imagen_mapa = "<img id='imagen_mapa_{$objeto_js}' src='{$url}' border='0'>";
                 break;
             case 'svg':
                 /*toba_js::cargar_consumos_globales(array("utilidades/svglib"));
                 		echo toba_js::abrir();
                 		echo "//aviso_instalacion_svg()";
                 		echo toba_js::cerrar();	*/
                 $imagen_real = "<embed id='imagen_real_{$objeto_js}' src='{$url}' type='image/svg+xml' palette='foreground' pluginspage='http://www.adobe.com/svg/viewer/install/auto'></embed>";
                 $imagen_mapa = "<embed id='imagen_mapa_{$objeto_js}' src='{$url}' type='image/svg+xml' palette='foreground' pluginspage='http://www.adobe.com/svg/viewer/install/auto'></embed>";
                 break;
         }
         echo "\n\t\t\t<div class='ei-barra-sup ci-barra-sup ei-barra-sup-sin-botonera' style='height: 20px; width: {$ancho}px; color: white; position: relative'>\n\t\t\t\t<span id='colapsado_mapa_{$objeto_js}' style='position: absolute; width: 16px; height: 16px; left: 0px;  text-align: center; padding: 2px'>" . toba_recurso::imagen_toba('colapsado.gif', true) . "</span>\n\t\t\t\t<div style='height: 20px;position: absolute; left: 20px; width: " . ($ancho - 20) . "px'> \n\t\t\t\t\t<span id='escala_mapa_{$objeto_js}' style='position: absolute; width: 16px; height: 16px; right: 0px; text-align: center; padding: 2px; border-right: 1px solid black'>" . toba_recurso::imagen_toba('transform-move.png', true) . "</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div style='height: {$alto}px; width: {$ancho}px; position: relative'>\n\t\t\t\t<div id='marco_{$objeto_js}' style='height: {$alto}px; width: {$ancho}px; overflow: hidden; position: absolute; top: 0: left: 0;'>\n\t\t\t\t\t{$imagen_real}\n\t\t\t\t</div>\n\t\t\t\t<div id='mapa_{$objeto_js}' style='position: absolute; top: 0; left: 0; border: 1px solid black; overflow: hidden'>\n\t\t\t\t\t<div id='lupa_{$objeto_js}' style='position: absolute; top: 0: left: 0; border: 1px solid red'></div>\n\t\t\t\t\t{$imagen_mapa}\n\t\t\t\t</div>\n\t\t\t\t\n\t\t\t</div>";
         $tam_mapa = '';
         if (substr($incluir_mapa, -1) == '%') {
             $tam_mapa = ($alto < $ancho ? $alto : $ancho) * (int) substr($incluir_mapa, 0, -1) / 100;
         } elseif (strtolower(substr($incluir_mapa, -2)) == 'px') {
             $tam_mapa = substr($incluir_mapa, 0, -2);
         } else {
             $tam_mapa = $incluir_mapa;
         }
         echo toba_js::incluir(toba_recurso::js('basicos/jquery-1.9.1.min.js'));
         echo toba_js::incluir(toba_recurso::js('utilidades/jquery-ui-1.10.1.custom.min.js'));
         echo toba_js::abrir();
         echo "\n\t\t\tdocument.readyFunc = function(e) {\n\t\t\t\t\n\t\t\t\tvar img_real = document.getElementById('imagen_real_{$objeto_js}');\n\t\t\t\tif (img_real.clientHeight > 0 && img_real.clientWidth > 0) {\n\t\t\t\t\n\t\t\t\t\tvar marco = document.getElementById('marco_{$objeto_js}');\n\t\t\t\t\tvar mapa = document.getElementById('mapa_{$objeto_js}');\n\t\t\t\t\tvar escala = document.getElementById('escala_mapa_{$objeto_js}');\n\t\t\t\t\tvar colapsado = document.getElementById('colapsado_mapa_{$objeto_js}');\n\t\t\t\t\tvar lupa = document.getElementById('lupa_{$objeto_js}');\n\t\t\t\t\tvar img_mapa = document.getElementById('imagen_mapa_{$objeto_js}');\n\t\t\t\t\tvar ancho_mapa = 200 > marco.clientHeight?marco.clientHeight:200;\n\t\t\t\t\tvar ratio;\n\t\t\t\t\tvar alto_mapa;\n\t\t\t\t\tif(marco.clientHeight > img_real.clientHeight && marco.clientWidth > img_real.clientWidth) {\n\t\t\t\t\t\tescala.style.display = 'none';\n\t\t\t\t\t\tmapa.style.display = 'none';\n\t\t\t\t\t}\n\t\t\t\t\tvar escalar_{$objeto_js} = function(skipImg) {\n\t\t\t\t\t\tratio = ancho_mapa/img_real.clientWidth;\n\t\t\t\t\t\talto_mapa = img_real.clientHeight*ratio;\n\t\t\t\t\t\tif(alto_mapa > marco.clientHeight) {\n\t\t\t\t\t\t\tratio = marco.clientHeight/img_real.clientHeight;\n\t\t\t\t\t\t\talto_mapa = img_real.clientHeight*ratio;\n\t\t\t\t\t\t\tancho_mapa = img_real.clientWidth*ratio;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmapa.style.height= alto_mapa+'px';\n\t\t\t\t\t\tmapa.style.width= ancho_mapa+'px';\n\t\t\t\t\t\tescala.style.left= (ancho_mapa-39)+'px';\n\t\t\t\t\t\tif(!skipImg) {\n\t\t\t\t\t\t\timg_mapa.style.height= alto_mapa+'px';\n\t\t\t\t\t\t\timg_mapa.style.width= ancho_mapa+'px';\n\t\t\t\t\t\t\tlupa.style.height=((marco.clientHeight*ratio)-2)+'px';//-2: Hay que tener en cuenta el borde\n\t\t\t\t\t\t\tlupa.style.width=((marco.clientWidth*ratio)-2)+'px';\n\t\t\t\t\t\t\tlupa.style.top=(marco.scrollTop*ratio)+'px';\n\t\t\t\t\t\t\tlupa.style.left=(marco.scrollLeft*ratio)+'px';\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\tescalar_{$objeto_js}();\n\t\t\t\t\t\n\t\t\t\t\tlupa.date = new Date();\n\t\t\t\t\t\$(lupa).draggable({\n\t\t\t\t\t\tcontainment: 'parent',\n\t\t\t\t\t\t/*drag: function() {\n\t\t\t\t\t\t\tvar d = new Date();\n\t\t\t\t\t\t\tif(d.getTime() - lupa.date.getTime() > 100) {\n\t\t\t\t\t\t\t\tvar t = parseInt(lupa.style.top.substr(0, lupa.style.top.length-2))/ratio; \n\t\t\t\t\t\t\t\tvar l = parseInt(lupa.style.left.substr(0, lupa.style.left.length-2))/ratio;\n\t\t\t\t\t\t\t\tmarco.scrollTop = t;\n\t\t\t\t\t\t\t\tmarco.scrollLeft = l;\n\t\t\t\t\t\t\t\tlupa.date = d;\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},*/ \n\t\t\t\t\t\tstop: function() {\n\t\t\t\t\t\t\tvar t = parseInt(lupa.style.top.substr(0, lupa.style.top.length-2))/ratio; \n\t\t\t\t\t\t\tvar l = parseInt(lupa.style.left.substr(0, lupa.style.left.length-2))/ratio;\n\t\t\t\t\t\t\tmarco.scrollTop = t;\n\t\t\t\t\t\t\tmarco.scrollLeft = l;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t\$(colapsado).click(function() {\n\t\t\t\t\t\t\$(mapa).slideToggle('slow', function() {\n\t\t\t\t\t\t\tescala.style.display = this.style.display;\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\t\$(escala).draggable({\n\t\t\t\t\t\tcontainment: 'parent', \n\t\t\t\t\t\taxis: 'x',\n\t\t\t\t\t\tdrag: function() {\n\t\t\t\t\t\t\tvar left = escala.style.left;\n\t\t\t\t\t\t\tancho_mapa = parseInt(left.substr(0, left.length - 2))+39;\n\t\t\t\t\t\t\tescalar_{$objeto_js}(true);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstop: function() {\n\t\t\t\t\t\t\tescalar_{$objeto_js}();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t\$(img_mapa).click(function(event) {\n\t\t\t\t\t\tvar x = event.offsetX?event.offsetX:event.layerX;\n\t\t\t\t\t\tvar y = event.offsetY?event.offsetY:event.layerY;\n\t\t\t\t\t\tvar lh = parseInt(lupa.style.height.substr(0, lupa.style.height.length-2)); \n\t\t\t\t\t\tvar lw = parseInt(lupa.style.width.substr(0, lupa.style.width.length-2));\n\t\t\t\t\t\t\n\t\t\t\t\t\tvar l = x - (lw/2) - 1; //-1: Hay que tener en cuenta el borde \n\t\t\t\t\t\tvar t = y - (lh/2) - 1; \n\t\t\t\t\t\tif(l < 0) {\n\t\t\t\t\t\t\tl = 0;\n\t\t\t\t\t\t} else if (l + lw + 2 > ancho_mapa) {\n\t\t\t\t\t\t\tl = ancho_mapa - lw - 2;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(t < 0) {\n\t\t\t\t\t\t\tt = 0;\n\t\t\t\t\t\t} else if (t + lh + 2 > alto_mapa) {\n\t\t\t\t\t\t\tt = alto_mapa - lh - 2;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlupa.style.top = t+'px';\n\t\t\t\t\t\tlupa.style.left = l+'px';\n\t\t\t\t\t\tmarco.scrollTop = t/ratio;\n\t\t\t\t\t\tmarco.scrollLeft = l/ratio;\n\t\t\t\t\t});\n\t\t\t\t} else { \n\t\t\t\t\tsetTimeout('\$(document).ready(document.readyFunc)', 100);\n\t\t\t\t}\n\t\t\t};\n\t\t\t\$(document).ready(document.readyFunc);\n\t\t\t";
         echo toba_js::cerrar();
     }
 }
Exemplo n.º 2
0
function abrir_toba_instancia(){
	var url = '<?php 
echo toba::vinculador()->get_url('toba_usuarios', '3432', array(), array('menu' => true));
?>
';
	if ( url == '') {
		alert('No posee permisos para acceder al proyecto "toba_usuarios"!');	
		return;
	}
	var opciones = {'width': 1000, 'scrollbars' : 'yes', 'height': 650, 'resizable': 'yes'};
	abrir_popup('toba_instancia', url, opciones, null, false);
}
</script>

<?php 
$js_editor = toba_recurso::js('editor.js');
$datos = toba_editor::get_parametros_previsualizacion_js();
$parametros_previsualizacion = toba_js::arreglo($datos, true);
?>
<SCRIPT language='JavaScript1.4' type='text/javascript' src='<?php 
echo $js_editor;
?>
'></SCRIPT>
<SCRIPT language='JavaScript1.4' type='text/javascript' >
	editor.set_parametros_previsualizacion(<?php 
echo $parametros_previsualizacion;
?>
);

	var tab_actual = null;	
	function seleccionar_tab(span)
Exemplo n.º 3
0
 /**
  * Incluye una serie de librerías o consumos javascript
  * @param array $consumos Lista de consumos, un consumo es el path relativo a www/js, sin la ext. js
  */
 static function cargar_consumos_globales($consumos)
 {
     $consumos = array_unique($consumos);
     foreach ($consumos as $consumo) {
         //Esto asegura que sólo se puede cargar una vez
         if (!in_array($consumo, self::$cargados)) {
             self::$cargados[] = $consumo;
             switch ($consumo) {
                 //--> Expresiones regulares movidas a basico.js
                 case 'ereg_nulo':
                 case 'ereg_numero':
                     break;
                     ///--> Excepciones a la validacion del cuit, al ser dinamicas no se pueden meter en un .js
                 ///--> Excepciones a la validacion del cuit, al ser dinamicas no se pueden meter en un .js
                 case 'ef_cuit_excepciones':
                     $excepciones = toba_ef_cuit::get_excepciones();
                     echo toba_js::abrir();
                     echo 'var ef_cuit_excepciones =' . toba_js::arreglo($excepciones, false);
                     echo toba_js::cerrar();
                     break;
                     //--> Por defecto carga el archivo del consumo
                 //--> Por defecto carga el archivo del consumo
                 default:
                     $instalacion = toba_instalacion::instancia();
                     if (!$instalacion->es_js_comprimido()) {
                         echo toba_js::incluir(toba_recurso::js("{$consumo}.js"));
                     } else {
                         //-- ¿Es algo comprimido?
                         $comprimido = false;
                         foreach (self::$consumos_compr as $compr) {
                             if (strpos($consumo, $compr) !== false) {
                                 $comprimido = true;
                                 break;
                             }
                         }
                         if (!$comprimido) {
                             echo toba_js::incluir(toba_recurso::js("{$consumo}.js"));
                         } elseif (!self::$comprimido_cargado) {
                             //--- Es el comprimido y nunca se cargo, entonces cargarlo
                             $archivo = 'toba_' . $instalacion->get_numero_version() . '.js';
                             echo toba_js::incluir(toba_recurso::js($archivo));
                             self::$comprimido_cargado = true;
                         }
                     }
                     break;
             }
         }
     }
 }