Commit a99f2613234b88eba7d2038b4416ff19288e8594

Authored by Edmar Moretti
1 parent 77c8aa92

Criação da variável de configuração $i3geoEsquemasWL, utilizada para restringir …

…a montagem de listas de opções no sistema de administração
admin1/js/bdexplorer.js 0 → 100644
@@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
  1 +if (typeof (i3GEOadmin) === 'undefined') {
  2 + var i3GEOadmin = {};
  3 +}
  4 +i3GEOadmin.bdExplorer = {
  5 + popOverTemplate: '<div class="popover" style="width:100%; color: black; background-color:white;" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>',
  6 + templateListaPopOver: '<a href="javascript:void(0)" data-name="{{{destino}}}" data-value="{{{valor}}}" class="list-group-item">{{{valor}}}</a>',
  7 + popOver: function(destino, conteudo){
  8 + var pop = $("#modalGeral input[name='" + destino + "']").popover({
  9 + "content": conteudo,
  10 + "placement": function(a){a.style.left = "0px";},
  11 + "title": "",
  12 + "template": i3GEOadmin.bdExplorer.popOverTemplate,
  13 + "html": true,
  14 + "animation": false
  15 + });
  16 + pop.popover('toggle');
  17 + $(".popover").css("left","0px");
  18 + $(".popover").css("top","45px")
  19 + $(".popover").on('click', function (e) {
  20 + $("#modalGeral input[name='" + e.target.getAttribute('data-name') + "']").val(e.target.getAttribute('data-value'));
  21 + $(".popover").popover("destroy");
  22 + })
  23 + },
  24 + listaEsquemas: function(destino){
  25 + if($(".popover").length == 0){
  26 + $.post(
  27 + i3GEO.configura.locaplic + "/admin1/php/bdexplorer.php?funcao=listarEsquemas"
  28 + )
  29 + .done(
  30 + function(data, status){
  31 + var c = "", json = jQuery.parseJSON(data);
  32 + c = Mustache.to_html(
  33 + "{{#data}}" + i3GEOadmin.bdExplorer.templateListaPopOver + "{{/data}}",
  34 + {
  35 + "data":json,
  36 + "destino": destino,
  37 + "valor": function() {
  38 + return this;
  39 + }
  40 + }
  41 + );
  42 + i3GEOadmin.bdExplorer.popOver(destino,c);
  43 + }
  44 + )
  45 + .fail(
  46 + function(data){
  47 + i3GEOadmin.core.mostraErro(data.status + " " +data.statusText);
  48 + }
  49 + );
  50 + } else {
  51 + $(".popover").popover("destroy");
  52 + }
  53 + }
  54 +};
0 \ No newline at end of file 55 \ No newline at end of file
admin1/js/core.js
@@ -157,7 +157,12 @@ if(typeof jQuery != &#39;undefined&#39; ){ @@ -157,7 +157,12 @@ if(typeof jQuery != &#39;undefined&#39; ){
157 } 157 }
158 } 158 }
159 }; 159 };
160 - 160 + function core_parseMustacheBody (hashMustache){
  161 + var re = new RegExp("&amp;", "g"), m;
  162 + m = Mustache.render(document.body.innerHTML, i3GEO.idioma.objetoIdioma(hashMustache));
  163 + m = m.replace(re, '&');
  164 + document.body.innerHTML = m;
  165 + }
