Commit 33a779503cc8e77fbf405d6a72fe6fbe30e58e39

Authored by Edmar Moretti
1 parent 7d68acf3

Reformulação do código para permitir o uso de múltiplos perfis na inicialização.…

… Incluida a função array_in_array
Showing 1 changed file with 29 additions and 13 deletions   Show diff stats
classesphp/classe_menutemas.php
@@ -75,7 +75,7 @@ $map_file - string $map_file Endereço do mapfile no servidor. @@ -75,7 +75,7 @@ $map_file - string $map_file Endereço do mapfile no servidor.
75 */ 75 */
76 function __construct($map_file="",$perfil="",$locsistemas="") 76 function __construct($map_file="",$perfil="",$locsistemas="")
77 { 77 {
78 - $this->perfil = $perfil; 78 + $this->perfil = explode(",",$perfil);
79 $this->xmlsistemas = ""; 79 $this->xmlsistemas = "";
80 if ($locsistemas != "") 80 if ($locsistemas != "")
81 $this->xmlsistemas = simplexml_load_file($locsistemas); 81 $this->xmlsistemas = simplexml_load_file($locsistemas);
@@ -113,7 +113,7 @@ array @@ -113,7 +113,7 @@ array
113 { 113 {
114 $ps = mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto"); 114 $ps = mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto");
115 $perfis = explode(",",$ps); 115 $perfis = explode(",",$ps);
116 - if ((in_array($this->perfil,$perfis)) || ($ps == "")) 116 + if (($this->array_in_array($this->perfil,$perfis)) || ($ps == ""))
117 { 117 {
118 $n = mb_convert_encoding($s->NOME,"HTML-ENTITIES","auto"); 118 $n = mb_convert_encoding($s->NOME,"HTML-ENTITIES","auto");
119 $i = mb_convert_encoding($s->IMAGEM,"HTML-ENTITIES","auto"); 119 $i = mb_convert_encoding($s->IMAGEM,"HTML-ENTITIES","auto");
@@ -193,7 +193,7 @@ array @@ -193,7 +193,7 @@ array
193 { 193 {
194 $incluigrupo = FALSE; 194 $incluigrupo = FALSE;
195 $perfis = explode(",",$temp); 195 $perfis = explode(",",$temp);
196 - if (in_array($this->perfil,$perfis)) 196 + if ($this->array_in_array($this->perfil,$perfis))
197 {$incluigrupo = TRUE;} 197 {$incluigrupo = TRUE;}
198 } 198 }
199 //verifica se existem temas no nível de grupo 199 //verifica se existem temas no nível de grupo
@@ -223,7 +223,7 @@ array @@ -223,7 +223,7 @@ array
223 { 223 {
224 $incluisgrupo = FALSE; 224 $incluisgrupo = FALSE;
225 $perfis = explode(",",$temp); 225 $perfis = explode(",",$temp);
226 - if (in_array($this->perfil,$perfis)) 226 + if ($this->array_in_array($this->perfil,$perfis))
227 {$incluisgrupo = TRUE;} 227 {$incluisgrupo = TRUE;}
228 } 228 }
229 if ($incluisgrupo == TRUE) 229 if ($incluisgrupo == TRUE)
@@ -257,7 +257,7 @@ array @@ -257,7 +257,7 @@ array
257 $nomesis = mb_convert_encoding($s->NOMESIS,"HTML-ENTITIES","auto"); 257 $nomesis = mb_convert_encoding($s->NOMESIS,"HTML-ENTITIES","auto");
258 $ps = mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto"); 258 $ps = mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto");
259 $perfis = explode(",",$ps); 259 $perfis = explode(",",$ps);
260 - if ((in_array($this->perfil,$perfis)) || ($ps == "")) 260 + if (($this->array_in_array($this->perfil,$perfis)) || ($ps == ""))
261 { 261 {
262 $funcoes = array(); 262 $funcoes = array();
263 foreach($s->FUNCAO as $f) 263 foreach($s->FUNCAO as $f)
@@ -267,7 +267,7 @@ array @@ -267,7 +267,7 @@ array
267 $w = mb_convert_encoding($f->JANELAW,"HTML-ENTITIES","auto"); 267 $w = mb_convert_encoding($f->JANELAW,"HTML-ENTITIES","auto");
268 $h = mb_convert_encoding($f->JANELAH,"HTML-ENTITIES","auto"); 268 $h = mb_convert_encoding($f->JANELAH,"HTML-ENTITIES","auto");
269 $p = mb_convert_encoding($f->PERFIL,"HTML-ENTITIES","auto"); 269 $p = mb_convert_encoding($f->PERFIL,"HTML-ENTITIES","auto");
270 - if ((in_array($this->perfil,$perfis)) || ($p == "")) 270 + if (($this->array_in_array($this->perfil,$perfis)) || ($p == ""))
271 {$funcoes[] = array("NOME"=>$n,"ABRIR"=>$a,"W"=>$w,"H"=>$h);} 271 {$funcoes[] = array("NOME"=>$n,"ABRIR"=>$a,"W"=>$w,"H"=>$h);}
272 } 272 }
273 $sistemas[] = array("NOME"=>$nomesis,"FUNCOES"=>$funcoes); 273 $sistemas[] = array("NOME"=>$nomesis,"FUNCOES"=>$funcoes);
@@ -320,7 +320,7 @@ array @@ -320,7 +320,7 @@ array
320 { 320 {
321 $incluigrupo = FALSE; 321 $incluigrupo = FALSE;
322 $perfis = explode(",",mb_convert_encoding($g->PERFIL,"HTML-ENTITIES","auto")); 322 $perfis = explode(",",mb_convert_encoding($g->PERFIL,"HTML-ENTITIES","auto"));
323 - if (in_array($this->perfil,$perfis)) 323 + if ($this->array_in_array($this->perfil,$perfis))
324 {$incluigrupo = TRUE;} 324 {$incluigrupo = TRUE;}
325 } 325 }
326 if ($incluigrupo == TRUE) 326 if ($incluigrupo == TRUE)
@@ -335,7 +335,7 @@ array @@ -335,7 +335,7 @@ array
335 { 335 {
336 $incluisgrupo = FALSE; 336 $incluisgrupo = FALSE;
337 $perfis = explode(",",mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto")); 337 $perfis = explode(",",mb_convert_encoding($s->PERFIL,"HTML-ENTITIES","auto"));
338 - if (in_array($this->perfil,$perfis)) 338 + if ($this->array_in_array($this->perfil,$perfis))
339 {$incluisgrupo = TRUE;} 339 {$incluisgrupo = TRUE;}
340 } 340 }
341 if ($incluisgrupo == TRUE) 341 if ($incluisgrupo == TRUE)
@@ -350,7 +350,7 @@ array @@ -350,7 +350,7 @@ array
350 350
351 $inclui = FALSE; 351 $inclui = FALSE;
352 $perfis = explode(",",mb_convert_encoding($tema->PERFIL,"HTML-ENTITIES","auto")); 352 $perfis = explode(",",mb_convert_encoding($tema->PERFIL,"HTML-ENTITIES","auto"));
353 - if (in_array($this->perfil,$perfis)) 353 + if ($this->array_in_array($this->perfil,$perfis))
354 {$inclui = TRUE;} 354 {$inclui = TRUE;}
355 } 355 }
356 if ($inclui == TRUE) 356 if ($inclui == TRUE)
@@ -406,7 +406,7 @@ $procurar - String que será procurada. @@ -406,7 +406,7 @@ $procurar - String que será procurada.
406 { 406 {
407 $incluigrupo = FALSE; 407 $incluigrupo = FALSE;
408 $perfis = explode(",",$temp); 408 $perfis = explode(",",$temp);
409 - if (in_array($this->perfil,$perfis)) 409 + if ($this->array_in_array($this->perfil,$perfis))
410 {$incluigrupo = TRUE;} 410 {$incluigrupo = TRUE;}
411 } 411 }
412 if ($incluigrupo == TRUE) 412 if ($incluigrupo == TRUE)
@@ -418,7 +418,7 @@ $procurar - String que será procurada. @@ -418,7 +418,7 @@ $procurar - String que será procurada.
418 { 418 {
419 $temp = mb_convert_encoding($sgrupo->PERFIL,"HTML-ENTITIES","auto"); 419 $temp = mb_convert_encoding($sgrupo->PERFIL,"HTML-ENTITIES","auto");
420 $perfis = explode(",",$temp); 420 $perfis = explode(",",$temp);
421 - if (!in_array($this->perfil,$perfis)) 421 + if (!$this->array_in_array($this->perfil,$perfis))
422 {$incluisgrupo = FALSE;} 422 {$incluisgrupo = FALSE;}
423 } 423 }
424 if ($incluisgrupo == TRUE) 424 if ($incluisgrupo == TRUE)
@@ -430,7 +430,7 @@ $procurar - String que será procurada. @@ -430,7 +430,7 @@ $procurar - String que será procurada.
430 { 430 {
431 $temp = mb_convert_encoding($tema->PERFIL,"HTML-ENTITIES","auto"); 431 $temp = mb_convert_encoding($tema->PERFIL,"HTML-ENTITIES","auto");
432 $perfis = explode(",",$temp); 432 $perfis = explode(",",$temp);
433 - if (!in_array($this->perfil,$perfis)) 433 + if (!$this->array_in_array($this->perfil,$perfis))
434 {$inclui = FALSE;} 434 {$inclui = FALSE;}
435 } 435 }
436 if ($inclui == TRUE) 436 if ($inclui == TRUE)
@@ -495,6 +495,22 @@ $procurar - String que será procurada. @@ -495,6 +495,22 @@ $procurar - String que será procurada.
495 $s = str_replace("Ç","C",$s); 495 $s = str_replace("Ç","C",$s);
496 //$s = ereg_replace(" ","",$s); 496 //$s = ereg_replace(" ","",$s);
497 return $s; 497 return $s;
498 - } 498 + }
  499 + /*
  500 + Function: array_in_array
  501 +
  502 + Procura ocorrências de um array em outro array
  503 + */
  504 + function array_in_array($needle, $haystack)
  505 + {
  506 + //Make sure $needle is an array for foreach
  507 + if(!is_array($needle)) $needle = array($needle);
  508 + //For each value in $needle, return TRUE if in $haystack
  509 + foreach($needle as $pin)
  510 + if(in_array($pin, $haystack)) return TRUE;
  511 + //Return FALSE if none of the values from $needle are found in $haystack
  512 + return FALSE;
  513 + }
  514 +
499 } 515 }
500 ?> 516 ?>
501 \ No newline at end of file 517 \ No newline at end of file