Привязка к другому движку

Кто нибудь имеет опыт привязки LiveStreet с другими движками? Именно авторизация интересует. Хотелось бы сделать едуную авторизацию на своем сайте (самописный движок+форум на phpBB). В настоящее время у меня все связано (авторизация через форум), а как подключить еще и Live к ним?

9 комментариев

avatar
недавно привязывал SMF форум со своим движком на CI
(система планирования боев в одной онлайн игре), для пользования — надо войти на форум.

есть 2 метода интеграции. через API (SSI.php).

если же нужно в своем движке определить кто пришел, залогинене на форуме и прочее, то можно поступить проще:
просто инклюдить этот файл, он создает нужные переменые определить с массива GLOBALS:


	require_once 'forum/SSI.php';
	$this->user=$this->smf->is_login();

	function is_login()
	{
		$id=(int) $GLOBALS["GLOBALS"]['context']['user']['id'];
		return $id;
	}


А дальше с помощью 1 sql запроса можно вытащить все по юзеру
avatar
Вот полный код smf модели (CI)

<?php
class Smf extends Model {

	protected $table_prefix = 'smf';
	
    function __construct()
    {
        parent::Model();
		require_once 'forum/SSI.php';

    }

	function get_online_users()
	{
		$sql="
SELECT 
logTime,
{$this->table_prefix}_members.ID_MEMBER,
memberName,
ICQ,
{$this->table_prefix}_members.ID_GROUP,
groupName
FROM `{$this->table_prefix}_log_online`
LEFT JOIN `{$this->table_prefix}_members` ON {$this->table_prefix}_log_online.ID_MEMBER={$this->table_prefix}_members.ID_MEMBER
LEFT JOIN `{$this->table_prefix}_membergroups` ON {$this->table_prefix}_members.ID_GROUP={$this->table_prefix}_membergroups.ID_GROUP
WHERE {$this->table_prefix}_log_online.ID_MEMBER!=0";

		$query=$this->db->query($sql);
		
		if ($query->num_rows() == 0)
			return FALSE;
		else
			return $query->result();
	}

	function is_login()
	{
		$id=0;
		if (isset($_SESSION ["ban"]))
			if (isset($_SESSION ["ban"]["ID_MEMBER"]))
				$id = (int) $_SESSION ["ban"]["ID_MEMBER"];
		else
			$id=(int) $GLOBALS["GLOBALS"]['context']['common_stats']['latest_member']['id'];
		if ($id==0)
			$id=(int) $GLOBALS["GLOBALS"]['context']['user']['id'];
		//var_dump($id); die();

		$sql="
SELECT 
logTime,
{$this->table_prefix}_members.ID_MEMBER,
memberName,
ICQ,
{$this->table_prefix}_members.ID_GROUP,
groupName
FROM `{$this->table_prefix}_log_online`
LEFT JOIN `{$this->table_prefix}_members` ON {$this->table_prefix}_log_online.ID_MEMBER={$this->table_prefix}_members.ID_MEMBER
LEFT JOIN `{$this->table_prefix}_membergroups` ON {$this->table_prefix}_members.ID_GROUP={$this->table_prefix}_membergroups.ID_GROUP
WHERE {$this->table_prefix}_log_online.ID_MEMBER!=0 AND
{$this->table_prefix}_log_online.ID_MEMBER={$id}";

		$query=$this->db->query($sql);
		
		if ($query->num_rows() == 0)
			return FALSE;
		else
			return $query->row();
	}	
	
}
?>

avatar
То есть, я так так понимаю, мне необходимо назначать переменные в LS после проверки правильности пользователя в форуме, и после этого будет все работать?

Вопрос: а какие переменные отвечают за это в LS и каким образом производить сохранение пароля (функция «Запомнить пароль»)?

Заранее спасибо!
avatar
Пытаюсь скрестить юзерские базы LiveStreet'а и phpBB3…
Отпишусь об успехах :)
avatar
И как успехи? Удалось? :)
avatar
Пока никаких, увы. Есть дела другого плана.
avatar
Я привязал к MODx. Хотя пока интеграция не столь плотная, как мне хочется.
  • Carw
  • 0
avatar
И что нужно сделать в LS чтобы авторизацию внедрить?
avatar
В движке Danneo есть модули привязки авторизации к разным форумам. Пробую разобрать эти скрипты — может найду чего полезного.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.