161 //autocomlete 166 //autocomlete
162 (function( $ ) { 167 (function( $ ) {
163 $.widget( "custom.combobox", $.ui.autocomplete, { 168 $.widget( "custom.combobox", $.ui.autocomplete, {
@@ -269,1662 +274,4 @@ if(typeof jQuery != &#39;undefined&#39; ){ @@ -269,1662 +274,4 @@ if(typeof jQuery != &#39;undefined&#39; ){
269 } 274 }
270 }); 275 });
271 })( jQuery ); 276 })( jQuery );
272 -}  
273 -  
274 -function cabecalhoMetaestat(id,excluir){  
275 - var botao,i,n,temp,  
276 - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>",  
277 - u = i3GEO.util.pegaCookie("i3geousuarionome"),  
278 - botoes = [  
279 - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:"../principal.html"},  
280 - {id:"arvore",titulo:$trad("arvoreCompleta",i3GEOadmin.core.dicionario),link:"estat_variavel.html"},  
281 - {id:"conexao",titulo:$trad("conexoes",i3GEOadmin.core.dicionario),link:"estat_conexao.html"},  
282 - {id:"tipo_regiao",titulo:$trad("regioes",i3GEOadmin.core.dicionario),link:"estat_tipo_regiao.html"},  
283 - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"}  
284 - ];  
285 - n = botoes.length;  
286 - for(i=0;i<n;i++){  
287 - if(botoes[i].id !== excluir){  
288 - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />';  
289 - }  
290 - }  
291 - if(!u){  
292 - u = "-";  
293 - }  
294 - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>";  
295 - ins += "</fieldset>";  
296 - temp = $i(id);  
297 - if(temp){  
298 - temp.innerHTML = ins;  
299 - for(i=0;i<n;i++){  
300 - if(excluir === "principal" && botoes[i].link)  
301 - {botoes[i].link = "html/"+botoes[i].link;}  
302 - if(botoes[i].id !== excluir){  
303 - botao = new YAHOO.widget.Button(botoes[i].id);  
304 - botao.addClass("abrir150");  
305 - if(botoes[i].link){  
306 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}');  
307 - }  
308 - else{  
309 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}');  
310 - }  
311 -  
312 - }  
313 - }  
314 - }  
315 - try{  
316 - i3GEO.login.recarrega = true;  
317 - }  
318 - catch(e){ }  
319 -}  
320 -  
321 -function cabecalhoUsuarios(id,excluir){  
322 - var botao,i,n,temp,  
323 - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>",  
324 - u = i3GEO.util.pegaCookie("i3geousuarionome"),  
325 - botoes = [  
326 - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:"../principal.html"},  
327 - {id:"operacoes",titulo:$trad("operacoes",i3GEOadmin.core.dicionario),link:"operacoes.html"},  
328 - {id:"usuarios",titulo:$trad("usuarios",i3GEOadmin.core.dicionario),link:"usuarios.html"},  
329 - {id:"gruposusuarios",titulo:$trad("gruposUsuarios",i3GEOadmin.core.dicionario),link:"gruposusuarios.html"},  
330 - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"}  
331 - ];  
332 - n = botoes.length;  
333 - for(i=0;i<n;i++){  
334 - if(botoes[i].id !== excluir){  
335 - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />';  
336 - }  
337 - }  
338 - if(!u){  
339 - u = "-";  
340 - }  
341 - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>";  
342 - ins += "</fieldset>";  
343 - temp = $i(id);  
344 - if(temp){  
345 - temp.innerHTML = ins;  
346 - for(i=0;i<n;i++){  
347 - if(excluir === "principal" && botoes[i].link)  
348 - {botoes[i].link = "html/"+botoes[i].link;}  
349 - if(botoes[i].id !== excluir){  
350 - botao = new YAHOO.widget.Button(botoes[i].id);  
351 - botao.addClass("abrir150");  
352 - if(botoes[i].link){  
353 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}');  
354 - }  
355 - else{  
356 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}');  
357 - }  
358 -  
359 - }  
360 - }  
361 - }  
362 - try{  
363 - i3GEO.login.recarrega = true;  
364 - }  
365 - catch(e){ }  
366 - //temp.style.border = "solid 1px gray";  
367 - //temp.style.padding = "10px";  
368 -}  
369 -function cabecalhoGeral(id,excluir,prefixo){  
370 - if(!prefixo){  
371 - prefixo = "";  
372 - }  
373 - var botao,i,n,temp,  
374 - ins = "<fieldset><legend>" + $trad("atalhos",i3GEOadmin.core.dicionario) + "</legend>",  
375 - u = i3GEO.util.pegaCookie("i3geousuarionome"),  
376 - botoes = [  
377 - {id:"principal",titulo:$trad("inicio",i3GEOadmin.core.dicionario),link:prefixo+"../principal.html"},  
378 - {id:"menus",titulo:$trad("menus",i3GEOadmin.core.dicionario),link:prefixo+"menus.html"},  
379 - {id:"arvore",titulo:$trad("arvore",i3GEOadmin.core.dicionario),link:prefixo+"arvore.html"},  
380 - {id:"editormapfile",titulo:$trad("mapfiles",i3GEOadmin.core.dicionario),link:prefixo+"editormapfile.html"},  
381 - {id:"login",titulo:$trad("login",i3GEOadmin.core.dicionario),js:"i3GEO.login.dialogo.abreLogin()"}  
382 - ];  
383 - n = botoes.length;  
384 - for(i=0;i<n;i++){  
385 - if(botoes[i].id !== excluir){  
386 - ins += '<input type=button id="'+botoes[i].id+'" value="'+botoes[i].titulo+'" />';  
387 - }  
388 - }  
389 - if(!u){  
390 - u = "-";  
391 - }  
392 - ins += "<div id='i3GEONomeLogin' style=width:100%; > Login: "+u+"</div>";  
393 - ins += "</fieldset>";  
394 - temp = $i(id);  
395 - temp.innerHTML = ins;  
396 - for(i=0;i<n;i++){  
397 - if(excluir === "principal" && botoes[i].link)  
398 - {botoes[i].link = "html/"+botoes[i].link;}  
399 - if(botoes[i].id !== excluir){  
400 - botao = new YAHOO.widget.Button(botoes[i].id);  
401 - botao.addClass("abrir150");  
402 - if(botoes[i].link){  
403 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){window.location = \''+botoes[i].link+'\';}');  
404 - }  
405 - else{  
406 - eval('$i("'+botoes[i].id+'-button'+'").onclick = function(){'+botoes[i].js+';}');  
407 - }  
408 -  
409 - }  
410 - }  
411 - try{  
412 - i3GEO.login.recarrega = true;  
413 - }  
414 - catch(e){ }  
415 -}  
416 -/*  
417 -Function: core_arvore  
418 -  
419 -Cria uma arvore com base em um objeto contendo as propriedades.  
420 -  
421 -No objeto com as propriedades, se "url" for igual a "", sera incluido o texto original definido em "text".  
422 -  
423 -Parametros:  
424 -  
425 -titulo - {String} cabecalho da arvore  
426 -  
427 -onde - {String} nome do id doelemento que contera a arvore  
428 -  
429 -obj - {Object} objeto contendo os parametros, exemplo  
430 -  
431 - g_listaPropriedades = {  
432 -  
433 - "propriedades": [  
434 -  
435 - { text: "p2", url: "javascript:tipoimagem()" }  
436 -  
437 - ]}  
438 -  
439 - */  
440 -function core_arvore(titulo,onde,obj){  
441 - var arvore,root,tempNode,d,c,i,linha,conteudo,j,temaNode;  
442 - if(!$i(onde)){return;}  
443 - arvore = new YAHOO.widget.TreeView(onde);  
444 - root = arvore.getRoot();  
445 - try{  
446 - tempNode = new YAHOO.widget.TextNode('', root, false);  
447 - tempNode.isLeaf = false;  
448 - tempNode.enableHighlight = false;  
449 - }  
450 - catch(e){  
451 - if(typeof(console) !== 'undefined'){console.error(e);}  
452 - }  
453 - titulo = "<table><tr><td><b>"+titulo+"</b></td><td></td></tr></table>";  
454 - d = {html:titulo};  
455 - tempNode = new YAHOO.widget.HTMLNode(d, root, true,true);  
456 - tempNode.enableHighlight = false;  
457 - c = obj.propriedades.length;  
458 - for (i=0, j=c; i<j; i++){  
459 - linha = obj.propriedades[i];  
460 - if(linha.url !== "")  
461 - {conteudo = "<a href='#' onclick='"+linha.url+"'>"+linha.text+"</a>";}  
462 - else  
463 - {conteudo = linha.text;}  
464 - d = {html:conteudo};  
465 - temaNode = new YAHOO.widget.HTMLNode(d, tempNode, false,true);  
466 - temaNode.enableHighlight = false;  
467 - }  
468 - arvore.collapseAll();  
469 - arvore.draw();  
470 -}  
471 -/*  
472 -Function: core_movimentaNo  
473 -  
474 -Movimenta um no para cima ou para baixo na &aacute;rvore.  
475 -  
476 -Essa fun&ccedil;&atilde;o utiliza uma &aacute;rvore que deve estar armazenada no objeto tree  
477 -  
478 -Parameters:  
479 -  
480 -tipo - sobe|desce  
481 -  
482 -no - objeto no que ser&aacute; movimentado  
483 -  
484 -Return:  
485 -  
486 -true|false - se o movimento ocorreu  
487 - */  
488 -function core_movimentaNo(tipo,no)  
489 -{  
490 - var movimenta = false;  
491 - if(tipo == "sobe")  
492 - {  
493 - var noanterior = no.previousSibling;  
494 - if(noanterior)  
495 - {  
496 - if(noanterior.previousSibling && noanterior.data.tipo != "etiqueta")  
497 - {  
498 - tree.popNode(no);  
499 - no.insertBefore(noanterior);  
500 - tree.draw();  
501 - movimenta = true;  
502 - }  
503 - }  
504 - }  
505 - if(tipo == "desce")  
506 - {  
507 - var noseguinte = no.nextSibling;  
508 - if(noseguinte)  
509 - {  
510 - tree.popNode(no);  
511 - no.insertAfter(noseguinte);  
512 - tree.draw();  
513 - movimenta = true;  
514 - }  
515 - }  
516 - return movimenta;  
517 -}  
518 -/*  
519 -Function: core_handleSuccess  
520 -  
521 -Processa o retorno da chamada em ajax quando tiver sucesso. Esta &eacute; uma  
522 -fun&ccedil;&atilde;o gen&eacute;rica, pouco usada.  
523 -  
524 -Parameters:  
525 -  
526 -o - string retornada pelo ajax  
527 - */  
528 -function core_handleSuccess(o)  
529 -{  
530 - //div onde ser&aacute; mostrado o log  
531 - if(!$i('logajax'))  
532 - {document.body.innerHTML += "<div id=logajax ></div>";}  
533 - log = $i('logajax');  
534 - YAHOO.log("The success handler was called. tId: " + o.tId + ".", "info", "example");  
535 - if(o.responseText !== undefined)  
536 - {  
537 - log.innerHTML = "<li>Transaction id: " + o.tId + "</li>";  
538 - log.innerHTML += "<li>HTTP status: " + o.status + "</li>";  
539 - log.innerHTML += "<li>Status code message: " + o.statusText + "</li>";  
540 - log.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></li>";  
541 - log.innerHTML += "<li>Server response: " + o.responseText + "</li>";  
542 - log.innerHTML += "<li>Argument object: Object ( [foo] => " + o.argument.foo + " [bar] => " + o.argument.bar +" )</li>";  
543 - }  
544 -}  
545 -/*  
546 -Function: core_handleFailure  
547 -  
548 -Processa o retorno da chamada em ajax quando tiver falhado.  
549 -  
550 -Parameters:  
551 -  
552 -o - string retornada pelo ajax  
553 - */  
554 -function core_handleFailure(o,texto)  
555 -{  
556 - //div onde ser&aacute; mostrado o log  
557 - //alert(texto)  
558 - if(!$i('logajax'))  
559 - {return;}  
560 - log = $i('logajax');  
561 - //YAHOO.log("The failure handler was called. tId: " + o.tId + ".", "info", "example");  
562 - if(o.responseText !== undefined)  
563 - {  
564 - if(o.statusText != "OK"){  
565 - log.innerHTML = "<ul><li>Transaction id: " + o.tId + "</li>";  
566 - log.innerHTML += "<li>HTTP status: " + o.status + "</li>";  
567 - log.innerHTML += "<li>Status code message: " + o.statusText + "</li>";  
568 - log.innerHTML += "<li>PHP message: " + texto + "</li></ul>";  
569 - }  
570 - }  
571 - if (!YAHOO.carregando.container.wait)  
572 - {  
573 - YAHOO.carregando.container.wait = new YAHOO.widget.Panel("wait",{width: "240px",fixedcenter: true,close: true,draggable: false,zindex:4,modal: true,visible: false});  
574 - YAHOO.carregando.container.wait.setHeader("Aguarde...");  
575 - YAHOO.carregando.container.wait.render(document.body);  
576 - }  
577 - else  
578 - {YAHOO.carregando.container.wait.setBody(log.innerHTML);}  
579 -}  
580 -/*  
581 -Function: core_makeRequest  
582 -  
583 -Executa uma chamada em ajax.  
584 -  
585 -Parameters:  
586 -  
587 -sUrl - url que ser&aacute; executada  
588 -  
589 -callback - fun&ccedil;&atilde;o que processar&aacute; o retorno  
590 -  
591 -tipo - GET ou POST  
592 -  
593 -postpar - parametros quando o tipo for post  
594 - */  
595 -function core_makeRequest(sUrl,callback,tipo,postpar)  
596 -{  
597 - sUrl = escape(sUrl);  
598 - re = new RegExp("%3F", "g");  
599 - sUrl = sUrl.replace(re,'?');  
600 - re = new RegExp("%3D", "g");  
601 - sUrl = sUrl.replace(re,'=');  
602 - re = new RegExp("%26", "g");  
603 - sUrl = sUrl.replace(re,'&');  
604 -  
605 - re = new RegExp("%3A", "g");  
606 - sUrl = sUrl.replace(re,':');  
607 -  
608 - if(arguments.length == 2)  
609 - {tipo = "GET";}  
610 - if(postpar){  
611 - //YAHOO.util.Connect.setDefaultPostHeader('application/json;charset=ISO-8859-1');  
612 - YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postpar);  
613 - }  
614 - else{  
615 - YAHOO.util.Connect.asyncRequest(tipo, sUrl, callback);  
616 - }  
617 -}  
618 -/*  
619 -Function: core_carregando  
620 -  
621 -Mostra uma janela de aguarde  
622 -  
623 -Parameters:  
624 -  
625 -tipo - ativa|desativa|string com uma mensagem  
626 - */  
627 -function core_carregando(tipo)  
628 -{  
629 -}  
630 -/*  
631 -Function: core_dialogoContinua  
632 -  
633 -Mostra um di&aacute;logo do tipo sim n&atilde;o  
634 -  
635 -Parameters:  
636 -  
637 -handleYes - fun&ccedil;&atilde;o para sim  
638 -  
639 -handleNo - fun&ccedil;&atilde;o para n&atilde;o  
640 -  
641 -mensagem - mensagem do di&aacute;logo  
642 -  
643 -largura - largura do di&aacute;logo em px  
644 - */  
645 -function core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho)  
646 -{  
647 - if(!cabecalho || cabecalho === ""){  
648 - cabecalho = "Tem certeza?";  
649 - }  
650 - // Instantiate the Dialog  
651 - YAHOO.namespace("continua.container");  
652 - YAHOO.continua.container.simpledialog1 =  
653 - new YAHOO.widget.SimpleDialog("simpledialog1",  
654 - { width: largura+"px",  
655 - fixedcenter: true,  
656 - visible: false,  
657 - draggable: false,  
658 - close: true,  
659 - text: mensagem,  
660 - icon: YAHOO.widget.SimpleDialog.ICON_HELP,  
661 - modal: true,  
662 - constraintoviewport: true,  
663 - buttons: [ { text:"Sim", handler:handleYes, isDefault:true },  
664 - { text:"N&atilde;o", handler:handleNo } ]  
665 - } );  
666 - YAHOO.continua.container.simpledialog1.setHeader(cabecalho);  
667 - YAHOO.continua.container.simpledialog1.render(document.body);  
668 - YAHOO.continua.container.simpledialog1.show();  
669 -}  
670 -/*  
671 -Function: core_dialogoPergunta  
672 -  
673 -Mostra um di&aacute;logo do tipo sim n&atilde;o com uma pergunta  
674 -  
675 -Parameters:  
676 -  
677 -handleYes - fun&ccedil;&atilde;o para sim  
678 -  
679 -handleNo - fun&ccedil;&atilde;o para n&atilde;o  
680 -  
681 -mensagem - mensagem do di&aacute;logo  
682 -  
683 -largura - largura do di&aacute;logo em px  
684 - */  
685 -function core_dialogoPergunta(handleYes,handleNo,mensagem,largura)  
686 -{  
687 - // Instantiate the Dialog  
688 - YAHOO.namespace("continua.container");  
689 - YAHOO.continua.container.simpledialog1 =  
690 - new YAHOO.widget.SimpleDialog("simpledialog1",  
691 - { width: largura+"px",  
692 - fixedcenter: true,  
693 - visible: false,  
694 - draggable: false,  
695 - close: true,  
696 - text: mensagem,  
697 - icon: "",  
698 - modal: true,  
699 - constraintoviewport: true,  
700 - buttons: [ { text:"Continua", handler:handleYes, isDefault:true },  
701 - { text:"Cancela", handler:handleNo } ]  
702 - } );  
703 - //YAHOO.continua.container.simpledialog1.setHeader("Tem certeza?");  
704 - YAHOO.continua.container.simpledialog1.render(document.body);  
705 - YAHOO.continua.container.simpledialog1.show();  
706 -}  
707 -/*  
708 -Function: core_ativaPainelAjuda  
709 -  
710 -Parameters:  
711 -  
712 -id - id do elemento que receber&aacute; o painel  
713 -  
714 -botao - id do elemento que dever&aacute; ser lcicado para abrir o painel  
715 - */  
716 -function core_ativaPainelAjuda(id,botao)  
717 -{  
718 - $i(id).style.display = "block";  
719 - if(!YAHOO.admin.container.panelAjuda)  
720 - {  
721 - YAHOO.admin.container.panelAjuda = new YAHOO.widget.Panel(id, { width:"350px", height:"200px",overflow:"auto", visible:false,constraintoviewport:true } );  
722 - YAHOO.admin.container.panelAjuda.render();  
723 - }  
724 - if(arguments.length == 2)  
725 - YAHOO.util.Event.addListener(botao, "click", YAHOO.admin.container.panelAjuda.show, YAHOO.admin.container.panelAjuda, true);  
726 - else  
727 - YAHOO.admin.container.panelAjuda.show();  
728 -}  
729 -/*  
730 -Function: core_ativaPainelTexto  
731 -  
732 -Parameters:  
733 -  
734 -id - id do elemento que receber&aacute; o painel  
735 - */  
736 -function core_ativaPainelTexto(id)  
737 -{  
738 - YAHOO.admin.container.panelTexto = new YAHOO.widget.Panel(id, { width:"350px", height:"200px",overflow:"auto", visible:false,constraintoviewport:true } );  
739 - YAHOO.admin.container.panelTexto.render();  
740 - YAHOO.admin.container.panelTexto.show();  
741 -}  
742 -/*  
743 -function: core_pegaPerfis  
744 -  
745 -Pega a lista de perfis  
746 -  
747 -<PEGAPERFIS>  
748 -  
749 -Parameters:  
750 -  
751 -funcao - (opcional) string com o nome da funcao que ser&aacute; executada apos a chamada ajax ter tido sucesso  
752 -  
753 -Return  
754 -  
755 -$perfis - vari&aacute;vel global com o objeto perfis  
756 -  
757 -$perfisArray - array com a lista de perfis  
758 - */  
759 -function core_pegaPerfis(funcao)  
760 -{  
761 - if(arguments.length == 0)  
762 - {funcao = "";}  
763 - //pega a lista de perfis  
764 - var sUrl = "../php/menutemas.php?funcao=pegaPerfis";  
765 - var callback =  
766 - {  
767 - success:function(o)  
768 - {  
769 - try  
770 - {  
771 - $perfis = YAHOO.lang.JSON.parse(o.responseText);  
772 - $perfisArray = new Array();  
773 - for (var i=0;i<$perfis.length;i++)  
774 - {$perfisArray.push($perfis[i].perfil);}  
775 - if(funcao != "")  
776 - eval(funcao);  
777 - }  
778 - catch(e){core_handleFailure(o,o.responseText);}  
779 - },  
780 - failure:core_handleFailure,  
781 - argument: { foo:"foo", bar:"bar" }  
782 - };  
783 - core_makeRequest(sUrl,callback);  
784 -}  
785 -/*  
786 -function: core_pegaMapfiles  
787 -  
788 -Pega a lista de mapfiles  
789 -  
790 -<LISTAMAPSTEMAS>  
791 -  
792 -Parameters:  
793 -  
794 -funcaoM - (opcional) nome da funcao que ser&aacute; executada ao terminar a busca pelos dados  
795 -  
796 -letra - (opcional) letra inicial utilizada para filtrar a lista  
797 -  
798 -filtro - (opcional) string com o filtro, por exemplo, "'download_tema' = 'SIM'"  
799 -  
800 -checaNomes - (0pcional) bate o nome do mapfile (tema) com o registro no banco  
801 -  
802 -checaNames - (opcional) bate o nome do mapfile com o nome do layer  
803 - */  
804 -function core_pegaMapfiles(funcaoM,letra,filtro,checaNomes,checaNames)  
805 -{  
806 - if(!letra){  
807 - letra = "";  
808 - }  
809 - if(!filtro){  
810 - filtro = "";  
811 - }  
812 - if(!funcaoM){  
813 - funcaoM = "";  
814 - }  
815 - if(!checaNomes){  
816 - checaNomes = "false";  
817 - }  
818 - if(!checaNames){  
819 - checaNames = "false";  
820 - }  
821 - if($i("iniciaisLetras")){  
822 - $i("iniciaisLetras").value = letra;  
823 - }  
824 - var sUrl = "../php/menutemas.php?funcao=listaMapsTemas&letra="+letra+"&filtro="+filtro+"&checaNomes="+checaNomes+"&checaNames="+checaNames;  
825 - var callbackM =  
826 - {  
827 - success:function(o)  
828 - {  
829 - try  
830 - {  
831 - $mapfiles = YAHOO.lang.JSON.parse(o.responseText);  
832 - if(funcaoM != "")  
833 - eval(funcaoM);  
834 - }  
835 - catch(e){core_handleFailure(o,o.responseText);}  
836 - },  
837 - failure:core_handleFailure,  
838 - argument: { foo:"foo", bar:"bar" }  
839 - };  
840 - core_makeRequest(sUrl,callbackM);  
841 -}  
842 -/*  
843 -Function: core_comboMapfiles  
844 -  
845 -Cria um combo para escolha do mapfile  
846 -  
847 -Parameters:  
848 -  
849 -onde - id do elemento que receber&aacute; o combo  
850 -  
851 -id - id do combo que ser&aacute; criado  
852 -  
853 -marcar - valor que ser&aacute; marcado como selecionado  
854 -  
855 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
856 -  
857 -recarrega {booblean} - for&ccedil;a recarregar o combo de mapfiles  
858 - */  
859 -function core_comboMapfiles(onde,id,marcar,funcao,recarrega)  
860 -{  
861 - if(arguments.length == 3)  
862 - {funcao = "";}  
863 - if(!recarrega)  
864 - {recarrega = false;}  
865 - if($mapfiles == "" || recarrega === true)  
866 - {  
867 - core_pegaMapfiles("core_comboMapfiles('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')");  
868 - }  
869 - else  
870 - {  
871 - if (funcao != "")  
872 - {funcao = "onchange='"+funcao+"'";}  
873 - ins = "<div class='styled-select'><select id='"+id+"' "+funcao+" >";  
874 - ins += core_comboObjeto($mapfiles,"codigo","codigo",marcar);  
875 - ins += "</select></div>";  
876 - $i(onde).innerHTML = ins;  
877 - }  
878 -}  
879 -/*  
880 -Function: core_comboPerfis  
881 -  
882 -Cria um combo para escolha de perfil  
883 -  
884 -Parameters:  
885 -  
886 -onde - id do elemento que receber&aacute; o combo  
887 -  
888 -id - id do combo que ser&aacute; criado  
889 -  
890 -marcar - valor que ser&aacute; marcado como selecionado  
891 -  
892 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
893 - */  
894 -function core_comboPerfis(onde,id,marcar,funcao)  
895 -{  
896 - if(arguments.length == 3)  
897 - {funcao = "";}  
898 - if($perfis == "")  
899 - {  
900 - core_pegaPerfis("core_comboPerfis('"+onde+"','"+id+"','"+marcar+"','"+funcao+"')");  
901 - }  
902 - else  
903 - {  
904 - if (funcao != "")  
905 - {funcao = "onchange='"+funcao+"'";}  
906 - ins = "<div class='styled-select150'><select id='"+id+"' "+funcao+" >";  
907 - ins += core_comboObjeto($perfis,"perfil","perfil",marcar);  
908 - ins += "</select></div>";  
909 - $i(onde).innerHTML = ins;  
910 - }  
911 -}  
912 -/*  
913 -Function: core_comboPranchas  
914 -  
915 -Cria um combo para escolha de pranchas de um atlas  
916 -  
917 -<PEGAPRANCHAS>  
918 -  
919 -Parameters:  
920 -  
921 -onde - id do elemento que receber&aacute; o combo  
922 -  
923 -id - id do combo que ser&aacute; criado  
924 -  
925 -marcar - valor que ser&aacute; marcado como selecionado  
926 -  
927 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
928 - */  
929 -function core_comboPranchas(onde,id,marcar,funcao,id_atlas)  
930 -{  
931 - var sUrl = "../php/atlas.php?funcao=pegaPranchas&id_atlas="+id_atlas;  
932 - var callback =  
933 - {  
934 - success:function(o)  
935 - {  
936 - try  
937 - {  
938 - var valores = YAHOO.lang.JSON.parse(o.responseText);  
939 - if(arguments.length == 3)  
940 - {funcao = "";}  
941 - if (funcao != "")  
942 - {funcao = "onchange='"+funcao+"'";}  
943 - ins = "<div class='styled-select150'><select id='"+id+"' "+funcao+" >";  
944 - ins += core_comboObjeto(valores,"id_prancha","titulo_prancha",marcar);  
945 - ins += "</select></div>";  
946 - $i(onde).innerHTML = ins;  
947 - }  
948 - catch(e){core_handleFailure(e,o.responseText);}  
949 - },  
950 - failure:core_handleFailure,  
951 - argument: { foo:"foo", bar:"bar" }  
952 - };  
953 - core_makeRequest(sUrl,callback);  
954 -}  
955 -/*  
956 -Function: core_comboGrupos  
957 -  
958 -Cria um combo para escolha de um grupo  
959 -  
960 -<PEGAGRUPOS>  
961 -  
962 -Parameters:  
963 -  
964 -onde - id do elemento que receber&aacute; o combo  
965 -  
966 -id - id do combo que ser&aacute; criado  
967 -  
968 -marcar - valor que ser&aacute; marcado como selecionado  
969 -  
970 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
971 - */  
972 -function core_comboGrupos(onde,id,marcar,funcao)  
973 -{  
974 - var sUrl = "../php/menutemas.php?funcao=pegaGrupos";  
975 - var callback =  
976 - {  
977 - success:function(o)  
978 - {  
979 - try  
980 - {  
981 - var valores = YAHOO.lang.JSON.parse(o.responseText);  
982 - if(arguments.length == 3)  
983 - {funcao = "";}  
984 - if (funcao != "")  
985 - {funcao = "onchange='"+funcao+"'";}  
986 - ins = "<select size=6 style='width:370px;font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >";  
987 - ins += core_comboObjeto(valores,"id_grupo","nome_grupo",marcar);  
988 - ins += "</select>";  
989 - $i(onde).innerHTML = ins;  
990 - }  
991 - catch(e){core_handleFailure(e,o.responseText);}  
992 - },  
993 - failure:core_handleFailure,  
994 - argument: { foo:"foo", bar:"bar" }  
995 - };  
996 - core_makeRequest(sUrl,callback);  
997 -}  
998 -/*  
999 -Function: core_comboSubGrupos  
1000 -  
1001 -Cria um combo para escolha de um sub-grupo  
1002 -  
1003 -<PEGASUBGRUPOS>  
1004 -  
1005 -Parameters:  
1006 -  
1007 -onde - id do elemento que receber&aacute; o combo  
1008 -  
1009 -id - id do combo que ser&aacute; criado  
1010 -  
1011 -marcar - valor que ser&aacute; marcado como selecionado  
1012 -  
1013 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
1014 - */  
1015 -function core_comboSubGrupos(onde,id,marcar,funcao)  
1016 -{  
1017 - var sUrl = "../php/menutemas.php?funcao=pegaSubGrupos";  
1018 - var callback =  
1019 - {  
1020 - success:function(o)  
1021 - {  
1022 - try  
1023 - {  
1024 - var valores = YAHOO.lang.JSON.parse(o.responseText);  
1025 - if(arguments.length == 3)  
1026 - {funcao = "";}  
1027 - if (funcao != "")  
1028 - {funcao = "onchange='"+funcao+"'";}  
1029 - ins = "<select size=6 style='width:370px; font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >";  
1030 - ins += core_comboObjeto(valores,"id_subgrupo","nome_subgrupo",marcar);  
1031 - ins += "</select>";  
1032 - $i(onde).innerHTML = ins;  
1033 - }  
1034 - catch(e){core_handleFailure(e,o.responseText);}  
1035 - },  
1036 - failure:core_handleFailure,  
1037 - argument: { foo:"foo", bar:"bar" }  
1038 - };  
1039 - core_makeRequest(sUrl,callback);  
1040 -}  
1041 -/*  
1042 -Function: core_comboTemas  
1043 -  
1044 -Cria um combo para escolha de um tema  
1045 -  
1046 -<PEGATEMAS2>  
1047 -  
1048 -Parameters:  
1049 -  
1050 -onde - id do elemento que receber&aacute; o combo  
1051 -  
1052 -id - id do combo que ser&aacute; criado  
1053 -  
1054 -marcar - valor que ser&aacute; marcado como selecionado  
1055 -  
1056 -funcao - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada no evento onchange  
1057 - */  
1058 -function core_comboTemas(onde,id,marcar,funcao)  
1059 -{  
1060 - var sUrl = "../php/menutemas.php?funcao=pegaTemas2";  
1061 - var callback =  
1062 - {  
1063 - success:function(o)  
1064 - {  
1065 - try  
1066 - {  
1067 - var valores = YAHOO.lang.JSON.parse(o.responseText);  
1068 - if(arguments.length == 3)  
1069 - {funcao = "";}  
1070 - if (funcao != "")  
1071 - {funcao = "onchange='"+funcao+"'";}  
1072 - ins = "<select size=6 style='width:355px;font-size:12px; margin: 0px;' id='"+id+"' "+funcao+" >";  
1073 - ins += core_comboObjeto(valores,"id_tema","nome_tema",marcar,"codigo_tema");  
1074 - ins += "</select>";  
1075 - $i(onde).innerHTML = ins;  
1076 - }  
1077 - catch(e){core_handleFailure(e,o.responseText);}  
1078 - },  
1079 - failure:core_handleFailure,  
1080 - argument: { foo:"foo", bar:"bar" }  
1081 - };  
1082 - core_makeRequest(sUrl,callback);  
1083 -}  
1084 -  
1085 -/*  
1086 -function: core_pegaTags  
1087 -  
1088 -Pega a lista de tags  
1089 -  
1090 -<PEGATAGS>  
1091 -  
1092 -Parameters:  
1093 -  
1094 -funcao - (opcional) nome da funcao que ser&aacute; executada ao terminar a busca pelos dados  
1095 - */  
1096 -function core_pegaTags(funcao)  
1097 -{  
1098 - if(arguments.length == 0)  
1099 - {funcao = "";}  
1100 - var sUrl = "../php/menutemas.php?funcao=pegaTags";  
1101 - var callback =  
1102 - {  
1103 - success:function(o)  
1104 - {  
1105 - try  
1106 - {  
1107 - $tags = YAHOO.lang.JSON.parse(o.responseText);  
1108 - if($tags == ""){$tags = " ";}  
1109 - if(funcao != "")  
1110 - eval(funcao);  
1111 - }  
1112 - catch(e){core_handleFailure(e,o.responseText);}  
1113 - },  
1114 - failure:core_handleFailure,  
1115 - argument: { foo:"foo", bar:"bar" }  
1116 - };  
1117 - core_makeRequest(sUrl,callback);  
1118 -}  
1119 -/*  
1120 -Function: core_comboTags  
1121 -  
1122 -Cria um combo para escolha de tags  
1123 -  
1124 -Parameters:  
1125 -  
1126 -onde - id do elemento que receber&aacute; o combo  
1127 -  
1128 -id - id do combo que ser&aacute; criado  
1129 -  
1130 -marcar - valor que ser&aacute; marcado como selecionado  
1131 -  
1132 -change - nome da fun&ccedil;&atilde;o do evento onchange  
1133 - */  
1134 -function core_comboTags(onde,id,change)  
1135 -{  
1136 - if($tags == "")  
1137 - {  
1138 - core_pegaTags("core_comboTags('"+onde+"','"+id+"','"+change+"')");  
1139 - }  
1140 - else  
1141 - {  
1142 - ins = "<div class='styled-select'><select onchange=\""+change+"(this.value)\" id='"+id+"' >";  
1143 - ins += core_comboObjeto($tags,"nome","nome","");  
1144 - ins += "</select></div>";  
1145 - $i(onde).innerHTML = ins;  
1146 - }  
1147 -}  
1148 -/*  
1149 -Function: gera uma janela flutuante com op&ccedil;&otilde;es de escolha baseadas em checkbox  
1150 -  
1151 -Parameters:  
1152 -  
1153 -valores - array com os valores de cada checkbox  
1154 -  
1155 -textos - array com os nomes de cada checkbox  
1156 -  
1157 -selecionados - array com os valores marcados  
1158 -  
1159 -target - objeto para receber o resultado  
1160 -  
1161 -record - objeto record (utilize "" para escapar)  
1162 -  
1163 -key - chave (nome do item) (utilize "" para escapar)  
1164 -  
1165 -unico - sim|nao indicando se apenas um pode ser escolhido  
1166 -  
1167 -funcaoFinal - (opcional) funcao que sera executada no final do processo  
1168 - */  
1169 -function core_menuCheckBox(valores,textos,selecionados,target,record,key,unico,funcaoFinal){  
1170 - if(!unico){  
1171 - unico = "nao";  
1172 - }  
1173 - function on_menuCheckBoxChange(p_oEvent){  
1174 - var cks,i,  
1175 - ins = [],  
1176 - status = "OK";  
1177 - if(p_oEvent && p_oEvent.newValue){  
1178 - status = p_oEvent.newValue.get("value");  
1179 - }  
1180 - if(status == "OK") {  
1181 - cks = $i("core_menuCK_bd").getElementsByTagName("input");  
1182 - ins = [];  
1183 - for (i=0;i<cks.length;i++){  
1184 - if(cks[i].checked){  
1185 - ins.push(cks[i].value);  
1186 - }  
1187 - }  
1188 - if(record && record != ""){  
1189 - target.innerHTML = "<pre ><p>"+ins.toString()+"</pre>";  
1190 - record.setData(key,ins.toString());  
1191 - }  
1192 - else{  
1193 - target.value = ins.toString();  
1194 - }  
1195 - }  
1196 - YAHOO.admin.container.panelCK.destroy();  
1197 - YAHOO.admin.container.panelCK = null;  
1198 - if(funcaoFinal){  
1199 - funcaoFinal.call();  
1200 - }  
1201 - };  
1202 - var novoel,ndiv,og_core,onde,ins,i,novoCK,ck,j;  
1203 - if(!YAHOO.admin.container.panelCK){  
1204 - novoel = document.createElement("div");  
1205 - novoel.id = "core_menuCK";  
1206 - ndiv = document.createElement("div");  
1207 - ndiv.className= "yui-dt-editor";  
1208 - ndiv.style.backgroundColor = "white";  
1209 - ndiv.style.height = "144px";  
1210 - ndiv.style.width = "100%";  
1211 - ndiv.style.overflow = "auto";  
1212 - ndiv.innerHTML = "<div id='core_botoesCabecalho' ></div><br>" +  
1213 - "<div id='core_menuCK_bd' style='background:white;text-align:left;border:1px solid gray'></div>";  
1214 - novoel.appendChild(ndiv);  
1215 - document.body.appendChild(novoel);  
1216 - og_core = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name:"okcancel_checkbox_id", container:"core_botoesCabecalho" });  
1217 - og_core.addButtons([  
1218 - { label: "OK", value: "OK", checked: false},  
1219 - { label: "Fecha", value: "CANCEL", checked: false }  
1220 - ]);  
1221 - og_core.on("checkedButtonChange", on_menuCheckBoxChange);  
1222 - YAHOO.admin.container.panelCK = new YAHOO.widget.Panel("core_menuCK", { draggable:false,modal:false,zindex:"100",close:false,underlay:false,width:"200px", height:"158px",overflow:"auto", visible:false,constraintoviewport:false } );  
1223 - YAHOO.admin.container.panelCK.render();  
1224 - }  
1225 - onde = $i("core_menuCK_bd");  
1226 - ins = [];  
1227 - onde.innerHTML = "";  
1228 - for (i=0;i<valores.length;i++){  
1229 - novoCK = document.createElement("div");  
1230 - novoCK.onclick = on_menuCheckBoxChange;  
1231 - ck = "";  
1232 - for(j=0;j<selecionados.length;j++){  
1233 - if(selecionados[j] == valores[i])  
1234 - ck = "CHECKED";  
1235 - }  
1236 - if(unico === "nao"){  
1237 - ins.push("<input style='cursor:pointer;' type=checkbox id='CK_"+valores[i]+"' value='"+valores[i]+"' "+ck+" />"+textos[i]+"<br>");  
1238 - }  
1239 - else{  
1240 - ins.push("<input style='position:relative;top:2px;cursor:pointer;' type=radio name=escolha_core_menuCheckBox id='CK_"+valores[i]+"' value='"+valores[i]+"' "+ck+" />"+textos[i]+"<br>");  
1241 - }  
1242 - }  
1243 - if(valores.length > 0){  
1244 - ins.push("<br>");  
1245 - novoCK.innerHTML = ins.join(" ");  
1246 - novoCK.style.width = "100%";  
1247 - onde.appendChild(novoCK);  
1248 - }  
1249 - YAHOO.admin.container.panelCK.moveTo(YAHOO.util.Dom.getX(target),YAHOO.util.Dom.getY(target));  
1250 - YAHOO.admin.container.panelCK.show();  
1251 - $i("core_menuCK_bd").getElementsByTagName("div")[0].style.textAlign = "left";  
1252 -}  
1253 -/*  
1254 -Function: core_combosimnao  
1255 -  
1256 -Retorna os itens option de um combo sim nao  
1257 - */  
1258 -function core_combosimnao(marcar)  
1259 -{  
1260 - var ins = "<option value='' ";  
1261 - if (marcar == ""){ins += "selected";}  
1262 - ins += ">---</option>";  
1263 - ins += "<option value='SIM' ";  
1264 - if (marcar == "sim" || marcar == "SIM"){ins += "selected";}  
1265 - ins += ">sim</option>";  
1266 - ins += "<option value='NAO' ";  
1267 - if (marcar == "nao" || marcar == "NAO"){ins += "selected";}  
1268 - ins += ">nao</option>";  
1269 - return(ins);  
1270 -}  
1271 -/*  
1272 -Function: core_comboObjeto  
1273 -  
1274 -Retorna os itens option de um combo baseado em um objeto json  
1275 - */  
1276 -function core_comboObjeto(obj,valor,texto,marcar,texto2,texto3)  
1277 -{  
1278 - var ins = "<option value='' ";  
1279 - var v;  
1280 - var t;  
1281 - if(!marcar && marcar != ""){  
1282 - marcar = 0;  
1283 - }  
1284 - ins += ">---</option>";  
1285 - for (var k=0;k<obj.length;k++){  
1286 - if(valor != ""){  
1287 - v = obj[k][valor];  
1288 - }  
1289 - else{  
1290 - v = obj[k];  
1291 - }  
1292 - if(texto != ""){  
1293 - t = obj[k][texto];  
1294 - }  
1295 - else{  
1296 - t = obj[k];  
1297 - }  
1298 - if(texto2){  
1299 - t += " ("+eval("obj[k]."+texto2)+")";  
1300 - }  
1301 - if(texto3){  
1302 - t += " ("+eval("obj[k]."+texto3)+")";  
1303 - }  
1304 - ins += "<option value='"+v+"' ";  
1305 - if (marcar == v){  
1306 - ins += "selected";  
1307 - }  
1308 - ins += " title='"+t+"' >"+t+"</option>";  
1309 - }  
1310 - return(ins);  
1311 -}  
1312 -/*  
1313 -Function: core_geraLinhas  
1314 -  
1315 -Gera campos de formul&aacute;rio  
1316 -  
1317 -Parameters:  
1318 -  
1319 -dados - objeto no formato {"linhas":[{titulo:"Nome do tema:",size:"50",id:"Enome_tema",value:i.nome_tema,tipo:"text",div:""}]}  
1320 - */  
1321 -function core_geraLinhas(dados)  
1322 -{  
1323 - var nparam = dados.linhas.length;  
1324 - var contaParam = 0;  
1325 - var resultado = "";  
1326 - core_geralinhasEscondeAjuda = function(id){  
1327 - var a = $i(id+"_ajuda"),  
1328 - i = $i(id+"_imgajuda");  
1329 -  
1330 - if(a.style.display == "block"){  
1331 - a.style.display = "none";  
1332 - i. src = "../../imagens/oxygen/16x16/help-about.png";  
1333 - }  
1334 - else{  
1335 - a.style.display = "block";  
1336 - i. src = "../../imagens/oxygen/16x16/help-about.png";  
1337 - }  
1338 - };  
1339 - do{  
1340 - var p = dados.linhas[contaParam];  
1341 - if(p.tipo == "text" || p.tipo == "cor" || p.tipo == "textarea"){  
1342 - if(!p.size){  
1343 - p.size = "50";  
1344 - }  
1345 - if(p.ajuda){  
1346 - var idajuda;  
1347 - if(p.id !== ""){  
1348 - idajuda = p.id + contaParam;  
1349 - }  
1350 - else{  
1351 - idajuda = "a"+parseInt(255*(Math.random()),10);  
1352 - }  
1353 - resultado += "<div onclick='core_geralinhasEscondeAjuda(\""+idajuda+"\")' style='margin-bottom:6px;cursor:pointer' title='ajuda' ><p><img style='position:relative;top:3px;' id='"+idajuda+"_imgajuda' src='../../imagens/oxygen/16x16/help-about.png' >"+p.titulo+"</p></div>";  
1354 - resultado += "<div id='"+idajuda+"_ajuda' style=display:none >"+p.ajuda+"</div>";  
1355 - }  
1356 - else{  
1357 - resultado += "<div><p>"+p.titulo+"</p>";  
1358 - }  
1359 - if(p.texto){  
1360 - resultado += "<span style=color:gray ><p>"+p.texto+"</p></span>";  
1361 - }  
1362 - if(p.id != ""){  
1363 - if(!p.value){  
1364 - p.value = "";  
1365 - }  
1366 - if(p.tipo == "textarea"){  
1367 - resultado += "<textarea style=width:90%; id="+p.id+" >"+p.value+"</textarea>";  
1368 - }  
1369 - else{  
1370 - if(p.tipo == "cor"){  
1371 - resultado += "<div class='i3geoForm i3geoFormSemIcone'><input type=text id="+p.id+" value=\""+p.value+"\" style='width:90%;'/>";  
1372 - }  
1373 - else{  
1374 - resultado += "<div class='i3geoForm i3geoFormSemIcone'><input type=text id="+p.id+" value=\""+p.value+"\" />";  
1375 - }  
1376 - }  
1377 - if(p.tipo == "cor"){  
1378 - resultado += "&nbsp;<img class='lupaBuscar' src='../../imagens/aquarela.gif' style='cursor:pointer;' onclick='core_abreCor(\"\",\""+p.id+"\");' />";  
1379 - }  
1380 - resultado += "</div>";  
1381 - }  
1382 - if(p.div){  
1383 - resultado += p.div;  
1384 - }  
1385 - resultado += "</div>";  
1386 - }  
1387 - contaParam++;  
1388 - }  
1389 - while(contaParam < nparam);  
1390 - return(resultado);  
1391 -}  
1392 -/*  
1393 -Function: core_ativaBotaoAdicionaLinha  
1394 -  
1395 -Ativa o bot&atilde;o que adiciona uma linha em uma tabela no banco de dados e na interface HTML  
1396 -  
1397 -Essa fun&ccedil;&atilde;o utiliza o objeto datatable que deve estar armazenado na vari&aacute;vel myDataTable  
1398 -  
1399 -Parameters:  
1400 -  
1401 -myDataTable - objeto dataTable do YUI  
1402 -  
1403 -sUrl - url com o programa que ser&aacute; executado no servidor  
1404 -  
1405 -idBotao - id do elemento com o bot&atilde;o  
1406 -  
1407 -nomeFuncao - nome da fun&ccedil;&atilde;o que ser&aacute; executada ao concluir a adi&ccedil;&atilde;o da linha  
1408 - */  
1409 -function core_ativaBotaoAdicionaLinha(sUrl,idBotao,nomeFuncao)  
1410 -{  
1411 - if(arguments.length == 1){  
1412 - idBotao = "adiciona";  
1413 - }  
1414 - if(arguments.length < 3){  
1415 - nomeFuncao = "";  
1416 - }  
1417 - var botao, adicionalinha = function(){  
1418 - core_carregando("ativa");  
1419 - core_carregando(" adicionando um novo registro");  
1420 - var callback = {  
1421 - success:function(o){  
1422 - var texto = "";  
1423 - try{  
1424 - core_carregando("desativa");  
1425 - if(nomeFuncao != ""){  
1426 - if(YAHOO.lang.isFunction(nomeFuncao)){  
1427 - nomeFuncao.call(o);  
1428 - }  
1429 - else{  
1430 - eval(nomeFuncao+"()");  
1431 - }  
1432 - }  
1433 - else{  
1434 - texto = YAHOO.lang.JSON.parse(o.responseText)[0];  
1435 - if(texto === ""){  
1436 - texto = "Clique para editar";  
1437 - }  
1438 - myDataTable.addRow(texto,0);  
1439 - }  
1440 - }  
1441 - catch(e){  
1442 - core_handleFailure(e,o.responseText);  
1443 - }  
1444 - },  
1445 - failure:core_handleFailure,  
1446 - argument: { foo:"foo", bar:"bar" }  
1447 - };  
1448 - core_makeRequest(sUrl,callback);  
1449 - };  
1450 - //cria o bot&atilde;o de adi&ccedil;&atilde;o de um novo menu  
1451 - botao = new YAHOO.widget.Button(idBotao,{ onclick: { fn: adicionalinha } });  
1452 - botao.addClass("rodar");  
1453 -}  
1454 -/*  
1455 -Function: core_pegaDados  
1456 -  
1457 -Busca dados no servidor via Ajax e executa uma fun&ccedil;&atilde;o de retorno com os daods  
1458 -  
1459 -Parameters:  
1460 -  
1461 -mensagem - mensagem que ser&aacute; mostrada na tela  
1462 -  
1463 -sUrl - url do programa que ser&aacute; executado no servidor  
1464 -  
1465 -funcaoRetorno - funcao que ser&aacute; executada ao terminar a busca pelos dados  
1466 - */  
1467 -function core_pegaDados(mensagem,sUrl,funcaoRetorno)  
1468 -{  
1469 - if("mensagem" != "")  
1470 - core_carregando(mensagem);  
1471 - var callback =  
1472 - {  
1473 - success:function(o)  
1474 - {  
1475 - try  
1476 - {  
1477 - if(funcaoRetorno != ""){  
1478 - if(YAHOO.lang.isFunction(funcaoRetorno)){  
1479 - funcaoRetorno.call("",YAHOO.lang.JSON.parse(o.responseText));  
1480 - }  
1481 - else{  
1482 - eval(funcaoRetorno+"(YAHOO.lang.JSON.parse(o.responseText))");  
1483 - }  
1484 - }  
1485 - core_carregando("desativa");  
1486 - }  
1487 - catch(e)  
1488 - {  
1489 - if("mensagem" != "")  
1490 - {core_carregando("desativa");}  
1491 - core_handleFailure(o,o.responseText);  
1492 - }  
1493 - },  
1494 - failure:core_handleFailure,  
1495 - argument: { foo:"foo", bar:"bar" }  
1496 - };  
1497 - core_makeRequest(sUrl,callback);  
1498 -}  
1499 -/*  
1500 -Function: core_gravaLinha  
1501 -  
1502 -Grava um registro no banco de dados e atualiza o datatable atual  
1503 -  
1504 -Essa fun&ccedil;&atilde;o utiliza o objeto datatable que deve estar armazenado na vari&aacute;vel myDataTable  
1505 -  
1506 -Parameters:  
1507 -  
1508 -mensagem - mensagem que ser&aacute; mostrada na tela  
1509 -  
1510 -row - objeto row que foi clicado pelo usu&aacute;rio. Utilizado para se obter os daods do recordset  
1511 -  
1512 -sUrl - url do programa que ser&aacute; executado  
1513 -  
1514 -nomeFuncao - nome da funcao que sera executada apos gravar os dados (opcional)  
1515 - */  
1516 -function core_gravaLinha(mensagem,row,sUrl,nomeFuncao)  
1517 -{  
1518 - core_carregando("ativa");  
1519 - core_carregando(mensagem);  
1520 - if(arguments.length < 4)  
1521 - nomeFuncao = "";  
1522 - var callback =  
1523 - {  
1524 - success:function(o)  
1525 - {  
1526 - core_carregando("desativa");  
1527 - var rec = myDataTable.getRecordSet().getRecord(row);  
1528 - var linha = myDataTable.getTrEl(rec);  
1529 - if(nomeFuncao != "")  
1530 - {  
1531 - eval(nomeFuncao+"()");  
1532 - try  
1533 - {myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]);}  
1534 - catch(e){}  
1535 - }  
1536 - else  
1537 - {  
1538 - myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]);  
1539 - }  
1540 - linha.style.color = "";  
1541 - linha.style.textDecoration = "none";  
1542 - },  
1543 - failure:core_handleFailure,  
1544 - argument: { foo:"foo", bar:"bar" }  
1545 - };  
1546 - core_makeRequest(sUrl,callback);  
1547 -}  
1548 -/*  
1549 -Function: core_excluiLinha  
1550 -  
1551 -Exclu&iacute; um registro no banco de dados e atualiza o datatable.  
1552 -  
1553 -Essa fun&ccedil;&atilde;o utiliza o objeto datatable que deve estar armazenado na vari&aacute;vel myDataTable  
1554 -  
1555 -Parameters:  
1556 -  
1557 -sUrl - url do programa que ser&aacute; executado  
1558 -  
1559 -row - objeto row de um datatable  
1560 -  
1561 -mensagem -  
1562 - */  
1563 -function core_excluiLinha(sUrl,row,mensagem,cabecalho,tabela)  
1564 -{  
1565 - if(!cabecalho){  
1566 - cabecalho = "";  
1567 - }  
1568 - //dialogo  
1569 - // Define various event handlers for Dialog  
1570 - var handleYes = function()  
1571 - {  
1572 - this.hide();  
1573 - core_carregando("ativa");  
1574 - core_carregando(mensagem);  
1575 - var callback =  
1576 - {  
1577 - success:function(o)  
1578 - {  
1579 - try  
1580 - {  
1581 - if(YAHOO.lang.JSON.parse(o.responseText) == "erro")  
1582 - {  
1583 - core_carregando("<span style=color:red >N&atilde;o foi poss&iacute;vel excluir. Verifique se n&atilde;o existem outras tabelas com registros vinculados a este</span>");  
1584 - setTimeout("core_carregando('desativa')",3000);  
1585 - }  
1586 - else  
1587 - {  
1588 - if(tabela){  
1589 - tabela.deleteRow(row);  
1590 - }  
1591 - else{  
1592 - myDataTable.deleteRow(row);  
1593 - }  
1594 - core_carregando("desativa");  
1595 - }  
1596 - }  
1597 - catch(e){core_handleFailure(o,o.responseText);}  
1598 - },  
1599 - failure:core_handleFailure,  
1600 - argument: { foo:"foo", bar:"bar" }  
1601 - };  
1602 - core_makeRequest(sUrl,callback);  
1603 - };  
1604 - var handleNo = function(){  
1605 - this.hide();  
1606 - };  
1607 - var mensagem = "Exclui o registro?";  
1608 - var largura = "300";  
1609 - core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho);  
1610 -}  
1611 -/*  
1612 -Function: core_excluiNoTree  
1613 -  
1614 -Exclu&iacute; um registro no banco de dados e atualiza o treeview.  
1615 -  
1616 -Essa fun&ccedil;&atilde;o utiliza o objeto treeview que deve estar armazenado na vari&aacute;vel tree  
1617 -  
1618 -Parameters:  
1619 -  
1620 -sUrl - url do programa que ser&aacute; executado  
1621 -  
1622 -no - objeto no de um treeview  
1623 -  
1624 -mensagem -  
1625 - */  
1626 -function core_excluiNoTree(sUrl,no,mensagem,cabecalho)  
1627 -{  
1628 - if(!cabecalho){  
1629 - cabecalho = "";  
1630 - }  
1631 - //dialogo  
1632 - // Define various event handlers for Dialog  
1633 - var handleYes = function()  
1634 - {  
1635 - this.hide();  
1636 - core_carregando("ativa");  
1637 - core_carregando(mensagem);  
1638 - var callback =  
1639 - {  
1640 - success:function(o)  
1641 - {  
1642 - try  
1643 - {  
1644 - if(YAHOO.lang.JSON.parse(o.responseText) == "erro")  
1645 - {  
1646 - core_carregando("<span style=color:red >N&atilde;o foi poss&iacute;vel excluir. Verifique se n&atilde;o existem outras tabelas com registros vinculados a este</span>");  
1647 - setTimeout("core_carregando('desativa')",3000);  
1648 - }  
1649 - else  
1650 - {  
1651 - if(no){  
1652 - tree.removeNode(no);  
1653 - tree.draw();  
1654 - }  
1655 - core_carregando("desativa");  
1656 - }  
1657 - }  
1658 - catch(e){core_handleFailure(o,o.responseText);}  
1659 - },  
1660 - failure:core_handleFailure,  
1661 - argument: { foo:"foo", bar:"bar" }  
1662 - };  
1663 - core_makeRequest(sUrl,callback);  
1664 - };  
1665 - var handleNo = function()  
1666 - {  
1667 - this.hide();  
1668 - };  
1669 - var mensagem = "Exclui o registro?";  
1670 - var largura = "300";  
1671 - core_dialogoContinua(handleYes,handleNo,mensagem,largura,cabecalho);  
1672 -}  
1673 -/**  
1674 -Function: core_montaEditor  
1675 -  
1676 -Monta uma janela flutuante com um formul&aacute;rio.  
1677 -  
1678 -O editor possui um div com id=editor_bd que deve ser usado para incluir o formul&aacute;rio.  
1679 -  
1680 -Parameters:  
1681 -  
1682 -funcaoOK - string com o nome da fun&ccedil;&atilde;o que ser&aacute; executada quando o bot&atilde;o OK for pressionado.  
1683 -  
1684 -funcaoClose - nome da funcao que ser&aacute; executada quando a janela for fechada. Pode ser "" para escapar.  
1685 -  
1686 -titulo - titulo da janela  
1687 -  
1688 -modal - boolean  
1689 -  
1690 -bsalva - boolean botao salvar  
1691 -  
1692 -bcancela - boolean botao cancelar  
1693 - */  
1694 -function core_montaEditor(funcaoOK,w,h,funcaoClose,titulo,modal,bsalva,bcancela)  
1695 -{  
1696 - if(!funcaoOK){  
1697 - funcaoOK = "";  
1698 - }  
1699 - if(!w){  
1700 - w = "400px";  
1701 - }  
1702 - if(!h){  
1703 - h = "354px";  
1704 - }  
1705 - if(modal == undefined){  
1706 - modal = false;  
1707 - }  
1708 - if(bsalva == undefined){  
1709 - bsalva = true;  
1710 - }  
1711 - if(bcancela == undefined){  
1712 - bcancela = true;  
1713 - }  
1714 - if(!titulo){  
1715 - titulo = "Editor";  
1716 - }  
1717 - if(!funcaoClose){  
1718 - funcaoClose = "";  
1719 - }  
1720 - if(!$i("janela_editor"))  
1721 - {  
1722 - var ins = "", temp = "", lb,  
1723 - salvai = "<input id=okcancel_checkboxOK type='buttom' value='Salva' />",  
1724 - cancelai = "<input id=okcancel_checkboxCANCEL type='buttom' value='Cancela' />",  
1725 - novoel = document.createElement("div");  
1726 - novoel.id = "janela_editor";  
1727 - ins = '<div class="hd"><div id="okcancel_checkbox" ></div></div>' +  
1728 - "<div class='bd' style='height:"+h+";overflow:auto'>" +  
1729 - "<div id='editor_bd'></div>";  
1730 - novoel.innerHTML = ins;  
1731 - document.body.appendChild(novoel);  
1732 - if(funcaoOK != "")  
1733 - {  
1734 - lb = $i("okcancel_checkbox");  
1735 - if(bsalva === true){  
1736 - temp += salvai;  
1737 - }  
1738 - if(bcancela === true){  
1739 - temp += cancelai;  
1740 - }  
1741 - lb.innerHTML = temp + '<span style="margin-left:10px;position:relative;top:-5px">'+titulo+'</span>';  
1742 - if(bsalva === true){  
1743 - new YAHOO.widget.Button(  
1744 - "okcancel_checkboxOK",  
1745 - {onclick:{fn: function(){  
1746 - if(YAHOO.lang.isFunction(funcaoOK)){  
1747 - funcaoOK.call();  
1748 - }  
1749 - else{  
1750 - eval(funcaoOK);  
1751 - }  
1752 - }}}  
1753 - );  
1754 - var temp = $i("okcancel_checkbox");  
1755 - temp.style.top = "2px";  
1756 - temp.style.position = "relative";  
1757 - var temp = $i("okcancel_checkboxOK-button");  
1758 - temp.style.height = "23px";  
1759 - }  
1760 - if(bcancela === true){  
1761 - new YAHOO.widget.Button(  
1762 - "okcancel_checkboxCANCEL",  
1763 - {onclick:{fn: function(){  
1764 - YAHOO.admin.container.panelEditor.destroy();  
1765 - YAHOO.admin.container.panelEditor = null;  
1766 - }}}  
1767 - );  
1768 - }  
1769 - }  
1770 - YAHOO.admin.container.panelEditor = new YAHOO.widget.Panel("janela_editor", { fixedcenter:"contained",close:true,width:w, overflow:"auto",modal: modal,visible:false,constraintoviewport:true } );  
1771 - YAHOO.admin.container.panelEditor.render();  
1772 - }  
1773 - else  
1774 - {  
1775 - if($i("editor_bd"))  
1776 - {$i("editor_bd").innerHTML == "?";}  
1777 - }  
1778 - var fecha = function()  
1779 - {  
1780 - try{  
1781 - YAHOO.admin.container.panelEditor.destroy();  
1782 - YAHOO.admin.container.panelEditor = null;  
1783 - }  
1784 - catch(e){}  
1785 - try{  
1786 - if(YAHOO.lang.isFunction(funcaoClose)){  
1787 - funcaoClose.call();  
1788 - }  
1789 - else if(funcaoClose != ""){  
1790 - eval(funcaoClose+"()");  
1791 - }  
1792 - }  
1793 - catch(e){};  
1794 - };  
1795 - YAHOO.util.Event.addListener(YAHOO.admin.container.panelEditor.close, "click", fecha);  
1796 - YAHOO.admin.container.panelEditor.show();  
1797 - //registra a janela no gerenciador de janelas default da classe i3GEO.janela caso ela exista  
1798 - try{  
1799 - YAHOO.i3GEO.janela.manager.register(YAHOO.admin.container.panelEditor);  
1800 - }  
1801 - catch(e){}  
1802 -}  
1803 -/*  
1804 -Function idiomaSel  
1805 -  
1806 -Retorna o idioma selecionado pesquisando no elemento select com id = "idioma"  
1807 - */  
1808 -function idiomaSel(){  
1809 - var idioma = "pt";  
1810 - if($i("idioma"))  
1811 - {idioma = $i("idioma").value;}  
1812 - return idioma;  
1813 -}  
1814 -function core_abreCor(janela,elemento)  
1815 -{  
1816 - if(i3GEO.configura == undefined )  
1817 - {i3GEO.configura = {locaplic: "../.."};}  
1818 - i3GEO.util.abreCor("",elemento,"rgb");  
1819 - $i("i3geo_janelaCori").style.width = "350px";  
1820 - $i("i3geo_janelaCori").style.height = "290px";  
1821 - //i3GEO.janela.cria("350px","250px","../../ferramentas/colorpicker/index.htm?doc=&elemento="+elemento+"&tipo=rgb","","","Cor","i3geo_janelaCor",true);  
1822 -}  
1823 -function core_desativaforms(lista){  
1824 - var n = lista.length,  
1825 - i,t;  
1826 - for (i=0;i<n;i++){  
1827 - t = $i(lista[i]);  
1828 - if(t){  
1829 - //t.style.background = "pink";  
1830 - t.disabled = true;  
1831 - }  
1832 - }  
1833 -}  
1834 -function core_ativaforms(lista){  
1835 - var n = lista.length,  
1836 - i,t;  
1837 - for (i=0;i<n;i++){  
1838 - t = $i(lista[i]);  
1839 - if(t){  
1840 - //t.style.background = "white";  
1841 - t.disabled = false;  
1842 - }  
1843 - }  
1844 -}  
1845 -  
1846 -function core_filtraLetrasCombo(id,letra){  
1847 - if (letra == "Todos") {  
1848 - letra = "";  
1849 - }  
1850 - i3GEO.util.insereCookie("I3GEOletraAdmin", letra);  
1851 - if($i("iniciaisLetras")){  
1852 - $i("iniciaisLetras").value = letra;  
1853 - }  
1854 - var combo = $i(id),  
1855 - n, i, o, v;  
1856 - if(combo){  
1857 - o = combo.options;  
1858 - n = o.length;  
1859 - letra = letra.toLowerCase();  
1860 - for(i = 0; i < n; i++){  
1861 - v = o[i].text.toLowerCase();  
1862 - o[i].style.display = "block";  
1863 - if(v.search(letra) < 0 && o[i].value != combo.value ){  
1864 - o[i].style.display = "none";  
1865 - }  
1866 - }  
1867 - }  
1868 -}  
1869 -  
1870 -function core_listaDeLetras(onde,nomeFuncao,semLetras,w){  
1871 - //letraAtual guarda a ultima letra clicada  
1872 - if(!w){  
1873 - w = 40;  
1874 - }  
1875 - var o,i,ins= "<p><b>",  
1876 - letras = ["Todos","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","X","Y","Z","_","1","2","3","4","5","6","7","8","9"],  
1877 - nletras = letras.length;  
1878 - if(!i3GEO.util){  
1879 - alert("Erro i3GEO.util ???");  
1880 - return;  
1881 - }  
1882 - letraAtual = "";  
1883 - if(i3GEO.util.pegaCookie("I3GEOletraAdmin")) {  
1884 - letraAtual = i3GEO.util.pegaCookie("I3GEOletraAdmin");  
1885 - }  
1886 - if(!semLetras){  
1887 - for (i = 0; i < nletras; i++) {  
1888 - ins += "<span onclick='"+nomeFuncao+"(\""  
1889 - + letras[i]  
1890 - + "\")' style='color:blue;cursor:pointer;padding:1px;border: 1px solid #C8C8FA'>"  
1891 - + letras[i] + "</span>&nbsp;";  
1892 - }  
1893 - }  
1894 - else{  
1895 - ins = "";  
1896 - }  
1897 - if(onde && onde != ""){  
1898 - o = document.getElementById(onde);  
1899 - if(o){  
1900 - if(!semLetras){  
1901 - o.innerHTML = "<fieldset style='padding:2px;margin-left: 0px;' class=letras ><form id=forminiciais ><p><b>Iniciais: <input name='' onchange='' value='"+letraAtual+"' id=iniciaisLetras type=text style=width:" + w + "px;cursor:pointer /></form><div style=position:relative;top:1px; id='_listaDeLetras' >"+ins+"</div></b></fieldset>";  
1902 - }  
1903 - else{  
1904 - o.innerHTML = "<form id=forminiciais >Iniciais: <input name='' onchange='' value='' id=iniciaisLetras type=text style=width:40px;cursor:pointer /></form>";  
1905 - }  
1906 - if(document.getElementById("forminiciais")){  
1907 - document.getElementById("forminiciais").onsubmit = function(){  
1908 - var v = document.getElementById("iniciaisLetras").value;  
1909 - i3GEO.util.insereCookie("I3GEOletraAdmin", v);  
1910 - eval(nomeFuncao+"('"+v+"');");  
1911 - return false;  
1912 - };  
1913 - }  
1914 - if(!semLetras){  
1915 - document.getElementById("_listaDeLetras").onclick = function(){  
1916 - document.getElementById("iniciaisLetras").value = letraAtual;  
1917 - };  
1918 - }  
1919 - }  
1920 - }  
1921 - else{  
1922 - return ins;  
1923 - }  
1924 -}  
1925 -function core_parseMustacheBody (hashMustache){  
1926 - var re = new RegExp("&amp;", "g"), m;  
1927 - m = Mustache.render(document.body.innerHTML, i3GEO.idioma.objetoIdioma(hashMustache));  
1928 - m = m.replace(re, '&');  
1929 - document.body.innerHTML = m;  
1930 -} 277 +}
1931 \ No newline at end of file 278 \ No newline at end of file
admin1/metaestat/regioes/index.js
@@ -256,5 +256,8 @@ Obt&amp;eacute;m a lista de regioes @@ -256,5 +256,8 @@ Obt&amp;eacute;m a lista de regioes
256 //window.history.replaceState(null,null,u); 256 //window.history.replaceState(null,null,u);
257 //abre a pagina de edicao 257 //abre a pagina de edicao
258 window.location.href = "hierarquia/index.php?codigo_tipo_regiao=" + codigo_tipo_regiao; 258 window.location.href = "hierarquia/index.php?codigo_tipo_regiao=" + codigo_tipo_regiao;
  259 + },
  260 + listaEsquemas: function(destino){
  261 + i3GEOadmin.bdExplorer.listaEsquemas(destino);
259 } 262 }
260 }; 263 };
261 \ No newline at end of file 264 \ No newline at end of file
admin1/metaestat/regioes/index.php
@@ -59,6 +59,7 @@ include(&quot;templates/templateFormLista.php&quot;); @@ -59,6 +59,7 @@ include(&quot;templates/templateFormLista.php&quot;);
59 ?> 59 ?>
60 <script type="text/javascript" src="index.js"></script> 60 <script type="text/javascript" src="index.js"></script>
61 <script type="text/javascript" src="../../dicionario/estat_tipo_regiao.js"></script> 61 <script type="text/javascript" src="../../dicionario/estat_tipo_regiao.js"></script>
  62 +<script type="text/javascript" src="../../js/bdexplorer.js"></script>
