require_once("../config.php");
2° Passo
Receba os parâmetros do usuário passado pelo método GET:
//forçar login para acessar esse códigoNão foi passado o parâmetro senha. Pois a senha é igual ao ligin como monstra o código: $password=$username;
require_login();
//receber parármetro
$param= new stdClass();
$firstname= required_param('firstname',PARAM_TEXT);
$lastname= required_param('lastname',PARAM_TEXT);
$username= required_param('username',PARAM_TEXT);
$email= required_param('email',PARAM_TEXT);
$password= $username;
3° Passo
Verificar se não há duplicação de dados de login e e-mail. Esses dados devem ser únicos para cada usuário.
//verificar se login já existe
$existLogin=$DB->record_exists('user', array('username'=> $username));
if($existLogin)echo "Login já existe <br>";
//verificar se e-mail já existe
$existEmail=$DB->record_exists('user', array('email'=>$email));
if($existEmail)echo "E-mail já existe<br>";
4° Passo
Criar uma instância do objeto usuário. A instância reflete um mapeamento da tabela de mdl_user. Cada campo do objeto usuário dever corresponder a um campo da tabela mdl_user.
$newuser= new stdClass();
$newuser->id='';
$newuser->auth='manual';
$newuser->confirmed=1;
$newuser->mnethostid=1;
$newuser->username=$username;
$newuser->password=hash_internal_user_password($password);
$newuser->firstname=$firstname;
$newuser->lastname=$lastname;
$newuser->email=$email;
$newuser->timecreated=time();
Neste exemplo, a instância do usuário inicializa com os campos que são necessários na tabela mdl_user da versão.
5° Passo
Efetuar cadastro na base de dados e imprimir na tela o resultado, ou seja, o id do usuário recém cadastrado.
if(!$existLogin && !$existEmail){
$newuser->id = $DB->insert_record('user', $newuser);
echo "Cadastro efetuado com sucesso. O id o usuário recém cadastrado é: ".$newuser->id;
}
O cadastro só deve ser feito caso não houver duplicação de login e e-mail.Bem, esses 5 passos é tudo que você precisa para cadastrar um usuário no Moodle. Viu como é moleza.
Implementar no Moodle
Para executar esse código no Moodle, crie uma pasta denominado _extra dentro da raiz da instalação do Moodle. Em seguida, crie um arquivo denominado user_add.php dentro da pasta _extra. Coloque todo os trechos do código php nesse arquivo.
Feito isso, acesse o endereço:
MOODLE_URL/_extra/user_add.php?firstname=Pedro&lastname=Silva&username=pedro&email=pedro_2010@gmail.com
O url já passa os parâmetros necessários. Para ter certeza que tudo funcionou bem, tente logar com o usuário que cadastrou. Se funcionar é sinal que tudo está ok.
Download
Se estiver com preguiça de criar o arquivo e digitar o código, faça download desse exemplo. Descompacte o arquivo e cole na pasta _extra na raiz do seu Moodle. Caso a pasta _extra não exista ainda, crie-a. Agora faça o teste.