Перейти к контенту
  • 0

login/logout redirect


Clarus

Вопрос

Приветствую Вас, многоуважаемые форумчане и форумчихи :)

 

Значит так... стоит у меня joomla 1.5 + ipb 2.3.6 (интеграция с помощью jipbintegration)

 

В joom'ле отключен встроенный плагин авторизации, вместо него установлен плагин из пакета интеграции, использующий IPB'шный. Все работает нормально.

 

Проблема заключается в следующем !!!

После login'a/logout'a на форуме открывается http://localhost/forum/index.php?

а мне очень нужно чтобы открывался http://localhost/

 

Облазил весь форум, нашел только как сделать чтобы после регистрации в IPB открывался http://localhost/ (подробнее описано здесь)

 

Вообще-то у меня в планах сделать авторизацию только в самой jooml'е, в пакете интеграции есть модуль BP Login,

в нем есть настройки Login Redirection URL и Logout Redirection URL

если я там прописываю http://localhost/ то по итогам при входе\выходе

попадаю на http://localhost/forum/index.php?http://localhost/ а мне нужно попадать на http://localhost/ ;)

 

Может кто знает в чем дело ?! Очень прошу, многоуважаемые гуру, помогите... :D

 

Вот исходные коды файлов модуля для jooml'ы с формой логина:

mod_bplogin/helper.php

<?php
/**
*
* @package jipbPlugin
*
* Minimum Requirement: PHP 4.3.3
*/ 

// no direct access
defined('_JEXEC') or die('Restricted access');

class modBploginHelper
{
function getReturnURL($params, $type)
{
	if($itemid =  $params->get($type)) 
	{
		$url = 'index.php?Itemid='.$itemid;
		$url = JRoute::_($url, false);
	}
	else
	{
		// Redirect to login
		$uri = JFactory::getURI();
		$url = $uri->toString();
	}

	return base64_encode($url);
}

function getType()
{
	$user = & JFactory::getUser();
	return (!$user->get('guest')) ? 'logout' : 'login';
}
}

 

mod_bplogin/mod_bplogin.php

<?php
/**
*
* @package jipbPlugin
*
* Minimum Requirement: PHP 4.3.3
*/ 

// no direct access
defined('_JEXEC') or die('Restricted access');

// Include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');

$params->def('greeting', 1);

$type 	= modBploginHelper::getType();
$return	= modBploginHelper::getReturnURL($params, $type);

$user =& JFactory::getUser();

global $bbpixelPPS;

require(JModuleHelper::getLayoutPath('mod_bplogin'));

 

mod_bplogin/mod_bplogin.xml

<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
<name>BP Login</name>
<author></author>
<creationDate>Dec 2007</creationDate>
<copyright>2008  All rights reserved.</copyright>
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<version>1.5.0</version>
<description>DESCLOGINFORM</description>
<files>
	<filename module="mod_bplogin">mod_bplogin.php</filename>
	<filename>index.html</filename>
	<filename>helper.php</filename>
	<filename>tmpl/default.php</filename>
	<filename>tmpl/index.html</filename>
</files>
<params>
	<param name="@spacer" type="spacer" default="" label="" description="" />
	<param name="moduleclass_sfx" type="text" default="" label="Module Class Suffix" description="PARAMMODULECLASSSUFFIX" />
	<param name="pretext" type="textarea" cols="20" rows="5" default="" label="Pre-text" description="This is the Text or HTML that is displayed above the login form" />
	<param name="posttext" type="textarea" cols="20" rows="5" label="Post-text" description="This is the Text or HTML that is displayed below the login form" />
	<param name="login" type="text" default="" disable="separator" label="Login Redirection URL" description="PARAMLOGINREDIRECTURL" />
	<param name="logout" type="text" default="" disable="separator" label="Logout Redirection URL" description="PARAMLOGOUTREDIRECTURL" />
	<param name="greeting" type="radio" default="1" label="Greeting" description="Show/Hide the simple greeting text">
		<option value="0">No</option>
		<option value="1">Yes</option>
	</param>
	<param name="name" type="list" default="0" label="Name/Username">
		<option value="0">Username</option>
		<option value="1">Name</option>
	</param>
</params>
<languages>
	<language tag="en-GB">language/en-GB/en-GB.mod_bplogin.ini</language>
</languages>
</install>

 

mod_bplogin/tmpl/default.php

<?php 
/**
*
* @package jipbPlugin
*
* Minimum Requirement: PHP 4.3.3
*/ 

defined('_JEXEC') or die('Restricted access'); ?>
<?php if($type == 'logout') : ?>
<?php	
$secureKey = '';
$ipbMember = $bbpixelPPS->loadForumUserByName($user->name);
if($ipbMember){
	$secureKey = md5($ipbMember->email.'&'.$ipbMember->member_login_key.'&'.$ipbMember->joined);
}
$fLogouLink = $bbpixelPPS->forumUrl."/index.php?act=Login&CODE=03&k=$secureKey";
?>
<form action="<?php echo $fLogouLink; ?>" method="post" name="login" id="form-login">
<?php if ($params->get('greeting')) : ?>
<div><?php echo JText::sprintf( 'HINAME', $user->get('name') ); ?></div>
<?php endif; ?>
<div align="center">
	<input type="submit" name="Submit" class="button" value="<?php echo JText::_( 'BUTTON_LOGOUT'); ?>" />
