PDA

Zobacz pełną wersję : Problemy z logowaniem



appaloosa
02-03-2006, 06:22
Witam
Czy któyś z szanownych forumowiczów używa modułu xlogin razem z Community Builder ?

oczywiście wiem, że CB ma własny moduł logowania, ale chodzi o to właśnie żeby używać xlogin.

Logowanie oczywiście działa także na xlogn, ale odnosi się on do innych wpisów w bazie niż te, których używa CB przy rejestracji i mam teraz taką sytuację, że można założyć sobie konto i zalogować się bez potwierdzania adresu email.

Moduł logowania z CB oczywiście działa prawidłowo.

Nie wiecie gdzie należy dodać i jakie wpisy w xlogin, żeby sprawdzał czy użytkownik potwierdził emaila, gdy proces rejestracji przebiega w Community Builder ?


Pozdrawiam

stone
02-03-2006, 07:33
Najlepiej byłoby Ci porównać kod logowania xlogin i tego z CB, wtedy różnice powinny być oczywiste

appaloosa
02-03-2006, 10:31
Niestety nie jest to takie proste ... przynajmniej dla mnie

Oba pliki ( xlogin i CB login leżą tutaj (http://www.e-bogatynia.pl/files/logowanie.rar) )

Prosze o pomoc

appaloosa
03-03-2006, 07:29
Czy ktoś ma jakiś pomysł ? W tej chwili mam sytuację, że jeśli ktoś poda nie swój, lub błędny email, to i tak się może zalogować - co jest raczej niedopuszczalne. Pliki xlogin i cb login diametralnie się różnią , i znalezienie różnic, z których wynika opisany problem - nie jest takie oczywiste.

CB login jest za długi do wrzucania go w forum więc wrzucam w całości xlogin (CB login można pobrać z linka powyżej ):



<?php
// modulo XLogin

/** ensure this file is being included by a parent file */
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

global $ueConfig, $my, $mosConfig_lang, $mosConfig_absolute_path, $mosConfig_live_site;

$return = mosGetParam( $_SERVER, 'REQUEST_URI', null );
// avoid unauthorized page acces at very first login after registration confirmation
if (eregi( 'index.php\?option=com_comprofiler&task=confirm&confirmCode=', $return)) $return = "index.php";
// converts & to &amp; for xtml compliance
$return = str_replace( '&', '&amp;', $return );


$registration_enabled = $mainframe->getCfg( 'allowUserRegistration' );
$pretext = $params->get( 'xpretext' );
$posttext = $params->get( 'xposttext' );
$login = $params->def( 'xlogin', $return );
$logout = $params->def( 'xlogout', $return );
$message_login = $params->def( 'xlogin_message', 0 );
$message_logout = $params->def( 'xlogout_message', 0 );
$name = $params->def( 'xname', 1 );
$greeting = $params->def( 'xgreeting', 1 );
$buttontext = $params->def( 'xbuttontext', 'Login' );
$buttontext_out = $params->def( 'xbuttontextout', 'Logout' );

if ($logboxon==0) {$mododisplay="none"; } else {$mododisplay="block";};
print"
<script language='JavaScript'>


function showOrHideLogBox()
{
{
elbox=document.getElementById('logbox');
if(elbox.style.visibility=='hidden')
{
elbox.style.visibility='visible';
}
else
{
elbox.style.visibility='hidden';
}
};
return false;
}
</script>";

print"<div name='logbox' id='logbox' style='position:absolute; visibility:hidden; z-index:1; background-color:#FFFFFF; border:2px solid #C0C0C0; left:10px; top:10px; width:160px; height:220px;' >";
print"<table width='100%' class='moduletable' bgcolor='#FFFFFF' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'><tr class='mainlevel'><th width='80%' align='left'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Zaloguj się</th><th width='20%' align='right'><a href='#' onClick='showOrHideLogBox();'><img src='images/cancel_f2.png' alt='"._PROMPT_CLOSE."' border='0' height='14'></a></th></tr></table>";
print"<form action='".sefRelToAbs( 'index.php?option=logout' )."' method='post' name='login'>";
print"<div style='width:100%; margin:4px;'>";

if ( $name ) {
$query = "SELECT name FROM #__users WHERE id = ". $my->id;
$database->setQuery( $query );
$name = $database->loadResult();
} else {
$name = $my->username;
}


//if (!isset($logboxon)) {$logboxon='0': };


if ( $my->id ) {
if ( $greeting )
{
echo _HI;
echo $name;
}
?>
<br />
<div align="center">
<input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGOUT; ?>" />
</div>

<input type="hidden" name="op2" value="logout" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $logout ); ?>" />
<input type="hidden" name="message" value="<?php echo $message_logout; ?>" />
<?php
} else {
echo $pretext;
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<?php echo _USERNAME; ?>
<br />
<input name="username" type="text" class="inputbox" alt="username" size="14" />
<br />
<?php echo _PASSWORD; ?>
<br />
<input type="password" name="passwd" class="inputbox" size="14" alt="password" />
<br />
<input type="checkbox" name="remember" id="remember" class="inputbox" value="yes" alt="<?php echo _REMEMBER_ME; ?>" /><label for="remember">&nbsp;<?php echo _REMEMBER_ME; ?></label>
<br />
<input type="hidden" name="option" value="login" />
<div align='center'><input type="submit" name="Submit" class="button" value="<?php echo _BUTTON_LOGIN; ?>" />&nbsp;&nbsp;</div>
&nbsp;<a href="<?php echo sefRelToAbs( 'index.php?option=com_comprofiler&task=lostPassword' ); ?>">
<br/>
<?php echo _LOST_PASSWORD; ?>
</a>
</td>
</tr>
</table>

<?php
echo $posttext;
?>
<input type="hidden" name="op2" value="login" />
<input type="hidden" name="lang" value="<?php echo $mosConfig_lang; ?>" />
<input type="hidden" name="return" value="<?php echo sefRelToAbs( $login ); ?>" />
<input type="hidden" name="message" value="<?php echo $message_login; ?>" />

<?php
if ( $registration_enabled ) {
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<?php echo _NO_ACCOUNT; ?>
<a href="<?php echo sefRelToAbs( 'index.php?option=com_comprofiler&task=registers' ); ?>">
<?php echo _CREATE_ACCOUNT;?>
</a>
</td>
</tr>
</table>
<?php
}
}
if ( $my->id ) {
print"</div></form></div>
<div align='left' style='margin:4px;'><a class='buttom' href='#' onClick='showOrHideLogBox();'>".'Witaj '.$name."</a></div>";
} else {
print"</div></form></div>
<div align='left' style='margin:4px;'><a class='button' href='#' onClick='showOrHideLogBox();'>".$buttontext.' / Załóż konto'."</a></div>";
}
?>

appaloosa
03-03-2006, 14:55
Obiecuję uroczyście, że osobie która z sukcesem rozwiąże mój problem wyślę puszkowanego zimniutkiego oryginalnego czeskiego pilsnera.

stone
03-03-2006, 20:27
daj troszkę czasu:) ja zobacze co sie da zrobic, ale dopiero jutro jak dobrze pojdzie