No sistema Moodle é obrigatório que o perfil do usuário tenha nome, sobrenome e e-mail. Se você desativar a obrigatoriedade deses campos no formulário de cadastro, ou efetuar inserção SQL diretamente no banco de dados, a navegação no ambiente do Moodle, após o login, fica trancada até o que esses dados sejam atualizados.
Se você estiver recebendo reclamação dos alunos de que toda as vezes que logam no Moodle aparece o formulário de perfil que os impeçam de acessar o curso enquanto o maldito formulário não for atualizada, fique frio. A solução será desativar a função da biblioteca do Moodle responsável por essa dor cabeça. Então vamos lá, para resolver isso, siga os seguintes passos:
1° Passo - Abrir o arquivo moodlelib.php
Abra em um editor de texto o seguinte arquivo:
$CFG->wwwroot/lib/moodlelib.php
2° Passo - Localizar função user_not_fully_set_up
Localize no arquivo o seguinte código:
function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)));
}
Esse código fica normalmente na linha 2330. Define os campos do perfil que são obrigatório.
3° Passo - Desativar a função user_not_fully_set_up parcialmente ou totalmente
a) Parcialmente
Para desativar a função parcialmente, eliminando a obrigatoriedade apenas do sobrenome, apague o seguinte trecho do código: or empty($user->lastname)
Feito isso, o código ficará assim:
function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->email) or over_bounce_threshold($user)));
}
b) Totalmente
Para desativar a função totalmente, simplesmente substitua toda a linha de código dentro da função return false.
Feito isso, o código ficará assim:
function user_not_fully_set_up($user) {
return false;
}
4° Passo - Gravar alteração do arquivo moodlelib.php
Para que a alteração seja efetivada, grave o arquivo. Feito isso, os alunos não terão mais dor de cabeça com o formulário do perfil e você não perderá seu sono pensando em como descascar o abacaxi.
O ideal é manter a linha de código original desativado com comando de comentário. Isso é importante caso queira voltar para a configuração original depois.
Foi feito teste disso na versão 1.9.3 e 1.9.7. Tendo em conta que se trata do padrão básico do Moodle, em tese, isso pode funcionar em qualquer versão seja 1.8 ou 2.0, basta testar.
É bom lembrar que esse tipo de operação cirúrgica alterar o padrão do Moodle. Sendo assim, ao atualizar o Moodle para a nova versão, o problema voltará. A solução é alterar novamente o código PHP.
Veja também
Tornar Campo Sobrenome Opcional no Formulário de Cadastro de Usuário no Moodle
Se você estiver recebendo reclamação dos alunos de que toda as vezes que logam no Moodle aparece o formulário de perfil que os impeçam de acessar o curso enquanto o maldito formulário não for atualizada, fique frio. A solução será desativar a função da biblioteca do Moodle responsável por essa dor cabeça. Então vamos lá, para resolver isso, siga os seguintes passos:
1° Passo - Abrir o arquivo moodlelib.php
Abra em um editor de texto o seguinte arquivo:
$CFG->wwwroot/lib/moodlelib.php
2° Passo - Localizar função user_not_fully_set_up
Localize no arquivo o seguinte código:
function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->lastname) or empty($user->email) or over_bounce_threshold($user)));
}
Esse código fica normalmente na linha 2330. Define os campos do perfil que são obrigatório.
3° Passo - Desativar a função user_not_fully_set_up parcialmente ou totalmente
a) Parcialmente
Para desativar a função parcialmente, eliminando a obrigatoriedade apenas do sobrenome, apague o seguinte trecho do código: or empty($user->lastname)
Feito isso, o código ficará assim:
function user_not_fully_set_up($user) {
return ($user->username != 'guest' and (empty($user->firstname) or empty($user->email) or over_bounce_threshold($user)));
}
b) Totalmente
Para desativar a função totalmente, simplesmente substitua toda a linha de código dentro da função return false.
Feito isso, o código ficará assim:
function user_not_fully_set_up($user) {
return false;
}
4° Passo - Gravar alteração do arquivo moodlelib.php
Para que a alteração seja efetivada, grave o arquivo. Feito isso, os alunos não terão mais dor de cabeça com o formulário do perfil e você não perderá seu sono pensando em como descascar o abacaxi.
O ideal é manter a linha de código original desativado com comando de comentário. Isso é importante caso queira voltar para a configuração original depois.
Foi feito teste disso na versão 1.9.3 e 1.9.7. Tendo em conta que se trata do padrão básico do Moodle, em tese, isso pode funcionar em qualquer versão seja 1.8 ou 2.0, basta testar.
É bom lembrar que esse tipo de operação cirúrgica alterar o padrão do Moodle. Sendo assim, ao atualizar o Moodle para a nova versão, o problema voltará. A solução é alterar novamente o código PHP.
Veja também
Tornar Campo Sobrenome Opcional no Formulário de Cadastro de Usuário no Moodle