Авторизация через Вконтакте, Facebook, Twitter ... и OpenID

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Помогите разобраться. Я и копаюсь в коде.

Код: Выделить всё

case 'register':
		if ($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

if (!empty($_POST['token'])) {
	$module->load('loginza', 'register');
} else {
if (!empty($_POST['token'])) {
	$module->load('loginza', 'register');
} else {
	$module->load('ucp', 'register');
}
}
		$module->display($user->lang['REGISTER']);
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение владимир1983 »

Файл целиком вложением выложи.

Добавлено спустя 1 минуту 15 секунд:
Re: Авторизация через Вконтакте, Facebook, Twitter ... и OpenID
Ошибка при переходе в личный раздел?
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Удалил все заработало. Так же удалил от утад ulogin
if (!empty($_POST['token'])) {
$module->load('loginza', 'register');
} else {

Осталось
$module->load('ucp', 'register');
$module->display($user->lang['REGISTER']);

Теперь вход почти срабатывает....
Нажимаешь продолжить...и он выкидывает на страницу регистраци снова...

Добавлено спустя 1 минуту 58 секунд:
Re: Авторизация через Вконтакте, Facebook, Twitter ... и OpenID
php фаил не выкладывается. Код:

Код: Выделить всё

<?php
/**
*
* @package ucp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);

// Basic parameter data
$id 	= request_var('i', '');
$mode	= request_var('mode', '');

if (in_array($mode, array('login', 'logout', 'confirm', 'sendpassword', 'activate')))
{
	define('IN_LOGIN', true);
}

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');

// Setting a variable to let the style designer know where he is...
$template->assign_var('S_IN_UCP', true);

$module = new p_master();
$default = false;

// Basic "global" modes
switch ($mode)
{
	case 'activate':
		$module->load('ucp', 'activate');
		$module->display($user->lang['UCP_ACTIVATE']);

		redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
	break;

	case 'resend_act':
		$module->load('ucp', 'resend');
		$module->display($user->lang['UCP_RESEND']);
	break;

	case 'sendpassword':
		$module->load('ucp', 'remind');
		$module->display($user->lang['UCP_REMIND']);
	break;

	case 'register':
		if ($user->data['is_registered'] || isset($_REQUEST['not_agreed']))
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

	$module->load('ucp', 'register');


		$module->display($user->lang['REGISTER']);
	break;

	case 'confirm':
		$module->load('ucp', 'confirm');
	break;

	case 'login':
		if ($user->data['is_registered'])
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

		login_box(request_var('redirect', "index.$phpEx"));
	break;

	case 'logout':
		if ($user->data['user_id'] != ANONYMOUS && isset($_GET['sid']) && !is_array($_GET['sid']) && $_GET['sid'] === $user->session_id)
		{
			$user->session_kill();
			$user->session_begin();
			$message = $user->lang['LOGOUT_REDIRECT'];
		}
		else
		{
			$message = ($user->data['user_id'] == ANONYMOUS) ? $user->lang['LOGOUT_REDIRECT'] : $user->lang['LOGOUT_FAILED'];
		}
		meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));

		$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a> ');
		trigger_error($message);

	break;

	case 'terms':
	case 'privacy':

		$message = ($mode == 'terms') ? 'TERMS_OF_USE_CONTENT' : 'PRIVACY_POLICY';
		$title = ($mode == 'terms') ? 'TERMS_USE' : 'PRIVACY';

		if (empty($user->lang[$message]))
		{
			if ($user->data['is_registered'])
			{
				redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
			}

			login_box();
		}

		$template->set_filenames(array(
			'body'		=> 'ucp_agreement.html')
		);

		// Disable online list
		page_header($user->lang[$title], false);

		$template->assign_vars(array(
			'S_AGREEMENT'			=> true,
			'AGREEMENT_TITLE'		=> $user->lang[$title],
			'AGREEMENT_TEXT'		=> sprintf($user->lang[$message], $config['sitename'], generate_board_url()),
			'U_BACK'				=> append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login'),
			'L_BACK'				=> $user->lang['BACK_TO_LOGIN'],
		));

		page_footer();

	break;

	case 'delete_cookies':

		// Delete Cookies with dynamic names (do NOT delete poll cookies)
		if (confirm_box(true))
		{
			$set_time = time() - 31536000;

			foreach ($_COOKIE as $cookie_name => $cookie_data)
			{
				// Only delete board cookies, no other ones...
				if (strpos($cookie_name, $config['cookie_name'] . '_') !== 0)
				{
					continue;
				}

				$cookie_name = str_replace($config['cookie_name'] . '_', '', $cookie_name);

				// Polls are stored as {cookie_name}_poll_{topic_id}, cookie_name_ got removed, therefore checking for poll_
				if (strpos($cookie_name, 'poll_') !== 0)
				{
					$user->set_cookie($cookie_name, '', $set_time);
				}
			}

			$user->set_cookie('track', '', $set_time);
			$user->set_cookie('u', '', $set_time);
			$user->set_cookie('k', '', $set_time);
			$user->set_cookie('sid', '', $set_time);

			// We destroy the session here, the user will be logged out nevertheless
			$user->session_kill();
			$user->session_begin();

			meta_refresh(3, append_sid("{$phpbb_root_path}index.$phpEx"));

			$message = $user->lang['COOKIES_DELETED'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
			trigger_error($message);
		}
		else
		{
			confirm_box(false, 'DELETE_COOKIES', '');
		}

		redirect(append_sid("{$phpbb_root_path}index.$phpEx"));

	break;

	case 'switch_perm':

		$user_id = request_var('u', 0);

		$sql = 'SELECT *
			FROM ' . USERS_TABLE . '
			WHERE user_id = ' . (int) $user_id;
		$result = $db->sql_query($sql);
		$user_row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		if (!$auth->acl_get('a_switchperm') || !$user_row || $user_id == $user->data['user_id'] || !check_link_hash(request_var('hash', ''), 'switchperm'))
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

		include($phpbb_root_path . 'includes/acp/auth.' . $phpEx);

		$auth_admin = new auth_admin();
		if (!$auth_admin->ghost_permissions($user_id, $user->data['user_id']))
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

		add_log('admin', 'LOG_ACL_TRANSFER_PERMISSIONS', $user_row['username']);

		$message = sprintf($user->lang['PERMISSIONS_TRANSFERRED'], $user_row['username']) . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
		trigger_error($message);

	break;

	case 'restore_perm':

		if (!$user->data['user_perm_from'] || !$auth->acl_get('a_switchperm'))
		{
			redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
		}

		$auth->acl_cache($user->data);

		$sql = 'SELECT username
			FROM ' . USERS_TABLE . '
			WHERE user_id = ' . $user->data['user_perm_from'];
		$result = $db->sql_query($sql);
		$username = $db->sql_fetchfield('username');
		$db->sql_freeresult($result);

		add_log('admin', 'LOG_ACL_RESTORE_PERMISSIONS', $username);

		$message = $user->lang['PERMISSIONS_RESTORED'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">', '</a>');
		trigger_error($message);

	break;

	default:
		$default = true;
	break;
}

// We use this approach because it does not impose large code changes
if (!$default)
{
	return true;
}

// Only registered users can go beyond this point
if (!$user->data['is_registered'])
{
	if ($user->data['is_bot'])
	{
		redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
	}

	if ($id == 'pm' && $mode == 'view' && isset($_GET['p']))
	{
		$redirect_url = append_sid("{$phpbb_root_path}ucp.$phpEx?i=pm&p=" . request_var('p', 0));
		login_box($redirect_url, $user->lang['LOGIN_EXPLAIN_UCP']);
	}

	login_box('', $user->lang['LOGIN_EXPLAIN_UCP']);
}

// Instantiate module system and generate list of available modules
$module->list_modules('ucp');

// Check if the zebra module is set
if ($module->is_active('zebra', 'friends'))
{
	// Output listing of friends online
	$update_time = $config['load_online_time'] * 60;

	$sql = $db->sql_build_query('SELECT_DISTINCT', array(
		'SELECT'	=> 'u.user_id, u.username, u.username_clean, u.user_colour, MAX(s.session_time) as online_time, MIN(s.session_viewonline) AS viewonline',

		'FROM'		=> array(
			USERS_TABLE		=> 'u',
			ZEBRA_TABLE		=> 'z'
		),

		'LEFT_JOIN'	=> array(
			array(
				'FROM'	=> array(SESSIONS_TABLE => 's'),
				'ON'	=> 's.session_user_id = z.zebra_id'
			)
		),

		'WHERE'		=> 'z.user_id = ' . $user->data['user_id'] . '
			AND z.friend = 1
			AND u.user_id = z.zebra_id',

		'GROUP_BY'	=> 'z.zebra_id, u.user_id, u.username_clean, u.user_colour, u.username',

		'ORDER_BY'	=> 'u.username_clean ASC',
	));

	$result = $db->sql_query($sql);

	while ($row = $db->sql_fetchrow($result))
	{
		$which = (time() - $update_time < $row['online_time'] && ($row['viewonline'] || $auth->acl_get('u_viewonline'))) ? 'online' : 'offline';

		$template->assign_block_vars("friends_{$which}", array(
			'USER_ID'		=> $row['user_id'],

			'U_PROFILE'		=> get_username_string('profile', $row['user_id'], $row['username'], $row['user_colour']),
			'USER_COLOUR'	=> get_username_string('colour', $row['user_id'], $row['username'], $row['user_colour']),
			'USERNAME'		=> get_username_string('username', $row['user_id'], $row['username'], $row['user_colour']),
			'USERNAME_FULL'	=> get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']))
		);
	}
	$db->sql_freeresult($result);
}

// Do not display subscribed topics/forums if not allowed
if (!$config['allow_topic_notify'] && !$config['allow_forum_notify'])
{
	$module->set_display('main', 'subscribed', false);
}

// Do not display signature panel if not authed to do so
if (!$auth->acl_get('u_sig'))
{
	$module->set_display('profile', 'signature', false);
}

// Select the active module
$module->set_active($id, $mode);

// Load and execute the relevant module
$module->load_active();

// Assign data to the template engine for the list of modules
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}ucp.$phpEx"));

// Generate the page, do not display/query online list
$module->display($module->get_page_title(), false);

/**
* Function for assigning a template var if the zebra module got included
*/
function _module_zebra($mode, &$module_row)
{
	global $template;

	$template->assign_var('S_ZEBRA_ENABLED', true);

	if ($mode == 'friends')
	{
		$template->assign_var('S_ZEBRA_FRIENDS_ENABLED', true);
	}

	if ($mode == 'foes')
	{
		$template->assign_var('S_ZEBRA_FOES_ENABLED', true);
	}
}

?>
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение владимир1983 »

Ну вот и ищи что там из мусора осталось от логинзы и прочего...
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

ctrl+f по запросу логизна и юлогин ничего не дает ....

Добавлено спустя 5 минут 4 секунды:
Re: Авторизация через Вконтакте, Facebook, Twitter ... и OpenID
Все все получилось....
Но что меня щас не устроило и думаю никого не устроит... как сделать так, чтобы люди были под своими именами...
логин: " loginza465 " помоему беда...
есть решение ?

Добавлено спустя 6 минут 35 секунд:
Re: Авторизация через Вконтакте, Facebook, Twitter ... и OpenID
И как можно исправить данный бред, чтобы все было норм, логинза справа регистрация слева или на оборот с ле5ва и справа

Добавлено спустя 32 минуты 51 секунду:
Re: Авторизация через Вконтакте, Facebook, Twitter ... и OpenID
Решение нашел.
Но я не нашел решения, как сделать так чтобы люди уже приходили под своими именами, а не под ником loginza
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 16 лет 4 месяца
Откуда: Сергиев Посад
Благодарил (а): 373 раза
Поблагодарили: 727 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение владимир1983 »

drmouse писал(а):не под ником loginza
Это не реализовать. В теме обсуждение по этой проблеме есть, читай.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

а можно поменять приставку, логинза, на другую к примеру forum
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение Пчелкин »

drmouse писал(а):Но я не нашел решения, как сделать так чтобы люди уже приходили под своими именами, а не под ником loginza
Ты инструкцию до самого низа читаешь? Так почитай-
В настройках регистрации изменить максимальную длину имени пользователя до 60 знаков (опционально).
В панели администрирования в опции "Ограничения на символы в имени пользователя" необходимо выбрать "Любые символы".
В случае, если версия MySQL ниже пятой, необходимо выполнить второй дополнительный запрос в Базу Данных.
В файле styles/prosilver/template/overall_header.html в части строки http://site.ru/styles/prosilver/templat ... openid.htm
вместо "site.ru" необходимо вписать доменное имя вашего форума.
В файле login_openid.htm в части строки <a href="https://loginza.ru/api/widget?token_url ... 3Dregister"
вместо "site.ru" ввести адрес домена форума такого вида - (например, без кавычек) "hoper.top.ru"
В файле login_openid.htm в части строки <br /><a href="http://site.ru/rules/" target="_blank">
вместо "http://site.ru/rules/" ввести прямую ссылку на правила форума, если файл правил есть. В противном случае можно ввести ссылку на FAQ.
Все с "логинза" - это уже клоны...Или это ты сам с тем же ИПИшником...
Тож об этом не читал в этой теме? Я тебя узнал - ты чукча писатель...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Узнал, жаль богатым не буду )))
Сделал все по инструкции совершенно.

