Pular para o conteúdo principal

Postagens

Forçar mudança de senha de usuários no Moodle através de SQL

Olá Pessoal, Hoje vou mostrar pra você como forçar a mudança de senha de um usuário no Moodle através de um comando SQL. Com isso você poderá utilizar por exemplo uma alteração de senha diferente da utilizada por padrão pelo Moodle ou mesmo uma forma mais fácil de forçar a alteração de senha de um determinado grupo de usuários. Vamos lá! A tabela que vamos utilizar para fazer essa mudança é a  mdl_user_preferences. Essa tabela armazena algumas preferências de usuários, tais como: algumas preferências de envio de mensagens, visualizações de perfil ou de blocos e a de forçar alteração de senha ( auth_forcepasswordchange ). Dessa maneira basta fazer um INSERT nessa tabela da seguinte maneira. Onde,  USERID  será igual ao ID DO USUÁRIO que será forçado a alterar a senha,  NAME  será igual a  auth_forcepasswordchange  preferência padrão do Moodle e  VALUE  será igual a 1, informando que essa alteração de senha está ativa/válida. INSERT INT...

Relatório de número de alunos matriculados por curso no Moode em SQL

Olá Pessoal, Hoje recebi um pedido de um leitor do Blog, para mostrar como seria um relatório contendo o número de alunos matriculados por curso no Moodle. Em outro momento aqui no Blog mostrei como fazer um  Relatório de alunos matriculados por curso no Moodle em SQL . Vamos lá então! Para fazer esse relatório de número de alunos por curso, utilizei a  mesma consulta do Relatório de alunos matriculados, porém dessa vez utilizando a função COUNT do SQL. SELECT COUNT(*) as NUM_ALUNOS  FROM mdl_role_assignments  JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid  JOIN mdl_context ON mdl_role_assignments.contextid = mdl_context.id  WHERE mdl_role_assignments.roleid = 5 AND mdl_context.contextlevel = 50 AND mdl_context.instanceid = ID_DO_CURSO Essa consulta irá retornar o número de alunos em apenas um 1 curso. O curso que passamos o ID no campo MDL_CONTEXT.INSTANCEID. Vamos a próxima consulta: SELECT * FROM mdl_course Nessa última co...

Consultar campos complementares do Moodle no Banco de Dados MySQL

Essa postagem é uma continuação da postagem que fiz no sábado(08/03), Criando campos complementares no perfil de usuário do Moodle . Hoje vou mostrar como consultar esses campos complementares criados no perfil de usuário do Moodle no banco de dados através de SQL. Vamos lá! Primeiramente, vamos conhecer as tabelas onde são armazenados esses campos e vamos utilizar para consultas: mdl_user:  Armazena informações do usuário (Nome, E-mail, Usuário...) mdl_user_info_field: Armazena as informações e configurações do campo criado (Nome do campo, Tamanho, etc). mdl_user_info_data : Armazena as informações, dos campos complementares, inseridas pelo usuário em seu perfil. RESUMINDO: A tabela mais importante de todas é a  mdl_user_info_data já que é nela que são armazenadas as informações que queremos dos campos complementares. A tabela  mdl_user_info_data  é composta por 5 campos, sendo os mais importantes deles:  - ID : ID auto-incrementado da tabela - USE...

Criando e Sincronizando Modelo Entidade-Relacionamento com MySQL Workbench