</div>	
</form>
<?php else : ?>
<script language='javascript' type="text/javascript">
<!--
function bploginValidateForm() {
var Check = 0;
if (document.LOGIN.UserName.value == '') { Check = 1; }
if (document.LOGIN.PassWord.value == '') { Check = 1; }
if (Check == 1) {
	alert("<?php echo JText::_('PLEASE ENTER USERNAME PWD')?>");
	return false;
} else {
	document.LOGIN.submit.disabled = true;
	return true;
}
}
//-->
</script>
<form action="<?php echo $bbpixelPPS->forumUrl; ?>/index.php?act=Login&CODE=01" method="post" name='LOGIN' onsubmit='return bploginValidateForm()'>
<input type="hidden" name="referer" value="<?php echo $params->get('login'); ?>" />
<?php echo $params->get('pretext'); ?>
<fieldset class="input">
	<p id="form-login-username">
		<label for="modlgn_username"><?php echo JText::_('Username') ?></label><br />
		<input onfocus="this.value=''" value="User Name" class='inputbox' name="UserName" size="18"/>
	</p>
	<p id="form-login-password">
		<label for="modlgn_passwd"><?php echo JText::_('Password') ?></label><br />
		<input onfocus="this.value=''" type="password" value="ibfrules" class='inputbox' name="PassWord" size="18" />
	</p>
	<?php if(JPluginHelper::isEnabled('system', 'remember')) : ?>
	<p id="form-login-remember">
		<label for="modlgn_remember"><?php echo JText::_('Remember me') ?></label>
		<input id="modlgn_remember" type="checkbox" name="CookieDate" class="inputbox" value="1" alt="Remember Me" checked="checked" />
	</p>
	<?php endif; ?>
	<input type="submit" name="Submit" class="button" value="<?php echo JText::_('LOGIN') ?>" />
</fieldset>
<ul>
	<li>
		<a href="<?php echo $bbpixelPPS->forumUrl; ?>/index.php?act=Reg&CODE=10">
		<?php echo JText::_('FORGOT_YOUR_PASSWORD'); ?>
		</a>
	</li>
	<li>
		<a href="<?php echo $bbpixelPPS->forumUrl; ?>/index.php?act=Reg&CODE=00">
		<?php echo JText::_('REGISTER'); ?>
		</a>
	</li>		
</ul>
<?php echo $params->get('posttext'); ?>	
</form>
<?php endif; ?>

 

Заранее премного благодарен :)

Изменено пользователем Clarus
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Передавай параметр &return=http://localhost и будет редиректить туда куда хош.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Передавай параметр &return=http://localhost и будет редиректить туда куда хош.

Эммм... :) простите, не силён я в PHP :)

 

Прошу Вас, "ткните носом" меня... :D

 

В настройках модуля для авторизации в джумле, использующего систему авторизации IPB, указал в

Login Redirection URL &return=http://localhost

 

Теперь после логина перелетаю на главную страницу форума

с ссылкой http://localhost/forum/index.php?&return=http://localhost

 

Умоляю, помогите! ;):)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
&return надо добавлять к ссылке на логин или логаут, а не к любому урлу.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
&return надо добавлять к ссылке на логин или логаут, а не к любому урлу.

 

Класс !!! Огромное спасибо !!! Все работает как часы ! Пользователи локалки будут в восторге !!!

:D;)

РЕСПЕКТИЩЕ !!!

Ссылка на комментарий
Поделиться на других сайтах

  • 0

таже ситуация что и в созданной теме

спс за нужную инфу

но хотелось бы задать еще один вопрос в данном контексте

представте себе всю базу в utf в которую форум пишет инфу в win 1252 а джумла в utf (при установке форума выбирал utf кодировку а потом докинул русский язык на форум)

и все отлично отображается на своих местах

по крайней мере пока что

проблема в том что я не знаю механизма работы jipbintegration

так что просветите меня если не сложно - будут ли возникать проблемы или можно оставить так ?

тоесть меня интересует используется ли одна таблица пользователей заносимая при регистрации форумом или две, при этом в джумловскую jipbintegration будет заносить кирилицу крякозябриками ? и управлять как либо пользователями в джумле я не смогу ?

на данный момент выявил проблему при авторизации пользователя на сайте имеющего кирилицу в логин-пароле - показывает ошибку на форуме и повторынй логин уже в границах форума проходит нормально

тоесть посылка информации с моддуля авторизации jipbintegration на сайте происходит в utf - можно ли сменить ее на win 1252 конкретно для данного модуля ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Товарищи, помогите, пожалуйста, замучался - нет сил больше.

Объясните пожалуйста - куда нужно вставлять ссылку и в каком формате она должна быть.

Clarus, ты дбавлял параметр (&return=http://localhost) к модулю в джумле? или правил php файл...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.