С логинза понятно... но можно как то "логинза" поменять, на кпримеру forumnick
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение Пчелкин »

Нет...имя и номера берутся с самого сервера лигинзы...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Жаль конечно. Да и вроде логинза не чешутся сделать норм )
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Здравствуйте! теперь при регистрации пишет ошибку, сверху форума и весь форум становится крупным шрифтом. В чем проблема может быть ?

Код: Выделить всё

[phpBB Debug] PHP Warning: in file [ROOT]/includes/loginza/loginza_register.php on line 146: imagecreatefromjpeg() [function.imagecreatefromjpeg]: URL file-access is disabled in the server configuration
[phpBB Debug] PHP Warning: in file [ROOT]/includes/loginza/loginza_register.php on line 146: imagecreatefromjpeg(http://cs312431.vk.me/v312431804/1dae/IsSpM0UDrqs.jpg) [function.imagecreatefromjpeg]: failed to open stream: no suitable wrapper could be found
[phpBB Debug] PHP Warning: in file [ROOT]/includes/loginza/loginza_register.php on line 147: imagesx(): supplied argument is not a valid Image resource
[phpBB Debug] PHP Warning: in file [ROOT]/includes/loginza/loginza_register.php on line 148: imagesy(): supplied argument is not a valid Image resource
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение Pazh »

предупреждение
drmouse писал(а):URL file-access is disabled in the server configuration
http://translate.goole.ru :
URL доступ к файлам отключен в конфигурации сервера
далее идем в любой поисковик и забиваем ошибку http://yandex.ru/yandsearch?text=URL+fi ... 644&lr=213 и "О чудо!" в первой же ссылке видим ответ на свой вопрос. Странно, как это у меня получилось? Наверно новый шаманский бубен помог...
Помощь в ЛС/email только за WM или ЮMoney
drmouse
phpBB 2.0.0
Сообщения: 211
Стаж: 14 лет 7 месяцев
Благодарил (а): 5 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение drmouse »

Как я перезагружу сервер, если сервер не мой ? Раньше такой ошибки не возникало все работает наура
Как я понял надо прописать allow_url_fopen On
allow_url_include On в php.ini но я это файл не могу найти
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Авторизация через Вконтакте, Facebook, Twitter ... и Ope

Сообщение Pazh »

.htaccess Вам в помощь или возможно Ваш хостинг поддерживает пользовательские настройки для php - узнать можно у хостера
Помощь в ЛС/email только за WM или ЮMoney

Вернуться в «Бета-версии модов для phpBB 3.0.x»