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 |