Tornar o Campo Descrição Obrigatório ao Editar Perfil do Usuário pelo Código PHP
Autor: Badiu | Publicado: 2012-07-13T19:25:00-07:00


O campo descrição é opcional no formulário de cadastro e edição do perfil do usuário. Caso queira torná-lo obrigatório apenas ao editar o perfil, será necessário&nbsp;&nbsp;&nbsp; fazer um hacker no código do core do Moodle. O hacker será desnecessário se houver alguma opção de configuração na interface do Moodle. Pelas pesquisas que fiz, não encontrei essa opção. Então vamos ao hacker. Se você descobrir como fazer essa configuração na interface do Moodle, não esquece de me avisar. &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Para obrigar o preenchimento do campo descrição na edição do perifl pelo código PHP, siga os seguintes passos:1° Passo&nbsp; - Abrir o arquivo editlib.php&nbsp;&nbsp;&nbsp; Abra em um editor de texto o seguinte arquivo: &nbsp;&nbsp;&nbsp; $CFG-&gt;wwwroot /user/editlib.php$CFG-&gt;wwwroot&nbsp; se refere ao endereço da pasta em que a aplicação do Moodle está instalada.&nbsp;

2° Passo&nbsp; - Localizar o campo descrição do formulário de cadastro/edição&nbsp;&nbsp;&nbsp; O código que gera o campo descrição no formulário de cadastro/edição do usuário fica&nbsp; geralmente na linha&nbsp; 230. Na versão 2.2.2 na linha 260. Moodle 1.9Na versão 1.9.x, localize a seguinte linha de código:$mform-&gt;setHelpButton('description', array('text', get_string('helptext')));Abaixo dessa linha insira o seguinte código:if(optional_param('id', 0,PARAM_INT)&gt;0) $mform-&gt;addRule('description',&nbsp; get_string('required'), 'required', null, 'client');Moodle 2Na versão 2.x , localize a seguinte linha de código:$mform-&gt;addHelpButton('description_editor', 'userdescription');Abaixo dessa linha insira o seguinte código:if(optional_param('id', 0,PARAM_INT)&gt;0) $mform-&gt;addRule('description_editor',&nbsp; get_string('required'), 'required', null, 'client');O código adicionado define a obrigatoriedade do campo descrição apenas se for a edição do&nbsp; perfil e não o&nbsp; cadastro de um novo usuário. A diferença do código da versão 1.9.x para 2.x está apenas no nome do campo que mudou de description&nbsp; para description_editor.
O url de cadastro de usuário e de edição do perfil é&nbsp; o mesmo . A diferença está no parâmetro id. Url para cadastro de usuário:$CFG-&gt;wwwroot /user/editadvanced.php?id=-1Url para edição do perfil do&nbsp; usuário:$CFG-&gt;wwwroot /user/editadvanced.php?id=5O parâmetro -1 indica é o processo de cadastro de um novo usuário. Se o parâmetro id for maior que zero, significa que se trata de edição do usuário. Id maior que zero é o id do usuário na base de dados. O código&nbsp;&nbsp; if(optional_param('id', 0,PARAM_INT)&gt;0)&nbsp;&nbsp; verifica se o valor do parâmetro id é maior que zero. Se for, a função addRule aplica a obrigatoriedade no campo descrição.&nbsp; &nbsp;3° Passo&nbsp; - Gravar alteração do arquivo editlib.php&nbsp;&nbsp;&nbsp; Para que a alteração seja efetivada, grave o arquivo. Feito isso, basta acessar o formulário de edição do perfil&nbsp; para verificar se o campo descrição ficou obrigatório.&nbsp; &nbsp;&nbsp;&nbsp; Esse procedimento é um hacker do código, ou seja, altera o código padrão do Moodle. Em caso de atualização, esse código será perdido. Para manter, é necessário seguir os mesmos procedimentos após a atualização da versão.