62 <script> 63 <script>
63 $(document).ready(function(){ 64 $(document).ready(function(){
64 //vem de admin1/index.js 65 //vem de admin1/index.js
admin1/metaestat/regioes/templates/templateFormLista.php
@@ -35,9 +35,15 @@ @@ -35,9 +35,15 @@
35 <div class="form-group form-group-lg"> 35 <div class="form-group form-group-lg">
36 <label class="col-md-5 control-label" for="esquemadb" >{{{esquemadbTxt}}}</label> 36 <label class="col-md-5 control-label" for="esquemadb" >{{{esquemadbTxt}}}</label>
37 <div class="col-md-7"> 37 <div class="col-md-7">
38 - <input title="{{{esquemadbTxt}}}" type="text" value="{{{esquemadb}}}" class="form-control" name="esquemadb" >  
39 - </div>  
40 - </div> 38 + <div class="input-group">
  39 + <input title="{{{esquemadbTxt}}}" type="text" value="{{{esquemadb}}}" class="form-control" name="esquemadb" >
  40 + <div class="input-group-btn">
  41 + <a role="button" class="btn btn-danger btn-fab btn-fab-mini" style="height: 20px;min-width: 20px;width: 20px;" onclick="i3GEOadmin.regioes.listaEsquemas('esquemadb')" href="javascript:void(0)">
  42 + <i class="material-icons md-18">list</i>
  43 + </a>
  44 + </div>
  45 + </div>
  46 + </div>
41 </div> 47 </div>
42 </div> 48 </div>
43 <div class="row"> 49 <div class="row">
admin1/php/bdexplorer.php 0 → 100644
@@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
  1 +<?php
  2 +/****************************************************************/
  3 +////include (dirname ( __FILE__ ) . "/../../../ms_configura.php");
  4 +//
  5 +//checa login
  6 +//valida _GET e _POST, juntando em _GET
  7 +//pega algumas variaveis de uso mais comum
  8 +//session_start
  9 +//
  10 +include ("checaLogin.php");
  11 +\admin\php\login\checaLogin();
  12 +//funcoes de administracao
  13 +include ($_SESSION["locaplic"]."/admin1/php/funcoesAdmin.php");
  14 +//
  15 +//carrega outras funcoes e extensoes do PHP
  16 +//
  17 +include ($_SESSION["locaplic"]."/classesphp/carrega_ext.php");
  18 +include ($_SESSION["locaplic"]."/classesphp/classe_bdexplorer.php");
  19 +/***************************************************************/
  20 +$funcao = strtoupper ( $funcao );
  21 +switch ($funcao) {
  22 + case "LISTARESQUEMAS" :
  23 + $bd = new \i3geo\classesphp\bdexplorer\Bdexplorer($_SESSION["locaplic"]);
  24 + $dados = $bd->listaDeEsquemas();
  25 + if ($dados === false) {
  26 + header ( "HTTP/1.1 500 erro ao consultar banco de dados" );
  27 + } else {
  28 + \admin\php\funcoesAdmin\retornaJSON ( $dados );
  29 + }
  30 + break;
  31 + default:
  32 + if(!empty ($funcao)) header ( "HTTP/1.1 500 erro funcao nao existe" );
  33 + break;
  34 +}
  35 +?>
0 \ No newline at end of file 36 \ No newline at end of file
classesphp/classe_bdexplorer.php
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 * 7 *
8 */ 8 */
9 namespace i3geo\classesphp\bdexplorer; 9 namespace i3geo\classesphp\bdexplorer;
  10 +use PDO;
10 class Bdexplorer{ 11 class Bdexplorer{
11 /** 12 /**
12 * Nome do esquema no banco de dados utilizado para armazenar as tabelas 13 * Nome do esquema no banco de dados utilizado para armazenar as tabelas
ms_configura.php
@@ -118,6 +118,22 @@ false @@ -118,6 +118,22 @@ false
118 118
119 */ 119 */
120 $logTransacoes = false; 120 $logTransacoes = false;
  121 +/*
  122 + Variale: $i3geoEsquemasWL
  123 +
  124 + Lista com nomes dos esquemas, nos bancos de dados acessiveis pelo sistema de administracao, que podem ser utilizados nas listagens de tabelas e colunas.
  125 +
  126 + O sistema de administracao do i3Geo possui formularios com campos que referem-se a objetos no banco de dados Postgres.
  127 + Essa variavel e uma lista branca, ou seja, permite o acesso apenas aos esquemas e seus objetos que constam na lista.
  128 + Essa lista nao impede o uso desses objetos, apenas evita que os mesmos sejam utilizados para gerar opcoes de selecao para o preenchimento dos formularios.
  129 +
  130 + O usuario dos formularios ainda poderao inserir manualmente os nomes dos objetos mesmo que os esquemas nao constem nessa lista.
  131 +
  132 + Tipo:
  133 + {array}
  134 +*/
  135 +$i3geoEsquemasWL = array("public","i3geosaude");
  136 +
121 //TODO documentar moodle 137 //TODO documentar moodle
122 /* 138 /*
123 Variale: $logExec 139 Variale: $logExec
@@ -134,7 +150,7 @@ $logExec = array( @@ -134,7 +150,7 @@ $logExec = array(
134 "init" => false, //ms_criamapa mapa_inicia 150 "init" => false, //ms_criamapa mapa_inicia
135 "ogc" => false, //servico ogc 151 "ogc" => false, //servico ogc
136 "upload" => false, //ferramentas de upload 152 "upload" => false, //ferramentas de upload
137 - "ferramentas" => false, //todas asferramentas que usam safe.php 153 + "ferramentas" => false, //todas as ferramentas que usam safe.php
138 "controle" => false //tudo que passa por mapa_controle.php 154 "controle" => false //tudo que passa por mapa_controle.php
139 ); 155 );
140 /* 156 /*