Commit d54e872ddc7c3bdd03e31b4b1b0332d1bbf94b6b

Authored by Edmar Moretti
1 parent 489ce01e

Incluidas opções para abrir os editores do sistema de administração nas ferramen…

…tas de identificação e lista de WMS
admin/admin.db
No preview for this file type
admin/js/core.js
... ... @@ -1026,7 +1026,12 @@ function core_gravaLinha(mensagem,row,sUrl,nomeFuncao)
1026 1026 var rec = myDataTable.getRecordSet().getRecord(row);
1027 1027 var linha = myDataTable.getTrEl(rec);
1028 1028 if(nomeFuncao != "")
1029   - {eval(nomeFuncao+"()")}
  1029 + {
  1030 + eval(nomeFuncao+"()")
  1031 + try
  1032 + {myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])}
  1033 + catch(e){}
  1034 + }
1030 1035 else
1031 1036 {
1032 1037 myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
... ...
admin/js/identifica.js
... ... @@ -47,6 +47,10 @@ function montaTabela(dados)
47 47 YAHOO.example.InlineCellEditing = new function()
48 48 {
49 49 // Custom formatter for "address" column to preserve line breaks
  50 + var formatMais = function(elCell, oRecord, oColumn)
  51 + {
  52 + elCell.innerHTML = "<div class=editar style='text-align:center' ></div>";
  53 + };
50 54 var formatTexto = function(elCell, oRecord, oColumn, oData)
51 55 {
52 56 elCell.innerHTML = "<pre ><p>" + oData + "</pre>";
... ... @@ -61,7 +65,7 @@ function montaTabela(dados)
61 65 };
62 66 var myColumnDefs = [
63 67 {key:"excluir",label:"excluir",formatter:formatExclui},
64   - {label:"salvar",formatter:formatSalva},
  68 + {key:"mais",label:"editar",formatter:formatMais},
65 69 {label:"id",key:"id_i", formatter:formatTexto},
66 70 {label:"nome",resizeable:true,key:"nome_i", formatter:formatTexto, editor:"textbox"},
67 71 {label:"publicado?",key:"publicado_i",editor:"radio" ,editorOptions:{radioOptions:["SIM","NAO"],disableBtns:false}},
... ... @@ -76,6 +80,7 @@ function montaTabela(dados)
76 80 };
77 81 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
78 82 // Set up editing flow
  83 + /*
79 84 myDataTable.highlightEditableCell = function(oArgs)
80 85 {
81 86 var elCell = oArgs.target;
... ... @@ -96,6 +101,7 @@ function montaTabela(dados)
96 101 };
97 102 myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
98 103 myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
  104 + */
99 105 myDataTable.subscribe('cellClickEvent',function(ev)
100 106 {
101 107 var target = YAHOO.util.Event.getTarget(ev);
... ... @@ -110,9 +116,28 @@ function montaTabela(dados)
110 116 var record = this.getRecord(target);
111 117 excluiLinha(record.getData('id_i'),target);
112 118 }
113   - else
  119 + if (column.key == 'mais')
114 120 {
115   - this.onEventShowCellEditor(ev);
  121 + var record = this.getRecord(target);
  122 + core_carregando("ativa");
  123 + core_carregando("buscando dados...");
  124 + $clicouId = record.getData('id_i');
  125 + $recordid = record.getId();
  126 + var sUrl = "../php/identifica.php?funcao=pegafuncoes&id_i="+record.getData('id_i');
  127 + var callback =
  128 + {
  129 + success:function(o)
  130 + {
  131 + try
  132 + {
  133 + montaEditor(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid);
  134 + }
  135 + catch(e){core_handleFailure(e,o.responseText);}
  136 + },
  137 + failure:core_handleFailure,
  138 + argument: { foo:"foo", bar:"bar" }
  139 + };
  140 + core_makeRequest(sUrl,callback)
116 141 }
117 142 });
118 143 // Hook into custom event to customize save-flow of "radio" editor
... ... @@ -128,6 +153,7 @@ function montaTabela(dados)
128 153 {
129 154 this.cancelCellEditor();
130 155 });
  156 + /*
131 157 myDataTable.subscribe("editorSaveEvent", function(oArgs)
132 158 {
133 159 if(oArgs.newData != oArgs.oldData)
... ... @@ -135,21 +161,119 @@ function montaTabela(dados)
135 161 linha.style.color = "blue";
136 162 linha.style.textDecoration = "blink";
137 163 });
  164 + */
