moodle-usp / moodle-block_extensao

Plugin de Moodle dos Cursos de Extensão.
0 stars 0 forks source link

Warning do tipo "deprecated" em sync.php #44

Closed ewout closed 1 month ago

ewout commented 2 months ago

Rodando php8.1 blocks/extensao/cli/sync.php em homologação (com debug ligado) dá

Deprecated: mb_detect_encoding(): Passing null to parameter #1 ($string) of type string is deprecated in /moodle_data/var/www/html/CURSOSEXTENSAO/moodle/blocks/extensao/src/Service/USPDatabase.php on line 47

na parte dos ministrantes.

Potalej commented 1 month ago

Corrigido no commit da5128f. No PHP >= 8.1, o mb_detect_encoding() gera um aviso quando recebe um parâmetro nulo. Para resolver isso, bastou utilizar o operador de coalescência nulo:

if (mb_detect_encoding($item ?? '', 'utf-8', true)) {

O que esse operador ?? faz é tratar o caso em que $item é nulo, substituindo o valor por ''.