S.O.S

S.O.S

por Francisco Correia -
Número de respostas: 12

Oi amigos!

Tenho o Moodle 1.7 instalado. Com a história da "atribuição de papéis" e permissões acabei, distraidamente, por revogar as permissões do Administrador. Agora faço o login, entro, mas não de aparece o bloco de Administração. Por outras palavras, não acedo às configurações gerais do site. Que posso fazer? Alguém tem uma sugestão? Algun ficheiro que possa editar para alterar? Ir à base de dados?

Senão... era uma vez esta instalação!

Agradecia!

Em resposta a 'Francisco Correia'

Re: S.O.S

por manuel Pinto -
Já me aconteceu o mesmo, e tive de voltar à estaca zero.
Penso que isso é guardado na base de dados, não sei onde nem como alterar, agora só com nova base de dados, será que tinha backup antes de ter alterado?
Se sim, dá pouco trabalho é só restaurar, se não tem de criar nova base de dados.
Se alguém conhecer outra forma de resolver, que diga.
Aconselho vivamente a fazer um backup da base de dados antes de mexerem nas permissões.


Em resposta a 'manuel Pinto'

Re: S.O.S

por Edmilton Neves -
Boas Pessoal!!

Francisco, só para compararmos as atribuições que seu administrador tem para o meu, tente executar o comando abaixo no seu banco de dados e envie o resultado.

Query:
select r.name, rc.capability, rc.permission
from mdl_role r,
mdl_role_capabilities rc
where rc.roleid = r.id and
r.name = 'Administrador';


Em minha base de dados, retornou 147 linhas.
Para executar isto, vc pode utilizar o programa phpMyAdmin, ou no próprio prompt de comando.

Espero que ajude.

Qualquer dúvida, vai postando aqui que vamos resolver.
Porém, se sua base de dados estiver vazia, creio que seja mais rápido recriá-la.

Abraço.

Edmilton Neves
Em resposta a 'Edmilton Neves'

Re: S.O.S

por Francisco Correia -

Corri como disse e obtive a seguinte mensagem:

Erro

Comando SQL: Documentação

Query : SELECT r.name, rc.capability, rc.permission
FROM mdl_role r, mdl_role_capabilities rc
WHERE rc.roleid = r.id
AND r.name = 'Administrador'
LIMIT 0 , 30

Mensagens do MySQL : Documentação

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Query :  select r . name , rc . capability , rc . permission  from mdl_role r , ' at line 1
Em resposta a 'Edmilton Neves'

Re: S.O.S

por Francisco Correia -

Note-se: eu consigo entrar com os meus dados de Administrador; no meu perfil, continuo como administrador... mas não tenho acesso permissões para o bloco de Administração do site (que aliás não aparece!). Ao tentar entrar em admin diz-me que eu não tenho permissão:

http://franciscogcorreia/moodle/admin

 

Em resposta a 'Edmilton Neves'

Re: S.O.S

por Francisco Correia -

O resultado é este.

Comando SQL:SELECT r.name, rc.capability, rc.permission
FROM mdl_role r, mdl_role_capabilities rc
WHERE rc.roleid = r.id
AND r.name = 'Administrador'
LIMIT 60 , 30

Penso que mostra 62 linhas?

Em resposta a 'Francisco Correia'

Re: S.O.S

por Edmilton Neves -
Olá Francisco, desculpe-me pela demora!

Creio que sim, mas para eu comparar com as permissões que a "role" administrador tem em minha base, vamos tentar fazer da seguinte forma:

Ao entrar no phpMyAdmin, clique em SQL, nesta tela, digite o comando SQL que te mandei no primeiro post. Após fazer isto, repare que abaixo de "Consulta SQL" terá uma lista com diversas linhas. Estas linhas são o resultado da consulta. E é justamente este resultado que gostaria de comparar.

Segue um anexo para ilustrar aonde estaria a lista dos dados.

Espero estar ajudando!
Abraço!
Edmilton Neves
Em resposta a 'Edmilton Neves'

Re: S.O.S

por Francisco Correia -

Aparecem-me 3 páginas de linhas: duas com 30 e a última com 2 linhas.

A imagem que me dá é ligeiramente diferente:

name capability permission
Administrador mod/hotpot:attempt 1
Administrador mod/hotpot:deleteattempt 1
Administrador mod/hotpot:grade 1
Administrador mod/hotpot:viewreport 1
Administrador mod/lams:manage 1
Administrador mod/lesson:edit 1
Administrador mod/lesson:manage 1
Administrador mod/quiz:deleteattempts 1
Administrador mod/quiz:grade 1
Administrador mod/quiz:manage 1
Administrador mod/quiz:preview
Em resposta a 'Edmilton Neves'

Re: S.O.S

por Francisco Correia -

Claro que está a ajudar!

A participação dos mais experientes é sempre útil!

Obrigado Edmilton! Obrigado Manuel Pinto!

Em resposta a 'Francisco Correia'

Re: S.O.S

por Francisco Correia -

Está resolvido!

O problema prende-se com o facto de o user com o id=1 ter desaparecido.

Assim, fui à base de dados e editei a tabela mdl_user, verificando que eu fgcorrei estava com o id=2 e não id=1.

Alterei o id para 1. O problema resolveu-se, a angústia passou. Conclusão: na administração geral do site não se deve mexer nas permissões do Administrador. Ao nível de cada disciplina pode-se mexer porque se houver erro ainda há retorno. Esse é garantido pelo Administrador geral do site.

Valeu a pena o esforço meu e dos colegas presentes neste tópico, aos quais agradeço! Em especial ao Edmilton que se revelou de uma disponibilidade a 100% para me ajudar a superar a situação.

Em resposta a 'Francisco Correia'

Re: S.O.S

por manuel Pinto -
É esquisito, fui ver a minha base de dados e estou com id=2 e está a funcionar. Aliás não existe id=1, será por isso?
O que me indicou a pesquisa, é que devemos sempre fazer um backup da base de dados antes de mexer nas permissões. Se der para o torto é só repor. Não se deve, se não se souber muito bem o que fazer, mexer nas primeiras permissões indicadas por LEGADO

Bom trabalho Francisco
Em resposta a 'manuel Pinto'

Re: S.O.S

por Francisco Correia -
Penso que o que pode gerar conflitos é a duplicação de papéis por parte do mesmo user. Estarei certo?
Em resposta a 'Francisco Correia'

Re: S.O.S

por Edmilton Neves -
Boas Pessoal!!
Que bom que o problema foi resolvido!

Eu realmente achei estranho a questão do id. Ainda não entendi completamente o ponto onde aconteceu, ou seja, a role específica, mas, vamos aprendendo!

No que precisarem, contem comigo!

Abraços!
Edmilton Neves