138 165 };
139 166 core_carregando("desativa");
140 167 }
141   -function gravaLinha(row)
  168 +function montaEditor(dados,id,recordid)
  169 +{
  170 + function on_editorCheckBoxChange(p_oEvent)
  171 + {
  172 + var ins = "";
  173 + if(p_oEvent.newValue.get("value") == "OK")
  174 + {
  175 + gravaDados(id,recordid);
  176 + }
  177 + else
  178 + {
  179 + YAHOO.example.container.panelEditor.destroy();
  180 + YAHOO.example.container.panelEditor = null;
  181 + }
  182 + };
  183 + if(!YAHOO.example.container.panelEditor)
  184 + {
  185 + var novoel = document.createElement("div");
  186 + novoel.id = "janela_editor";
  187 + var ins = '<div class="hd">Editor</div>';
  188 + ins += "<div class='bd' style='height:354px;overflow:auto'>";
  189 + ins += "<div id='okcancel_checkbox'></div><div id='editor_bd'></div>";
  190 + novoel.innerHTML = ins;
  191 + document.body.appendChild(novoel);
  192 + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name: "okcancel_checkbox_id", container: "okcancel_checkbox" });
  193 + editorBotoes.addButtons([
  194 + { label: "Salva", value: "OK", checked: false},
  195 + { label: "Cancela", value: "CANCEL", checked: false }
  196 + ]);
  197 + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange);
  198 + YAHOO.example.container.panelEditor = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:false,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } );
  199 + YAHOO.example.container.panelEditor.render();
  200 + }
  201 + YAHOO.example.container.panelEditor.show();
  202 + //carrega os dados na janela
  203 + $i("editor_bd").innerHTML = montaDiv(dados[0])
  204 + core_carregando("desativa");
  205 +}
  206 +function montaDiv(i)
  207 +{
  208 + var param = {
  209 + "linhas":[
  210 + {titulo:"Nome:",id:"Enome_i",size:"50",value:i.nome_i,tipo:"text",div:""},
  211 + {titulo:"Programa:",id:"Eabrir_i",size:"50",value:i.abrir_i,tipo:"text",div:""},
  212 + {titulo:"Abrir como:",id:"Etarget_i",size:"50",value:i.target_i,tipo:"text",div:""}
  213 + ]
  214 + }
  215 + var ins = ""
  216 + ins += core_geraLinhas(param)
  217 +
  218 + ins += "<p>Publicado?<br>"
  219 + ins += "<select id='Epublicado_i' />"
  220 + ins += "<option value='' "
  221 + if (i.publicado_i == ""){ins += "selected";}
  222 + ins += ">---</option>"
  223 + ins += "<option value='SIM' "
  224 + if (i.publicado_i == "SIM"){ins += "selected";}
  225 + ins += " >sim</option>"
  226 + ins += "<option value='NAO' "
  227 + if (i.publicado_i == "NAO"){ins += "selected";}
  228 + ins += " >não</option>"
  229 + ins += "</select></p>"
  230 + return(ins)
  231 +}
  232 +/*
  233 +Function: gravaDados
  234 +
  235 +Aplica as alterações feitas em um WS
  236 +
  237 +<ALTERARWS>
  238 +*/
  239 +function gravaDados(id,recordid)
