• Авторизация


Интеграция phpBB и danneo cms, небольшой хак 02-07-2008 00:06 к комментариям - к полной версии - понравилось!


Danneo cms имеет встроенную интеграцию с phpBB 3.0.x. При ее использовании осуществляется совместная регистрация, лог-ин и лог-аут. Но при этом используется таблица _users форума, а таблица пользователей даннео вообще никак не используется. В чем тут недостаток? Да хотя бы в том, что пароли в phpBB хэшируются специальным методом, в то время как остальные cms в большинстве своем используют для хэширования md5. Поэтому потом вы можете нажить некоторые проблемы с этим, так как у вас попросту не будет нужных хэшей.
В связи с этим я задумал сделать дублирование аккаунтов. При регистрации нового пользователя добавляется запись как в таблицу форума, так и в таблицу сайта. При этом можно в любой момент разделить сайт и форум, и они продолжать нормально функционировать без потери пользователей.
Итак, перейдем к делу. После стандартных настроек интеграции через danneo лезем править файлы форума.
Открываем includes/ucp/ucp_register.php
Находим (строки 327-328)
PHP:

'user_inactive_time'    => $user_inactive_time,
);
font>


Добавляем, после:
PHP:

// for danneo's table [by FladeX]
$user_cmspass md5($data['new_password']);
font>


Находим (строка 331)
PHP:

$user_id 
user_add($user_row$cp_data);
font>


Добавляем, после
PHP:

// Duplicate user in cms database [by FladeX]
cmsuser_add($user_row$user_id$user_cmspass);
font>


Открываем includes/functions_user.php
Находим (строки 296-297):
PHP:

return $user_id;
}
font>


Добавляем, после
PHP:

function cmsuser_add($user_row$user_id$user_cmspass)
{
global 
$db$user$auth$config$phpbb_root_path$phpEx;
$username $user_row['username'];
$user_email strtolower($user_row['user_email']);
$user_regdate $user_row['user_regdate'];
$sql "INSERT INTO danneo_users (userid, uname, upass, umail, regdate, activate) VALUES ('$user_id', '$username', '$user_cmspass', '$user_email', '$user_regdate', 1)";
$db->sql_query($sql);
}
font>


Сохраните изменения и закройте файлы.

Примечания.
1. Вместо "danneo" должен быть ваш префикс таблиц danneo.
2. id пользователей не должны различаться. Во всяком случае id крайнего пользователя в phpBB не должен быть меньше id крайнего пользователя в danneo. А вообще хак делался для ситуации когда id не различаются.
3. Файлы необходимо открывать в кодировке utf-8 (unicode)
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Интеграция phpBB и danneo cms, небольшой хак | FladeX - phpBB :: danneo cms :: slaed cms | Лента друзей FladeX / Полная версия Добавить в друзья Страницы: раньше»