Commit 33a779503cc8e77fbf405d6a72fe6fbe30e58e39
1 parent
7d68acf3
Exists in
master
and in
7 other branches
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 |