142 240 {
143   - var r = myDataTable.getRecordSet().getRecord(row);
144   - var publicado_i = r.getData("publicado_i");
145   - var abrir_i = r.getData("abrir_i")
146   - var id_i = r.getData("id_i")
147   - var nome_i = r.getData("nome_i")
148   - var target_i = r.getData("target_i")
149   - var mensagem = " gravando o registro do id= "+id_i
150   - var sUrl = "../php/identifica.php?funcao=alterarFuncoes&publicado_i="+publicado_i+"&abrir_i="+abrir_i+"&nome_i="+nome_i+"&id_i="+id_i+"&target_i="+target_i;
151   - core_gravaLinha(mensagem,row,sUrl)
  241 + var campos = new Array("nome","publicado","abrir","target")
  242 + var par = ""
  243 + for (i=0;i<campos.length;i++)
  244 + {par += "&"+campos[i]+"_i="+($i("E"+campos[i]+"_i").value)}
  245 + par += "&id_i="+id
  246 + core_carregando("ativa");
  247 + core_carregando(" gravando o registro do id= "+id);
  248 + var sUrl = "../php/identifica.php?funcao=alterarFuncoes"+par;
  249 + var callback =
  250 + {
  251 + success:function(o)
  252 + {
  253 + try
  254 + {
  255 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  256 + {
  257 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem registros vinculados</span>");
  258 + setTimeout("core_carregando('desativa')",3000)
  259 + }
  260 + else
  261 + {
  262 + var rec = myDataTable.getRecordSet().getRecord(recordid);
  263 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
  264 + core_carregando("desativa");
  265 + }
  266 + YAHOO.example.container.panelEditor.destroy();
  267 + YAHOO.example.container.panelEditor = null;
  268 + }
  269 + catch(e){core_handleFailure(e,o.responseText);}
  270 + },
  271 + failure:core_handleFailure,
  272 + argument: { foo:"foo", bar:"bar" }
  273 + };
  274 + core_makeRequest(sUrl,callback)
152 275 }
  276 +
