phpBB

Development Wiki

Difference between revisions of "Function.login box"

From phpBB Development Wiki

(login_box)
 
(Adding explanations and additional examples.)
Line 1: Line 1:
 
login_box –– Generate login box or verify password
 
login_box –– Generate login box or verify password
 
{{stub}}
 
  
 
==Description==
 
==Description==
Line 13: Line 11:
 
|-
 
|-
 
| '''redirect'''
 
| '''redirect'''
| --
+
| (optional) URL location the script will redirect to once the user is successfully logged in. Defaults to the current page.
 
|-
 
|-
 
| '''l_explain'''
 
| '''l_explain'''
| --
+
| (optional) Language string to use for the Login Message. Defaults to
 
|-
 
|-
 
| '''l_success'''
 
| '''l_success'''
| --
+
| (optional) Language string to use for the Login Successful Message.
 
|-
 
|-
 
| '''admin'''
 
| '''admin'''
| --
+
| (optional) Used for second-login for Administrators. The ACP utilises this parameter. Default to false.
 
|-
 
|-
 
| '''s_display'''
 
| '''s_display'''
| --
+
| (optional) Display forgot password and resend activation links, autologin and hide session checkboxes. Defaults to true.
 
|}<br>
 
|}<br>
  
Line 35: Line 33:
 
<php>if (!$user->data['user_type'] == ANONYMOUS)
 
<php>if (!$user->data['user_type'] == ANONYMOUS)
 
{
 
{
login_box('', 'LOGIN');
+
    login_box('', $user->lang['LOGIN']);
 +
}</php><br>
 +
 
 +
===Example #2 Show the login box with redirect===
 +
Verify the user has searching permissions, if they do not, and the user is not logged in, we show a login box. If the user is logged in, we throw a "not allowed to access this page" error.
 +
<php>// Start auth check
 +
if (!$auth->acl_get('u_search'))
 +
{
 +
    // the user is logged in, therefore we give an error message
 +
    if ($user->data['user_id'] != ANONYMOUS)
 +
    {
 +
        trigger_error('NOT_AUTHORISED');
 +
    }
 +
 
 +
    // the user is not logged in, we show a login box with a message
 +
    login_box($phpbb_root_path . 'my_page.' . $phpEx, $user->lang['LOGIN_VIEWPAGE']);
 +
}</php>
 +
 
 +
===Example #3 Re-Authentication Login for Administrators===
 +
Display a login box if the logged-in administrator has not authenticated a second time for the admin session.
 +
<php>if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
 +
{
 +
    login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
 
}</php><br>
 
}</php><br>
  

Revision as of 21:46, 10 September 2008

login_box –– Generate login box or verify password

Description

  1. void login_box ( [ $redirect [, $l_explain [, $l_success [, $admin [, $s_display ]]]]] )

The login_box() function can have a redirect as the first parameter. As a rule of thumb, specify an empty string if you want to redirect to the users current location, else do not add the $SID to the redirect string (for example within the ucp/login we redirect to the board index because else the user would be redirected to the login screen).

Parameters

Parameter Usage
redirect (optional) URL location the script will redirect to once the user is successfully logged in. Defaults to the current page.
l_explain (optional) Language string to use for the Login Message. Defaults to
l_success (optional) Language string to use for the Login Successful Message.
admin (optional) Used for second-login for Administrators. The ACP utilises this parameter. Default to false.
s_display (optional) Display forgot password and resend activation links, autologin and hide session checkboxes. Defaults to true.

Return Values

This function returns NULL if the user is banned

Examples

Example #1 Show the login box if user is not logged in

if (!$user->data['user_type'] == ANONYMOUS)
{
    
login_box(''$user->lang['LOGIN']);
}

Example #2 Show the login box with redirect

Verify the user has searching permissions, if they do not, and the user is not logged in, we show a login box. If the user is logged in, we throw a "not allowed to access this page" error.

// Start auth check
if (!$auth->acl_get('u_search'))
{
    
// the user is logged in, therefore we give an error message
    
if ($user->data['user_id'] != ANONYMOUS)
    {
        
trigger_error('NOT_AUTHORISED');
    }

    
// the user is not logged in, we show a login box with a message
    
login_box($phpbb_root_path 'my_page.' $phpEx$user->lang['LOGIN_VIEWPAGE']);
}

Example #3 Re-Authentication Login for Administrators

Display a login box if the logged-in administrator has not authenticated a second time for the admin session.

if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
    
login_box(''$user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], truefalse);
}

See Also