Olá Pessoal, tudo bem? Hoje vou mostrar duas funcionalidades muito interessantes do MySQL Workbench. Pra quem não sabe, o MySQL Workbench é uma ferramenta gratuita de criação, design, modelagem, além de outras funcionalidades de gerenciamento de bancos MySQL. É uma ferramenta muito completa, a minha preferida para trabalhar com banco de dados MySQL. Vamos lá! - Baixe e instale o Workbench. Para fazer o download clique aqui CRIANDO BANCO DE DADOS - Depois de instalado vá em CREATE NEW EER MODEL - Você poderá alterar o nome do banco de dados, clicando duas vezes no nome do banco, como na imagem abaixo. No meu caso dei o nome de "meu_banco": - Adicionando tabelas ao seu banco de dados. Veja na imagem abaixo: - Criei o nome de minha tabela "tbl_usuarios", criando os campos ID (INT, NOT NULL, e AUTO INCREMENTO), NOME, EMAIL, USUARIO, SENHA e DATA_CRIACAO. Você criará o seu banco de acordo a sua necessidade. O MySQL Workbench vai te fornecer s...

Criando campos complementares no perfil de usuário do Moodle

Olá Pessoal, Tudo Bom? O post de hoje é sobre criar campos complementares no perfil de usuário do Moodle. Muitas vezes o perfil de criação de usuário no Moodle não permite inserir informações importantes, por exemplo: RG, CPF, Data de Nascimento, Sexo, entre outras que você desejar. Não é possível inserir já que o formulário não contempla esses campos. Para suprir essa demanda você pode criar campos complementares. Vamos lá! 1º Logado com administrador do Moodle você irá em ADMINISTRAÇÃO DO SITE > USUÁRIOS > CONTAS > CAMPOS DE PERFIL DO USUÁRIO: 2º Dentro de CAMPOS DE PERFIL DO USUÁRIO será necessário criar uma categoria onde você irá criar seus campos complementares. Por padrão o Moodle traz a categoria "Outros Arquivos". Aconselho criar uma nova categoria por questão de organização. Para criar a categoria vá em CRIAR UMA NOVA CATEGORIA DE PERFIL: 3º Basta dar o nome desejado para essa nova categoria. No exemplo usei DADOS PESSOAIS: 4º Cri...

Criptografia de senha para Moodle 2.5

Olá Pessoal, tudo bom? Hoje vou postar como fazer para criptografar e comparar a senha passada pelo usuário do Moodle, com a senha que está armazenada no banco de dados. Isso é importante para realizar, por exemplo, uma autenticação em outro site, utilizando o usuário e senha do Moodle, autenticar em seu Moodle a partir de outro site e assim por diante. É algo muito útil na lida diária do Moodle. IMPORTANTE! Fiz o teste no ambiente Moodle versão 2.5 utilizando banco de dados MySQL. VAMOS LÁ! Nessa versão 2.5 o Moodle NÃO utilizada mais uma hash MD5 simples, como nas versões anteriores. O Moodle faz uso da função crypt  do PHP. Sabendo disso basta você comparar as duas senhas. A senha passada pelo usuário e a senha do banco de dados. Veja como ficou: //Senha passada pelo usuário via POST/formulário $senhaUsuario = "senhaPassadaPeloUsuario"; //Senha do usuário armazenada no banco de dados $senhaDoBanco = "senhaArmazenadaNoBanco";  //Faz a cr...

Relatório de alunos matriculados por curso no Moodle em SQL

Olá Pessoal, tudo bem? Hoje vou postar aqui uma consulta em SQL que vai retornar os alunos matriculados por curso no Moodle. Uma consulta simples que irá funcionar no MySQL. SELECT mdl_user.id as ID, upper(CONCAT(mdl_user.firstname,mdl_user.lastname)) as NOME  FROM mdl_role_assignments  JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid  JOIN mdl_context ON mdl_role_assignments.contextid = mdl_context.id  WHERE mdl_role_assignments.roleid = 5 AND mdl_context.contextlevel = 50 AND mdl_context.instanceid = ID_CURSO  ORDER BY firstname Nessa consulta SQL utilizei as tabelas  mdl_user  (armazena as informações de usuário como nome, id, e-mail, etc),  mdl_role_assignments  (armazena as informações da matricula do usuário no curso) e  mdl_context  (armazena as informações do contexto desse usuário no curso.)  No campo  mdl_context.instanceid deverá será ser utilizado o ID DO CURSO.  Para saber q...