153 277 function excluiLinha(id,row)
154 278 {
155 279 var mensagem = " excluindo o registro do id= "+id;
... ...
admin/js/webservices.js
... ... @@ -53,7 +53,17 @@ Obtém a lista de WS
53 53 */
54 54 function pegaWS()
55 55 {
56   - core_pegaDados("buscando endereços...","../php/webservices.php?funcao=pegaWS","montaTabela")
  56 + //
  57 + //pega o tipo de WS que será listado se tiver sido definido na url
  58 + //
  59 + var tipows = "";
  60 + try{
  61 + var u = window.location.href.split("?");
  62 + var u = u[1].split("=");
  63 + tipows = u[1];
  64 + }
  65 + catch(e){tipows = "";}
  66 + core_pegaDados("buscando endereços...","../php/webservices.php?funcao=pegaWS&tipows="+tipows,"montaTabela")
57 67 }
58 68 /*
59 69 Function: montaTabela
... ... @@ -64,14 +74,13 @@ Monta a tabela de edição
64 74 */
65 75 function montaTabela(dados)
66 76 {
67   - YAHOO.example.InlineCellEditing = new function()
  77 + YAHOO.example.InlineCellEditing = new function()
68 78 {
69 79 // Custom formatter for "address" column to preserve line breaks
70 80 var formatTextoId = function(elCell, oRecord, oColumn, oData)
71 81 {
72 82 elCell.innerHTML = "<p>" + oData + "</p>";
73 83 };
74   -
75 84 var formatMais = function(elCell, oRecord, oColumn)
76 85 {
77 86 elCell.innerHTML = "<div class=editar style='text-align:center' ></div>";
... ... @@ -90,9 +99,7 @@ function montaTabela(dados)
90 99 myDataSource = new YAHOO.util.DataSource(dados);
91 100 myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
92 101 myDataSource.responseSchema =
93   - {
94   - fields: ["id_ws","nome_ws","tipo_ws"]
95   - };
  102 + {fields: ["id_ws","nome_ws","tipo_ws"]};
96 103 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
97 104 // Set up editing flow
98 105 myDataTable.subscribe('cellClickEvent',function(ev)
... ...
admin/php/admin.php
... ... @@ -135,37 +135,6 @@ function verificaDuplicados($sql,$dbh)
135 135 return false;
136 136 }
137 137 /*
138   -Function: verificaEditores
139   -
140   -Verifica se o usuário atual está cadastrado como editor
141   -
142   -Parametros:
143   -
144   -editores - array com a lista de editores
145   -
146   -Return:
147   -
148   -{string} - sim|nao
149   -*/
150   -function verificaEditores($editores)
151   -{
152   - if (strtolower($_SERVER['HTTP_HOST']) == "localhost")
153   - {return "sim";}
154   - $editor = "nao";
155   - if($editores == ""){return $editor;}
156   - foreach ($editores as $e)
157   - {
158   - //$e = gethostbyname($e);
159   - $ip = "UNKNOWN";
160   - if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
161   - else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
162   - else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
163   - else $ip = "UNKNOWN";
164   - if ($e == $ip){$editor="sim";}
165   - }
166   - return $editor;
167   -}
168   -/*
169 138 Function: exclui
170 139  
171 140 Exlcui um registro de uma tabela do banco de dados de administração
... ...
admin/php/identifica.php
... ... @@ -64,7 +64,10 @@ switch (strtoupper($funcao))
64 64 {JSON}
65 65 */
66 66 case "PEGAFUNCOES":
67   - $dados = pegaDados('SELECT * from i3geoadmin_identifica');
  67 + if(isset($id_i) && $id_i != "")
  68 + {$dados = pegaDados("SELECT * from i3geoadmin_identifica where id_i = $id_i ");}
  69 + else
  70 + {$dados = pegaDados('SELECT * from i3geoadmin_identifica');}
68 71 retornaJSON($dados);
69 72 exit;
70 73 break;
... ...
admin/php/webservices.php
... ... @@ -64,7 +64,11 @@ switch (strtoupper($funcao))
64 64 {JSON}
65 65 */
66 66 case "PEGAWS":
67   - retornaJSON(pegaDados('SELECT id_ws,nome_ws,tipo_ws from i3geoadmin_ws order by tipo_ws,nome_ws'));
  67 + if(isset($tipows) && $tipows != "")
  68 + {$sql = "SELECT id_ws,nome_ws,tipo_ws from i3geoadmin_ws where tipo_ws = '".strtoupper($tipows)."' order by tipo_ws,nome_ws ";}
  69 + else
  70 + {$sql = "SELECT id_ws,nome_ws,tipo_ws from i3geoadmin_ws order by tipo_ws,nome_ws";}
  71 + retornaJSON(pegaDados($sql));
68 72 exit;
69 73 break;
70 74 /*
... ...
admin/php/xml.php
... ... @@ -33,6 +33,18 @@ Arquivo:
33 33  
34 34 i3geo/admin/php/xml.php
35 35 */
  36 +if(!function_exists("verificaEditores"))
  37 +{
  38 + if(isset($locaplic))
  39 + {include_once($locaplic."/classesphp/funcoes_gerais.php");}
  40 + else
  41 + {
  42 + if(file_exists("../../classesphp/funcoes_gerais.php"))
  43 + {
  44 + include_once("../../classesphp/funcoes_gerais.php");
  45 + }
  46 + }
  47 +}
36 48 /*
37 49 Function: geraXmlSistemas (depreciado)
38 50  
... ... @@ -762,19 +774,5 @@ function entity_decode($texto)
762 774 {
763 775 return html_entity_decode($texto);
764 776 }
765   -function verificaEditores($editores)
766   -{
767   - $editor = "nao";
768   - foreach ($editores as $e)
769   - {
770   - $e = gethostbyname($e);
771   - $ip = "UNKNOWN";
772   - if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
773   - else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
774   - else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
775   - else $ip = "UNKNOWN";
776   - if ($e == $ip){$editor="sim";}
777   - }
778   - return $editor;
779   -}
  777 +
780 778 ?>
... ...
classesjs/classe_arvoredecamadas.js
... ... @@ -817,11 +817,9 @@ i3GEO.arvoreDeCamadas = {
817 817 if(ltema.editorsql == "sim" || ltema.editorsql == "SIM")
818 818 {i3GEO.arvoreDeCamadas.adicionaOpcaoTema($trad("t40"),$trad("t41"),'i3GEO.tema.dialogo.editorsql(\"'+ltema.name+'\")',node);}
819 819 if(ltema.permitecomentario.toLowerCase() !== "nao" && i3GEO.arvoreDeTemas.OPCOESADICIONAIS.comentarios == true)
820   - {
821   - i3GEO.arvoreDeCamadas.adicionaOpcaoTema($trad("t45"),$trad("t45"),'i3GEO.tema.dialogo.comentario(\"'+ltema.name+'\")',node);
822   - }
823   - if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir == true)
824   - {i3GEO.arvoreDeCamadas.adicionaOpcaoTema($trad("t44"),"<span style=color:red >"+$trad("t44")+"</span>",'i3GEO.tema.dialogo.salvaMapfile(\"'+ltema.name+'\")',node);}
  820 + {i3GEO.arvoreDeCamadas.adicionaOpcaoTema($trad("t45"),$trad("t45"),'i3GEO.tema.dialogo.comentario(\"'+ltema.name+'\")',node);}
  821 + if(i3GEO.parametros.editor == "sim")
  822 + {i3GEO.arvoreDeCamadas.adicionaOpcaoTema($trad("t44"),"<span style=color:red title='Apenas usuários editores podem ver essa opção' >"+$trad("t44")+"</span>",'i3GEO.tema.dialogo.salvaMapfile(\"'+ltema.name+'\")',node);}
825 823 node.loadComplete();
826 824 },
827 825 /*
... ...
classesjs/classe_i3geo.js
... ... @@ -116,6 +116,8 @@ i3GEO = {
116 116 celularef {Numeric} - tamanho da célula do mapa de referência
117 117  
118 118 autenticadoopenid {sim|nao} - indica se o usuário foi autenticado em alguma rede social
  119 +
  120 + editor {sim|nao} - indica se o usuário atual é um editor (administrador)
119 121 */
120 122 parametros: {
121 123 mapexten: "",
... ...
classesjs/classe_janela.js
... ... @@ -97,7 +97,7 @@ i3GEO.janela = {
97 97 /*
98 98 Propriedade: ANTESFECHA
99 99  
100   - Lista com os nomes das funções que serão executadas após fechar a janela.
  100 + Lista com os nomes das funções que serão executadas antes de fechar a janela.
101 101  
102 102 Este é um array que pode ser modificado utilizando-se as funções javascript de
103 103 manipulação de arrays.
... ...
classesphp/classe_menutemas.php
... ... @@ -328,6 +328,7 @@ Array
328 328 {
329 329 error_reporting(0);
330 330 include_once($this->locaplic."/admin/php/xml.php");
  331 +
331 332 $xmlsistemas = simplexml_load_string(geraXmlIdentifica(implode(" ",$this->perfil),$this->locaplic,$this->editores));
332 333 $sistemas = array();
333 334 foreach($xmlsistemas->FUNCAO as $s)
... ...
classesphp/funcoes_gerais.php
... ... @@ -2635,4 +2635,36 @@ function carregaquery($mapfile,$objlayer,$objmapa)
2635 2635 }
2636 2636 return "nao";
2637 2637 }
  2638 +/*
  2639 +Function: verificaEditores
  2640 +
  2641 +Verifica se o usuário atual está cadastrado como editor
  2642 +
  2643 +Parametros:
  2644 +
  2645 +editores - array com a lista de editores
  2646 +
  2647 +Return:
  2648 +
  2649 +{string} - sim|nao
  2650 +*/
  2651 +function verificaEditores($editores)
  2652 +{
  2653 + if (strtolower($_SERVER['HTTP_HOST']) == "localhost")
  2654 + {return "sim";}
  2655 + $editor = "nao";
  2656 + if($editores == ""){return $editor;}
  2657 + foreach ($editores as $e)
  2658 + {
  2659 + //$e = gethostbyname($e);
  2660 + $ip = "UNKNOWN";
  2661 + if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP");
  2662 + else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR");
  2663 + else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR");
  2664 + else $ip = "UNKNOWN";
  2665 + if ($e == $ip){$editor="sim";}
  2666 + }
  2667 + return $editor;
  2668 +}
  2669 +
2638 2670 ?>
2639 2671 \ No newline at end of file
... ...
classesphp/mapa_controle.php
... ... @@ -223,6 +223,10 @@ Inicia o mapa, pegando os parâmetros necessários para a montagem inicial.
223 223 */
224 224 case "INICIA":
225 225 include_once("mapa_inicia.php");
  226 + //
  227 + //a variável $editores vem do ms_configura.php
  228 + //
  229 + $editor = verificaEditores($editores);
226 230 iniciaMapa();
227 231 break;
228 232 /*
... ...
classesphp/mapa_inicia.php
... ... @@ -98,7 +98,9 @@ Retorno:
98 98 */
99 99 function iniciaMapa()
100 100 {
101   - global $openid,$interfacePadrao,$mensagemInicia,$kmlurl,$tituloInstituicao,$tempo,$navegadoresLocais,$locaplic,$embedLegenda,$map_file,$mapext,$w,$h,$R_path,$locmapserv,$utilizacgi,$expoeMapfile,$interface;
  101 + global $openid,$interfacePadrao,$mensagemInicia,$kmlurl,$tituloInstituicao,$tempo,$navegadoresLocais,$editor,$locaplic,$embedLegenda,$map_file,$mapext,$w,$h,$R_path,$locmapserv,$utilizacgi,$expoeMapfile,$interface;
  102 + if(!isset($editor) || empty($editor))
  103 + {$editor = "nao";}
102 104 if(!isset($kmlurl))
103 105 {$kmlurl = "";}
104 106 error_reporting(E_ALL);
... ... @@ -229,7 +231,7 @@ function iniciaMapa()
229 231 {$nomer = ($imgo->imageurl).basename($nomer);}
230 232 $iref = $m->mapa->reference;
231 233 $irefH = $iref->height;
232   -
  234 + $res["editor"] = $editor;
233 235 $res["mapexten"] = $ext;
234 236 $res["mapscale"] = $escalaMapa;
235 237 $res["mapres"] = $m->mapa->resolution;
... ...
classesphp/wscliente.php
... ... @@ -430,7 +430,7 @@ function listaRSSws2()
430 430 }
431 431 else
432 432 {$canali = simplexml_load_file($rss);}
433   - $linhas[] = "<a href='".$endereco."' target=blank ><img src='imagens/rss.gif' /></a>####";
  433 + $linhas[] = "<a href='".$endereco."' target=blank ><img style='border:0px solid white' src='imagens/rss.gif' /></a>####";
434 434 //var_dump($canali);
435 435 foreach ($canali->channel->item as $item)
436 436 {
... ... @@ -512,10 +512,10 @@ function listaRSSwsARRAY()
512 512 else
513 513 {$canali = simplexml_load_file($rss);}
514 514 if($r != "")
515   - $linhas["rss"] = "<a href='".$r."' target=blank ><img src='imagens/rss.gif' /></a>";
  515 + $linhas["rss"] = "<a href='".$r."' target=blank ><img style='border:0px solid white;' src='imagens/rss.gif' /></a>";
516 516 else
517 517 {
518   - $linhas["rss"] = "<a href='".$linkrss."' target=blank ><img src='imagens/rss.gif' /></a>";
  518 + $linhas["rss"] = "<a href='".$linkrss."' target=blank ><img style='border:0px solid white;' src='imagens/rss.gif' /></a>";
519 519 }
520 520 //var_dump($canali);
521 521 $canais = array();
... ... @@ -555,7 +555,7 @@ function listaRSSws()
555 555 if ($rss)
556 556 {
557 557 $erro = "";
558   - $linhas[] = "<a href='".$r."' target=blank ><img src='imagens/rss.gif' /></a>####";
  558 + $linhas[] = "<a href='".$r."' target=blank ><img style='border:0px solid white;' src='imagens/rss.gif' /></a>####";
559 559 foreach ( $rss->items as $item )
560 560 {
561 561 $linha[] = $item['title'];
... ...
ferramentas/conectarwms/index.htm
... ... @@ -68,24 +68,30 @@ body {
68 68 <script type="text/javascript" >
69 69 mensagemAjuda("men1",document.getElementById("men1").innerHTML)
70 70 mensagemAjuda("men2",document.getElementById("men2").innerHTML)
71   -g_RSSwms = new Array("")
  71 +if(window.parent.i3GEO.parametros.editor == "sim"){
  72 + var temp = "<p><a href='#' style='color:red' onclick='abrejanelaIframe()' title='Opção visível apenas para usuários editores'>Editar a lista de endereços dos serviços</a></p>";
  73 + document.getElementById("opc1").innerHTML += temp;
  74 +}
72 75  
73   -aguarde("block")
74   -//g_locaplic = window.parent.i3GEO.configura.locaplic;
75   -if (document.getElementById("RSSwms"))
76   -{
77   - if (g_RSSwms.length > 0)
  76 +iniciaListaWS()
  77 +function iniciaListaWS(){
  78 + g_RSSwms = new Array("")
  79 + aguarde("block")
  80 + //g_locaplic = window.parent.i3GEO.configura.locaplic;
  81 + if (document.getElementById("RSSwms"))
78 82 {
79   - var p = g_locaplic+"/classesphp/wscliente.php?funcao=listaRSSwsARRAY&rss="+g_RSSwms.join("|")+"&tipo=WMS";
80   - var cp = new cpaint();
81   - //cp.set_debug(2)
82   - cp.set_response_type("JSON");
83   - cp.call(p,"listaRSSwsARRAY",mostraRetornowmsRSS);
  83 + if (g_RSSwms.length > 0)
  84 + {
  85 + var p = g_locaplic+"/classesphp/wscliente.php?funcao=listaRSSwsARRAY&rss="+g_RSSwms.join("|")+"&tipo=WMS";
  86 + var cp = new cpaint();
  87 + //cp.set_debug(2)
  88 + cp.set_response_type("JSON");
  89 + cp.call(p,"listaRSSwsARRAY",mostraRetornowmsRSS);
  90 + }
84 91 }
85 92 }
86 93 function mostraRetornowmsRSS(retorno)
87 94 {
88   -
89 95 var reg = /Erro/gi;
90 96 if (retorno.data.rss.search(reg) != -1)
91 97 {
... ...
ferramentas/conectarwms/index.js
... ... @@ -250,7 +250,7 @@ function seltema(tipo,tema,legenda,nometema,nomecamada,sldflag)
250 250 {
251 251 var retorno = function(retorno)
252 252 {
253   - aguarde("none")
  253 + aguarde("none");
254 254 if(retorno.data != "ok")
255 255 {alert("Ooops! Problemas ao acessar o serviço.");aguarde("none");}
256 256 else
... ... @@ -264,4 +264,22 @@ function seltema(tipo,tema,legenda,nometema,nomecamada,sldflag)
264 264 cp.set_response_type("JSON");
265 265 cp.call(p,"adicionatemawms",retorno);
266 266 }
  267 +}
  268 +/*
  269 +Function abrejanelaIframe
  270 +
  271 +Abre uma janela flutuante contendo um iframe
  272 +
  273 +Parametros:
  274 +
  275 +w {string} - largura
  276 +
  277 +h {string} - altura
  278 +
  279 +s {string} - src do iframe
  280 +*/
  281 +function abrejanelaIframe(){
  282 + var s = window.parent.i3GEO.configura.locaplic+"/admin/html/webservices.html?tipo=wms";
  283 + var janelaeditor = window.parent.i3GEO.janela.cria("1000","500",s,parseInt(Math.random()*100,10),10,s,"janela"+window.parent.i3GEO.util.randomRGB(),false);
  284 + YAHOO.util.Event.addListener(janelaeditor[0].close, "click", iniciaListaWS,janelaeditor[0].panel,{id:janelaeditor[0].id},true);
267 285 }
268 286 \ No newline at end of file
... ...
ferramentas/identifica/index.js.php
... ... @@ -124,6 +124,9 @@ i3GEOF.identifica = {
124 124 i3GEOF.identifica.y = y;
125 125 i3GEOF.identifica.mostraLinkGeohack = mostraLinkGeohack;
126 126 i3GEOF.identifica.mostraSistemasAdicionais = mostraSistemasAdicionais;
  127 + //se o usuário for editor, força mostrar a lista de sistemas
  128 + if(i3GEO.parametros.editor == "sim")
  129 + {i3GEOF.identifica.mostraSistemasAdicionais == true;}
127 130 i3GEO.guias.mostraGuiaFerramenta("i3GEOidentificaguia1","i3GEOidentificaguia");
128 131 //eventos das guias
129 132 $i("i3GEOidentificaguia1").onclick = function(){i3GEOF.identifica.listaTemas("ligados");i3GEO.guias.mostraGuiaFerramenta("i3GEOidentificaguia1","i3GEOidentificaguia");};
... ... @@ -148,15 +151,18 @@ i3GEOF.identifica = {
148 151 //
149 152 //verifica se existem sistemas para identificar
150 153 //
151   - if(i3GEOF.identifica.mostraSistemasAdicionais === true){
152   - var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=pegaSistemasIdentificacao&g_sid="+i3GEO.configura.sid;
153   - cpJSON.call(p,"foo",i3GEOF.identifica.montaListaSistemas);
154   - }
  154 + i3GEOF.identifica.atualizaSistemas();
155 155 if (i3GEO.temaAtivo !== "")
156 156 {i3GEOF.identifica.buscaDadosTema(i3GEO.temaAtivo);}
157 157 }
158 158 catch(erro){alert(erro);}
159 159 },
  160 + atualizaSistemas: function(){
  161 + if(i3GEOF.identifica.mostraSistemasAdicionais === true){
  162 + var p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?funcao=pegaSistemasIdentificacao&g_sid="+i3GEO.configura.sid;
  163 + cpJSON.call(p,"foo",i3GEOF.identifica.montaListaSistemas);
  164 + }
  165 + },
160 166 /*
161 167 Function: criaJanelaFlutuante
162 168  
... ... @@ -416,7 +422,12 @@ i3GEOF.identifica = {
416 422  
417 423 }
418 424 if(divins){
419   - divins.innerHTML = "<table class='lista2' >"+linhas+"</table>";
  425 + if(i3GEO.parametros.editor == "sim"){
  426 + temp = "<p class=paragrafo ><a href='#' title='Opção visível apenas para quem é editor' style=color:red onclick=\"i3GEOF.identifica.abrejanelaIframe('1050','500','"+i3GEO.configura.locaplic+"/admin/html/identifica.html');\" >Editar a lista de sistemas adicionais</a></p>";
  427 + }
  428 + else
  429 + {temp = "";}
  430 + divins.innerHTML = temp+"<table class='lista2' >"+linhas+"</table>";
420 431 return;
421 432 }
422 433 }
... ... @@ -464,13 +475,34 @@ i3GEOF.identifica = {
464 475 if(target === "target")
465 476 {window.open(exec);}
466 477 else {
467   - i3GEO.janela.cria("500","500",exec,parseInt(Math.random()*100,10),10,exec,"janela"+i3GEO.util.randomRGB(),false);
  478 + i3GEOF.identifica.abrejanelaIframe("500","500",exec);
468 479 }
469 480 var i = $i("i3GEOmarcaIdentifica");
470 481 if(i)
471 482 {i.style.display = "block";}
472 483 },
473 484 /*
  485 + Function abrejanelaIframe
  486 +
  487 + Abre uma janela flutuante contendo um iframe
  488 +
  489 + Parametros:
  490 +
  491 + w {string} - largura
  492 +
  493 + h {string} - altura
  494 +
  495 + s {string} - src do iframe
  496 + */
  497 + abrejanelaIframe: function(w,h,s){
  498 + var janelaeditor = i3GEO.janela.cria(w,h,s,parseInt(Math.random()*100,10),10,s,"janela"+i3GEO.util.randomRGB(),false);
  499 + var temp = function(){
  500 + i3GEOF.identifica.sistemasAdicionais = [];
  501 + i3GEOF.identifica.atualizaSistemas();
  502 + };
  503 + YAHOO.util.Event.addListener(janelaeditor[0].close, "click", temp,janelaeditor[0].panel,{id:janelaeditor[0].id},true);
  504 + },
  505 + /*
474 506 Function: mostraDadosTema
475 507  
476 508 Mostra os dados obtidos de um ou mais temas.
... ...