Появилась необходимость добавить "Супер Администратора", но как это сделать если нет прав супер администратора, но есть доступ к базе?
Относительно просто. Все дальнейшие действия производим в phpMyAdmin или другом клиенте для работы с БД.
1. Создаем нового пользователя
INSERT INTO `jos_users` (`id`,`name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) VALUES
('77777','nonick', 'nonick', 'web@nonick.name', 'md5-password', 'Super Administrator', 0, 0, 25, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '', 'admin_language=\nlanguage=\neditor=\nhelpsite=\ntimezone=0\n\n');
ALTER TABLE `jos_users` AUTO_INCREMENT =64;
id - id можно не указывать (убрать название поля и значение id в VALUES). Я назначаю пользователю большой номер id и потом после запроса устанавливаю AUTO_INCREMENT равный следующий за номером последнего пользователя, для этого нужно посмотреть id последнего пользователя и в запрос вставить следующий номер.
gid - id группы доступа.
password - md5 пароля. Узнать можно воспользовавшись функцией PHP
string md5 ( string $str [, bool $raw_output ] ) http://php.net/manual/ru/function.md5.php. Если вставка пользователя происходит через phpMyAdmin в поле пароль можно указать пароль и слева от этого поля выбрать тип значения MD5.
остальные поля в комментариях думаю не нуждаются
2. Теперь создадим запись о пользователе (для чего это было сделано, для меня не ясно)
INSERT INTO `jos_core_acl_aro` (`id` ,`section_value` ,`value` ,`order_value` ,`name` ,`hidden`)
VALUES ('888888', 'users', '77777', '0', 'nonick', '0');
ALTER TABLE `jos_core_acl_aro` AUTO_INCREMENT =12;
id - номер последней записи в таблице + 1, можно не указывать.
section_value - должно быть users
value - id пользователя которого мы создали. Можно воспользоваться функцией SQL LAST_INSERT_ID() - она возвращает последний вставленный id
3. Добавим пользователя в гуппу
INSERT INTO `jos_core_acl_groups_aro_map` (`group_id` ,`section_value` ,`aro_id`)
VALUES ('25', '', '88888');
Здесь все просто:
group_id - группа к которой будет принадлежать пользователь
aro_id - id записи о пользователи о "правах" предыдущая вставка
Надеюсь не сильно запутанно описал.
статья на английском
http://docs.joomla.org/How_do_you_recover_your_admin_password%3Fиз этой же статьи МД5 паролей
admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
gid и group_id
id name
============
17 ROOT
28 USERS
29 Public Frontend
18 Registered
19 Author
20 Editor
21 Publisher
30 Public Backend
23 Manager
24 Administrator
25 Super Administrator