Сморгонь.org | Карта | Телефоны | Погода | Расписание поездов | Фото | Форумы | Чат | Почта | Сморгонь в Сети | Хостинг

Здравствуйте, Гость ( Авторизация | Регистрация )

 
Тема закрытаСоздать новую темуСоздать новое голосование

> Интеграция IPB 2.0 и Slaed CMS, Нет ничего проще!

sEXEcutor
Feb 10 2006, 14:26
#1 |


Administrator
Сообщений: 787
Откуда: smorgon.org
Мои альбомы



Я вчера за час прицепил Слаед к форуму.
Вообще поражаюсь, как тема выросла до невиданных размеров на slaed.net.
Пример совмещенной авторизации
CODE
function is_user() {
  if (!isset($_SESSION['sluser']) && isset($_COOKIE['member_id']) && isset($_COOKIE['pass_hash'])) {
 $id = (int)$_COOKIE['member_id'];
 $pass = substr(addslashes($_COOKIE['pass_hash']), 0, 32);
 $q = q("SELECT * FROM ipb2.ipbf_members WHERE id = '$id' and member_login_key='$pass'");
 $user = fetch($q);
 if (is_array($user)) {
    $_SESSION['sludata'] = $user;
    return TRUE;
 }
  }
  else if (is_array($_SESSION['sludata'])) return TRUE;
  else return FALSE;
}

Перед этим в index.php в самом начале вставили команду
CODE
session_start();

С функцией админа делается еще проще.

А теперь в коде модулей нужно поправить
CODE
if(is_user($user))

на
CODE
if(is_user())

Фсе. Теперь в Слаеде совмещенная авторизация. Другое дело - данные о пользователе. Так как по логике мы уже создали массив с информацией юзера, то получение инфы будет так.
Заменяется функция
CODE
function getusrinfo() {
  return $_SESSION['sludata'];
}

А теперь, где нужен этот массив, получаем его так:
CODE
$userinfo = getusrinfo();

После этого имя пользователя из форума мы получаем так:
CODE
$username = $userinfo['name'];

В таблице members хранится имя, e-mail, количество постов, всякого рода доп. информация типа ICQ лежит в members_extra. Для нее можно сделать второй запрос и соответственно массив в функции is_user(). Так как мы используем сессии, запросы к БД форума делаются один раз за время сессии юзера.
Выход делается через форум.
Таблица используется только форумная.
Для подписки и прочей доп.инфы чисто в Слаеде нужно делать еще правки.

Предупреждаю - разжевывать не буду! Код для тех, кто понимает суть этих процессов. С такими я с удовольствием пообсуждаю этот код. А для кого это китайская грамота - тому на slaed.net, там этот вопрос уже давно мусолят.

Предупреждение! Если вы забили на свой форум и не фиксите найденные XSS-уязвимости, вас могут хакнуть - стащить ваш pass_hash и зайти под админом.

Пользователь online!ПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
Lms
Feb 12 2006, 05:22
#2 |


Гость



А никто и не сомневался, что тебе нужно будет не больше часа на потратить ))
Но на слаедовском форуме немного по другому вопрос стоит.
В твоем решении осуществлена ТОЛЬКО авторизация с существующими пользователями, а заводить нового юзера получается только через форум надо ? А как же слаед будет использовать данные ИПБ ? Значит переписывать слаедовскую регу необходимо, иначе возникнут траблы с модулями слаеда, а это небольшой цирк получается))...
Вернуться к началу страницы
+Цитировать сообщение
sEXEcutor
Feb 12 2006, 22:40
#3 |


Administrator
Сообщений: 787
Откуда: smorgon.org
Мои альбомы



QUOTE
заводить нового юзера получается только через форум надо ?

Да.
QUOTE
А как же слаед будет использовать данные ИПБ ?

В массиве $_SESSION['sludata'] хранится информация о юзере.
$_SESSION['sludata']['name'] - имя
$_SESSION['sludata']['email'] - электронный адрес. и так далее.
Регистрацию переделывать не нужно, т.к. предполагается, что таблица slaed_users не будет использоваться по прямому назначению, вся информация о юзерах хранится в базе форума и нечего ее клонировать в базу движка. Т.е. юзеры регятся через форум, и Слаед берет данные из него.
QUOTE
Значит переписывать слаедовскую регу необходимо, иначе возникнут траблы с модулями слаеда, а это небольшой цирк получается

Какой цирк? Какую инфу, к примеру, ты не мог бы получить в этом хаке?
Вообще - нюковская архитектура не дает возможности написать нормальную интеграцию без правки файлов.
Пользователь online!ПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
V!rus
Feb 13 2006, 17:31
#4 |


------------------
Сообщений: 1,537
Откуда: луна
Мои альбомы





Спасиб, жму сохранить, дабы пригодиться :)
Пользователь offlineПрофайлОтправить личное сообщение
Вернуться к началу страницы
+Цитировать сообщение
Guest
Mar 15 2006, 09:24
#5 |


Гость



sEXEcutor - ты лучший:)
я подозревал что все так просто...
Вернуться к началу страницы
+Цитировать сообщение

 
Тема закрытаСоздать новую тему
Читайте также: Как убрать копирайты со Слаеда? · Новые темы! Послушайте. · WWW.HELLSGATE.H15.RU · RaP.hut1.ru · wWw.Motorola.al.ru · wWw.C65.al.ru · Поддержи PURITY на конкурсе Miss-Metallection! · Задушевный разговор · http://bykd.net · ЧПУ для Slaed CMS? Этому отстою уже ничего не поможет · Зімняя Сустрэча · НУЖЕН ПРОЦ!
 


Реклама: ·