1 snightsy Feb 21, 2007 15:59
My b2evolution Version: Not Entered
Hello,
Im working on a skin for b2evolution to my homepage. And im doin it so other people can get a blog by using autoblog_plugin.
I want to have the log in form on main page so people can log in directly on arrively there.
<?php // The login form has to point back to itself, in case $htsrv_url_sensitive is a "https" link and $redirect_to is not!
$Form = & new Form( $htsrv_url_sensitive.'login.php', 'evo_login_form', 'post', 'fieldset' );
$Form->begin_form( 'fform' );
$Form->hiddens_by_key( $_POST, /* exclude: */ array('login_action', 'login') ); // passthrough POSTed data (when login is required after having POSTed something)
$Form->hidden( 'redirect_to', url_rel_to_same_host($redirect_to, $htsrv_url_sensitive) );
if( isset( $action, $reqID, $sessID ) && $action == 'validatemail' )
{ // the user clicked the link from the "validate your account" email, but has not been logged in; pass on the relevant data:
$Form->hidden( 'action', 'validatemail' );
$Form->hidden( 'reqID', $reqID );
$Form->hidden( 'sessID', $sessID );
}
if( ! empty($mode) )
{ // We're in the process of bookmarkletting something, we don't want to lose it:
param( 'text', 'html', '' );
param( 'popupurl', 'html', '' );
param( 'popuptitle', 'html', '' );
$Form->hidden( 'mode', $mode );
$Form->hidden( 'text', $text );
$Form->hidden( 'popupurl', $popupurl );
$Form->hidden( 'popuptitle', $popuptitle );
}
echo $Form->fieldstart;
?>
<?php
$Form->text_input( 'login', $login, 16, T_('Login'), array( 'maxlength' => 20, 'class' => 'input_text' ) );
$Form->password_input( 'pwd', '', 16, T_('Password'), array( 'maxlength' => 50, 'class' => 'input_text' ) );
// Allow a plugin to add fields/payload
$Plugins->trigger_event( 'DisplayLoginFormFieldset', array( 'Form' => & $Form ) );
echo $Form->fieldstart;
echo $Form->inputstart;
$Form->submit( array( 'login_action[login]', T_('Log in!'), 'search' ) );
if( strpos( $redirect_to, $admin_url ) !== 0
&& strpos( $ReqHost.$redirect_to, $admin_url ) !== 0 // if $redirect_to is relative
&& ! is_admin_page() )
echo $Form->inputend;
echo $Form->fieldend;
echo $Form->fieldend;
$Form->end_form();
?>
<script type="text/javascript">
// Autoselect login text input or pwd input, if there's a login already:
var login = document.getElementById('login');
if( login.value.length > 0 )
document.getElementById('pwd').focus();
else
login.focus();
</script> <div class="login_actions" style="text-align:right"> <a href="<?php echo $htsrv_url_sensitive.'login.php?action=lostpassword'
.'&redirect_to='.rawurlencode( url_rel_to_same_host($redirect_to, $htsrv_url_sensitive) );
if( !empty($login) )
{
echo '&login='.rawurlencode($login);
}
?>"><?php echo T_('Lost your password ?')
?></a>
<?php
if( empty($login_required) )
{ // No login required, allow to pass through
// TODO: dh> validate redirect_to param?!
echo '<a href="'.rawurlencode(url_rel_to_same_host($redirect_to, $ReqHost)).'">'./* Gets displayed as link to the location on the login form if no login is required */ T_('Bypass login...').'</a>';
}
?>
<?php
user_register_link( '<li>', '</li>' );
user_admin_link( '<li>', '</li>' );
user_profile_link( '<li>', '</li>' );
user_subs_link( '<li>', '</li>' );
user_logout_link( '<li>', '</li>' );
?>
Thats the code I have now on my sidebar. It works, I can log in and out e.t.c.
But now heres my problem. When Ive logged in I want the user/pass form to dissapear from _main.php ? Some ideas how to do that?
Sorry for my bad english.. skipped couple lessions last fall. :oops:
You can use is_logged_in() to change your sidebar :-
¥