2003-04-01 16:12:34 +02:00
< ? php
2004-12-16 03:57:05 +01:00
require ( dirname ( __FILE__ ) . '/wp-config.php' );
2003-04-01 16:12:34 +02:00
2004-12-18 21:56:26 +01:00
$action = $_REQUEST [ 'action' ];
2006-10-04 18:47:50 +02:00
$errors = array ();
2004-10-10 20:07:33 +02:00
2006-04-21 00:08:37 +02:00
if ( isset ( $_GET [ 'key' ]) )
$action = 'resetpass' ;
2005-06-09 02:17:43 +02:00
nocache_headers ();
2005-04-19 05:35:48 +02:00
header ( 'Content-Type: ' . get_bloginfo ( 'html_type' ) . '; charset=' . get_bloginfo ( 'charset' ));
2004-10-10 20:07:33 +02:00
2005-01-24 08:30:49 +01:00
if ( defined ( 'RELOCATE' ) ) { // Move flag is set
if ( isset ( $_SERVER [ 'PATH_INFO' ] ) && ( $_SERVER [ 'PATH_INFO' ] != $_SERVER [ 'PHP_SELF' ]) )
$_SERVER [ 'PHP_SELF' ] = str_replace ( $_SERVER [ 'PATH_INFO' ], '' , $_SERVER [ 'PHP_SELF' ] );
2005-11-11 02:21:28 +01:00
$schema = ( isset ( $_SERVER [ 'HTTPS' ]) && strtolower ( $_SERVER [ 'HTTPS' ]) == 'on' ) ? 'https://' : 'http://' ;
2006-08-30 23:46:31 +02:00
if ( dirname ( $schema . $_SERVER [ 'HTTP_HOST' ] . $_SERVER [ 'PHP_SELF' ]) != get_option ( 'siteurl' ) )
2005-11-11 02:21:28 +01:00
update_option ( 'siteurl' , dirname ( $schema . $_SERVER [ 'HTTP_HOST' ] . $_SERVER [ 'PHP_SELF' ]) );
2005-01-24 08:30:49 +01:00
}
2004-08-09 11:29:25 +02:00
2003-04-01 16:12:34 +02:00
2006-10-04 18:47:50 +02:00
// Rather than duplicating this HTML all over the place, we'll stick it in function
function login_header ( $title = 'Login' , $message = '' ) {
2006-10-07 21:12:33 +02:00
global $errors , $error , $wp_locale ;
2006-10-04 18:47:50 +02:00
?>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
2006-10-07 21:12:33 +02:00
< html xmlns = " http://www.w3.org/1999/xhtml " < ? php language_attributes (); ?> >
2006-10-04 18:47:50 +02:00
< head >
< title >< ? php bloginfo ( 'name' ); ?> › <?php echo $title; ?></title>
< meta http - equiv = " Content-Type " content = " <?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?> " />
< link rel = " stylesheet " href = " <?php bloginfo('wpurl'); ?>/wp-admin/wp-admin.css?version=<?php bloginfo('version'); ?> " type = " text/css " />
2006-10-07 21:12:33 +02:00
< ? php if ( ( 'rtl' == $wp_locale -> text_direction ) ) : ?>
< link rel = " stylesheet " href = " <?php bloginfo('wpurl'); ?>/wp-admin/rtl.css?version=<?php bloginfo('version'); ?> " type = " text/css " />
< ? php endif ; ?>
2006-12-20 01:30:07 +01:00
<!-- [ if IE ] >< style type = " text/css " > #login h1 a { margin-top: 35px; } #login #login_error { margin-bottom: 10px; }</style><![endif]--><!-- Curse you, IE! -->
2006-10-04 18:47:50 +02:00
< script type = " text/javascript " >
function focusit () {
document . getElementById ( 'user_login' ) . focus ();
}
window . onload = focusit ;
</ script >
< ? php do_action ( 'login_head' ); ?>
</ head >
2006-12-04 01:53:33 +01:00
< body class = " login " >
2006-10-04 18:47:50 +02:00
2006-10-07 21:12:33 +02:00
< div id = " login " >< h1 >< a href = " <?php echo apply_filters('login_headerurl', 'http://wordpress.org/'); ?> " title = " <?php echo apply_filters('login_headertitle', __('Powered by WordPress')); ?> " >< span class = " hide " >< ? php bloginfo ( 'name' ); ?> </span></a></h1>
2006-10-04 18:47:50 +02:00
< ? php
if ( ! empty ( $message ) ) echo apply_filters ( 'login_message' , $message ) . " \n " ;
// Incase a plugin uses $error rather than the $errors array
if ( ! empty ( $error ) ) {
$errors [ 'error' ] = $error ;
unset ( $error );
}
if ( ! empty ( $errors ) ) {
if ( is_array ( $errors ) ) {
$newerrors = " \n " ;
foreach ( $errors as $error ) $newerrors .= ' ' . $error . " <br /> \n " ;
$errors = $newerrors ;
}
echo '<div id="login_error">' . apply_filters ( 'login_errors' , $errors ) . " </div> \n " ;
}
} // End of login_header()
switch ( $action ) {
case 'logout' :
2003-04-01 16:12:34 +02:00
2005-01-20 05:56:24 +01:00
wp_clearcookie ();
2005-02-05 03:22:36 +01:00
do_action ( 'wp_logout' );
2005-11-11 02:35:15 +01:00
2006-10-04 18:47:50 +02:00
$redirect_to = 'wp-login.php?loggedout=true' ;
if ( isset ( $_REQUEST [ 'redirect_to' ] ) )
2006-06-27 07:38:56 +02:00
$redirect_to = $_REQUEST [ 'redirect_to' ];
2006-02-12 08:53:23 +01:00
2005-11-11 02:35:15 +01:00
wp_redirect ( $redirect_to );
2003-04-01 16:12:34 +02:00
exit ();
break ;
2006-10-04 18:47:50 +02:00
case 'lostpassword' :
case 'retrievepassword' :
$user_login = '' ;
$user_pass = '' ;
if ( $_POST ) {
if ( empty ( $_POST [ 'user_login' ] ) )
$errors [ 'user_login' ] = __ ( '<strong>ERROR</strong>: The username field is empty.' );
if ( empty ( $_POST [ 'user_email' ] ) )
$errors [ 'user_email' ] = __ ( '<strong>ERROR</strong>: The e-mail field is empty.' );
do_action ( 'lostpassword_post' );
if ( empty ( $errors ) ) {
$user_data = get_userdatabylogin ( trim ( $_POST [ 'user_login' ]));
// redefining user_login ensures we return the right case in the email
$user_login = $user_data -> user_login ;
$user_email = $user_data -> user_email ;
if ( ! $user_email || $user_email != $_POST [ 'user_email' ]) {
$errors [ 'invalidcombo' ] = __ ( '<strong>ERROR</strong>: Invalid username / e-mail combination.' );
} else {
do_action ( 'retreive_password' , $user_login ); // Misspelled and deprecated
do_action ( 'retrieve_password' , $user_login );
// Generate something random for a password... md5'ing current time with a rand salt
$key = substr ( md5 ( uniqid ( microtime () ) ), 0 , 8 );
// Now insert the new pass md5'd into the db
$wpdb -> query ( " UPDATE $wpdb->users SET user_activation_key = ' $key ' WHERE user_login = ' $user_login ' " );
$message = __ ( 'Someone has asked to reset the password for the following site and username.' ) . " \r \n \r \n " ;
$message .= get_option ( 'siteurl' ) . " \r \n \r \n " ;
$message .= sprintf ( __ ( 'Username: %s' ), $user_login ) . " \r \n \r \n " ;
$message .= __ ( 'To reset your password visit the following address, otherwise just ignore this email and nothing will happen.' ) . " \r \n \r \n " ;
$message .= get_option ( 'siteurl' ) . " /wp-login.php?action=rp&key= $key\r\n " ;
if ( FALSE == wp_mail ( $user_email , sprintf ( __ ( '[%s] Password Reset' ), get_option ( 'blogname' )), $message )) {
die ( '<p>' . __ ( 'The e-mail could not be sent.' ) . " <br /> \n " . __ ( 'Possible reason: your host may have disabled the mail() function...' ) . '</p>' );
} else {
wp_redirect ( 'wp-login.php?checkemail=confirm' );
exit ();
}
}
}
2005-02-05 03:19:00 +01:00
}
2006-10-04 18:47:50 +02:00
if ( 'invalidkey' == $_GET [ 'error' ] ) $errors [ 'invalidkey' ] = __ ( 'Sorry, that key does not appear to be valid.' );
do_action ( 'lost_password' );
2006-11-02 07:01:12 +01:00
login_header ( __ ( 'Lost Password' ), '<p class="message">' . __ ( 'Please enter your username and e-mail address. You will receive a new password via e-mail.' ) . '</p>' );
2003-04-01 16:12:34 +02:00
?>
2006-10-04 18:47:50 +02:00
< form name = " lostpasswordform " id = " lostpasswordform " action = " wp-login.php?action=lostpassword " method = " post " >
< p >
< label >< ? php _e ( 'Username:' ) ?> <br />
2006-12-21 11:10:04 +01:00
< input type = " text " name = " user_login " id = " user_login " class = " input " value = " <?php echo attribute_escape(stripslashes( $_POST['user_login'] )); ?> " size = " 20 " tabindex = " 10 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< p >
< label >< ? php _e ( 'E-mail:' ) ?> <br />
2006-12-21 11:10:04 +01:00
< input type = " text " name = " user_email " id = " user_email " class = " input " value = " <?php echo attribute_escape(stripslashes( $_POST['user_email'] )); ?> " size = " 25 " tabindex = " 20 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< ? php do_action ( 'lostpassword_form' ); ?>
< p class = " submit " >< input type = " submit " name = " submit " id = " submit " value = " <?php _e('Get New Password »'); ?> " tabindex = " 100 " /></ p >
2003-04-01 16:12:34 +02:00
</ form >
2006-12-04 01:53:33 +01:00
</ div >
2005-02-05 03:19:00 +01:00
< ul >
2006-08-30 23:46:31 +02:00
< ? php if ( get_option ( 'users_can_register' )) : ?>
2005-02-05 03:19:00 +01:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php " >< ? php _e ( 'Login' ) ?> </a></li>
2006-10-04 18:47:50 +02:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php?action=register " >< ? php _e ( 'Register' ) ?> </a></li>
2006-12-04 01:53:33 +01:00
< li >< a href = " <?php bloginfo('home'); ?>/ " title = " <?php _e('Are you lost?') ?> " >< ? php printf ( __ ( 'Back to %s' ), get_bloginfo ( 'title' )); ?> </a></li>
2006-10-04 18:47:50 +02:00
< ? php else : ?>
2006-12-04 01:53:33 +01:00
< li >< a href = " <?php bloginfo('home'); ?>/ " title = " <?php _e('Are you lost?') ?> " >< ? php printf ( __ ( 'Back to %s' ), get_bloginfo ( 'title' )); ?> </a></li>
2006-10-04 18:47:50 +02:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php " >< ? php _e ( 'Login' ) ?> </a></li>
< ? php endif ; ?>
2005-02-05 03:19:00 +01:00
</ ul >
2006-12-04 01:53:33 +01:00
2003-04-01 16:12:34 +02:00
</ body >
</ html >
2004-10-04 08:23:53 +02:00
< ? php
2003-04-01 16:12:34 +02:00
break ;
2005-02-05 03:19:00 +01:00
case 'resetpass' :
2006-04-20 23:44:14 +02:00
case 'rp' :
2006-12-01 23:44:50 +01:00
$key = preg_replace ( '/[^a-z0-9]/i' , '' , $_GET [ 'key' ]);
2006-10-04 18:47:50 +02:00
if ( empty ( $key ) ) {
wp_redirect ( 'wp-login.php?action=lostpassword&error=invalidkey' );
exit ();
}
2005-02-05 03:19:00 +01:00
$user = $wpdb -> get_row ( " SELECT * FROM $wpdb->users WHERE user_activation_key = ' $key ' " );
2006-10-04 18:47:50 +02:00
if ( empty ( $user ) ) {
wp_redirect ( 'wp-login.php?action=lostpassword&error=invalidkey' );
exit ();
}
2005-02-05 03:19:00 +01:00
2005-03-09 23:49:42 +01:00
do_action ( 'password_reset' );
2006-10-04 18:47:50 +02:00
// Generate something random for a password... md5'ing current time with a rand salt
2005-02-07 07:43:23 +01:00
$new_pass = substr ( md5 ( uniqid ( microtime () ) ), 0 , 7 );
2006-10-04 18:47:50 +02:00
$wpdb -> query ( " UPDATE $wpdb->users SET user_pass = MD5(' $new_pass '), user_activation_key = '' WHERE user_login = ' $user->user_login ' " );
2005-12-23 21:30:25 +01:00
wp_cache_delete ( $user -> ID , 'users' );
2006-02-12 08:53:23 +01:00
wp_cache_delete ( $user -> user_login , 'userlogins' );
2005-03-13 18:06:18 +01:00
$message = sprintf ( __ ( 'Username: %s' ), $user -> user_login ) . " \r \n " ;
$message .= sprintf ( __ ( 'Password: %s' ), $new_pass ) . " \r \n " ;
2006-08-30 23:46:31 +02:00
$message .= get_option ( 'siteurl' ) . " /wp-login.php \r \n " ;
2003-04-01 16:12:34 +02:00
2006-10-04 18:47:50 +02:00
if ( FALSE == wp_mail ( $user -> user_email , sprintf ( __ ( '[%s] Your new password' ), get_option ( 'blogname' )), $message )) {
die ( '<p>' . __ ( 'The e-mail could not be sent.' ) . " <br /> \n " . __ ( 'Possible reason: your host may have disabled the mail() function...' ) . '</p>' );
2003-04-01 16:12:34 +02:00
} else {
2004-02-09 10:56:57 +01:00
// send a copy of password change notification to the admin
2005-03-25 22:41:45 +01:00
$message = sprintf ( __ ( 'Password Lost and Changed for user: %s' ), $user -> user_login ) . " \r \n " ;
2006-08-30 23:46:31 +02:00
wp_mail ( get_option ( 'admin_email' ), sprintf ( __ ( '[%s] Password Lost/Changed' ), get_option ( 'blogname' )), $message );
2006-10-04 18:47:50 +02:00
wp_redirect ( 'wp-login.php?checkemail=newpass' );
exit ();
2005-02-07 07:43:23 +01:00
}
2003-04-01 16:12:34 +02:00
break ;
2006-10-04 18:47:50 +02:00
case 'register' :
if ( FALSE == get_option ( 'users_can_register' ) ) {
wp_redirect ( 'wp-login.php?registration=disabled' );
exit ();
}
if ( $_POST ) {
require_once ( ABSPATH . WPINC . '/registration.php' );
$user_login = sanitize_user ( $_POST [ 'user_login' ] );
2006-12-03 22:16:19 +01:00
$user_email = apply_filters ( 'user_registration_email' , $_POST [ 'user_email' ] );
2006-10-04 18:47:50 +02:00
// Check the username
if ( $user_login == '' )
$errors [ 'user_login' ] = __ ( '<strong>ERROR</strong>: Please enter a username.' );
elseif ( ! validate_username ( $user_login ) ) {
$errors [ 'user_login' ] = __ ( '<strong>ERROR</strong>: This username is invalid. Please enter a valid username.' );
$user_login = '' ;
} elseif ( username_exists ( $user_login ) )
$errors [ 'user_login' ] = __ ( '<strong>ERROR</strong>: This username is already registered, please choose another one.' );
// Check the e-mail address
if ( $user_email == '' ) {
$errors [ 'user_email' ] = __ ( '<strong>ERROR</strong>: Please type your e-mail address.' );
} elseif ( ! is_email ( $user_email ) ) {
$errors [ 'user_email' ] = __ ( '<strong>ERROR</strong>: The email address isn’t correct.' );
$user_email = '' ;
} elseif ( email_exists ( $user_email ) )
$errors [ 'user_email' ] = __ ( '<strong>ERROR</strong>: This email is already registered, please choose another one.' );
do_action ( 'register_post' );
2006-12-03 22:16:19 +01:00
$errors = apply_filters ( 'registration_errors' , $errors );
2006-10-04 18:47:50 +02:00
if ( empty ( $errors ) ) {
$user_pass = substr ( md5 ( uniqid ( microtime () ) ), 0 , 7 );
$user_id = wp_create_user ( $user_login , $user_pass , $user_email );
if ( ! $user_id )
$errors [ 'registerfail' ] = sprintf ( __ ( '<strong>ERROR</strong>: Couldn’t register you... please contact the <a href="mailto:%s">webmaster</a> !' ), get_option ( 'admin_email' ));
else {
wp_new_user_notification ( $user_id , $user_pass );
wp_redirect ( 'wp-login.php?checkemail=registered' );
exit ();
}
}
}
login_header ( __ ( 'Registration Form' ), '<p class="message register">' . __ ( 'Register For This Site' ) . '</p>' );
?>
< form name = " registerform " id = " registerform " action = " wp-login.php?action=register " method = " post " >
< p >
< label >< ? php _e ( 'Username:' ) ?> <br />
2006-12-21 11:10:04 +01:00
< input type = " text " name = " user_login " id = " user_login " class = " input " value = " <?php echo attribute_escape(stripslashes( $user_login )); ?> " size = " 20 " tabindex = " 10 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< p >
< label >< ? php _e ( 'E-mail:' ) ?> <br />
2006-12-21 11:10:04 +01:00
< input type = " text " name = " user_email " id = " user_email " class = " input " value = " <?php echo attribute_escape(stripslashes( $user_email )); ?> " size = " 25 " tabindex = " 20 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< ? php do_action ( 'register_form' ); ?>
< p id = " reg_passmail " >< ? php _e ( 'A password will be e-mailed to you.' ) ?> </p>
< p class = " submit " >< input type = " submit " name = " submit " id = " submit " value = " <?php _e('Register »'); ?> " tabindex = " 100 " /></ p >
</ form >
2006-12-04 01:53:33 +01:00
</ div >
2006-10-04 18:47:50 +02:00
< ul >
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php " >< ? php _e ( 'Login' ) ?> </a></li>
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword " title = " <?php _e('Password Lost and Found') ?> " >< ? php _e ( 'Lost your password?' ) ?> </a></li>
2006-12-20 01:30:07 +01:00
< li >< a href = " <?php bloginfo('home'); ?>/ " title = " <?php _e('Are you lost?') ?> " >< ? php printf ( __ ( 'Back to %s' ), get_bloginfo ( 'title' )); ?> </a></li>
2006-10-04 18:47:50 +02:00
</ ul >
2006-12-04 01:53:33 +01:00
2006-10-04 18:47:50 +02:00
</ body >
</ html >
< ? php
break ;
2006-11-19 08:56:05 +01:00
case 'login' :
2003-04-01 16:12:34 +02:00
default :
2004-11-27 23:54:23 +01:00
$user_login = '' ;
$user_pass = '' ;
2006-10-04 18:47:50 +02:00
$using_cookie = FALSE ;
2005-09-14 22:57:21 +02:00
if ( ! isset ( $_REQUEST [ 'redirect_to' ] ) )
$redirect_to = 'wp-admin/' ;
else
$redirect_to = $_REQUEST [ 'redirect_to' ];
2004-11-27 23:54:23 +01:00
2006-10-04 18:47:50 +02:00
if ( $_POST ) {
2006-10-07 05:02:42 +02:00
$user_login = $_POST [ 'log' ];
2005-11-17 01:51:34 +01:00
$user_login = sanitize_user ( $user_login );
2006-10-07 05:02:42 +02:00
$user_pass = $_POST [ 'pwd' ];
2005-07-23 08:56:59 +02:00
$rememberme = $_POST [ 'rememberme' ];
2006-02-22 08:30:28 +01:00
} else {
$cookie_login = wp_get_cookie_login ();
if ( ! empty ( $cookie_login ) ) {
2004-11-27 23:54:23 +01:00
$using_cookie = true ;
2006-02-22 08:30:28 +01:00
$user_login = $cookie_login [ 'login' ];
$user_pass = $cookie_login [ 'password' ];
2004-11-27 23:54:23 +01:00
}
2004-10-04 08:45:01 +02:00
}
2006-09-12 19:45:23 +02:00
do_action_ref_array ( 'wp_authenticate' , array ( & $user_login , & $user_pass ));
2005-03-09 23:49:42 +01:00
2006-10-04 18:47:50 +02:00
if ( $user_login && $user_pass && empty ( $errors ) ) {
2005-12-15 17:45:20 +01:00
$user = new WP_User ( 0 , $user_login );
2006-02-12 08:53:23 +01:00
2005-07-15 03:24:08 +02:00
// If the user can't edit posts, send them to their profile.
2005-11-05 23:17:34 +01:00
if ( ! $user -> has_cap ( 'edit_posts' ) && ( empty ( $redirect_to ) || $redirect_to == 'wp-admin/' ) )
2006-08-30 23:46:31 +02:00
$redirect_to = get_option ( 'siteurl' ) . '/wp-admin/profile.php' ;
2006-02-12 08:53:23 +01:00
2004-11-27 23:54:23 +01:00
if ( wp_login ( $user_login , $user_pass , $using_cookie ) ) {
2005-11-05 23:17:34 +01:00
if ( ! $using_cookie )
2005-07-23 08:56:59 +02:00
wp_setcookie ( $user_login , $user_pass , false , '' , '' , $rememberme );
2005-02-05 03:22:36 +01:00
do_action ( 'wp_login' , $user_login );
2005-03-13 17:36:09 +01:00
wp_redirect ( $redirect_to );
2006-10-04 18:47:50 +02:00
exit ();
2004-10-11 09:00:22 +02:00
} else {
2006-02-12 08:53:23 +01:00
if ( $using_cookie )
2006-10-04 18:47:50 +02:00
$errors [ 'expiredsession' ] = __ ( 'Your session has expired.' );
2004-10-11 09:00:22 +02:00
}
2003-06-11 08:03:41 +02:00
}
2006-10-04 18:47:50 +02:00
if ( $_POST && empty ( $user_login ) )
$errors [ 'user_login' ] = __ ( '<strong>ERROR</strong>: The username field is empty.' );
if ( $_POST && empty ( $user_pass ) )
$errors [ 'user_pass' ] = __ ( '<strong>ERROR</strong>: The password field is empty.' );
// Some parts of this script use the main login form to display a message
if ( TRUE == $_GET [ 'loggedout' ] ) $errors [ 'loggedout' ] = __ ( 'Successfully logged you out.' );
elseif ( 'disabled' == $_GET [ 'registration' ] ) $errors [ 'registerdiabled' ] = __ ( 'User registration is currently not allowed.' );
elseif ( 'confirm' == $_GET [ 'checkemail' ] ) $errors [ 'confirm' ] = __ ( 'Check your e-mail for the confirmation link.' );
elseif ( 'newpass' == $_GET [ 'checkemail' ] ) $errors [ 'newpass' ] = __ ( 'Check your e-mail for your new password.' );
elseif ( 'registered' == $_GET [ 'checkemail' ] ) $errors [ 'registered' ] = __ ( 'Registration complete. Please check your e-mail.' );
login_header ( __ ( 'Login' ));
2003-04-01 16:12:34 +02:00
?>
2004-10-06 07:31:52 +02:00
< form name = " loginform " id = " loginform " action = " wp-login.php " method = " post " >
2006-10-04 18:47:50 +02:00
< p >
< label >< ? php _e ( 'Username:' ) ?> <br />
2006-12-21 11:10:04 +01:00
< input type = " text " name = " log " id = " user_login " class = " input " value = " <?php echo attribute_escape(stripslashes( $user_login )); ?> " size = " 20 " tabindex = " 10 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< p >
< label >< ? php _e ( 'Password:' ) ?> <br />
2006-10-07 05:02:42 +02:00
< input type = " password " name = " pwd " id = " user_pass " class = " input " value = " " size = " 20 " tabindex = " 20 " /></ label >
2006-10-04 18:47:50 +02:00
</ p >
< ? php do_action ( 'login_form' ); ?>
< p >< label >< input name = " rememberme " type = " checkbox " id = " rememberme " value = " forever " tabindex = " 90 " /> < ? php _e ( 'Remember me' ); ?> </label></p>
< p class = " submit " >
< input type = " submit " name = " submit " id = " submit " value = " <?php _e('Login'); ?> » " tabindex = " 100 " />
2006-12-21 11:10:04 +01:00
< input type = " hidden " name = " redirect_to " value = " <?php echo attribute_escape( $redirect_to ); ?> " />
2006-10-04 18:47:50 +02:00
</ p >
2003-04-01 16:12:34 +02:00
</ form >
2006-12-04 01:53:33 +01:00
</ div >
2004-10-04 08:23:53 +02:00
< ul >
2006-08-30 23:46:31 +02:00
< ? php if ( get_option ( 'users_can_register' )) : ?>
2006-10-04 18:47:50 +02:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php?action=register " >< ? php _e ( 'Register' ) ?> </a></li>
2004-10-04 08:23:53 +02:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword " title = " <?php _e('Password Lost and Found') ?> " >< ? php _e ( 'Lost your password?' ) ?> </a></li>
2006-12-20 01:30:07 +01:00
< li >< a href = " <?php bloginfo('home'); ?>/ " title = " <?php _e('Are you lost?') ?> " >< ? php printf ( __ ( 'Back to %s' ), get_bloginfo ( 'title' )); ?> </a></li>
2006-10-04 18:47:50 +02:00
< ? php else : ?>
2006-12-20 01:30:07 +01:00
< li >< a href = " <?php bloginfo('home'); ?>/ " title = " <?php _e('Are you lost?') ?> " >< ? php printf ( __ ( 'Back to %s' ), get_bloginfo ( 'title' )); ?> </a></li>
2006-10-04 18:47:50 +02:00
< li >< a href = " <?php bloginfo('wpurl'); ?>/wp-login.php?action=lostpassword " title = " <?php _e('Password Lost and Found') ?> " >< ? php _e ( 'Lost your password?' ) ?> </a></li>
< ? php endif ; ?>
2004-10-04 08:23:53 +02:00
</ ul >
2006-12-04 01:53:33 +01:00
2003-04-01 16:12:34 +02:00
</ body >
</ html >
2003-06-11 08:03:41 +02:00
< ? php
2003-04-01 16:12:34 +02:00
break ;
2003-06-11 08:03:41 +02:00
} // end action switch
2005-03-13 18:06:18 +01:00
?>