Revision 1473
Added by Dietmar almost 13 years ago
LoginBox.php | ||
---|---|---|
1 | 1 |
//:Puts a Login / Logout box on your page. |
2 |
//:Use: [[LoginBox]]. Remember to enable frontend login in your website settings. |
|
3 |
global $wb, $TEXT, $MENU; |
|
4 |
$return_value = " "; |
|
5 |
if(FRONTEND_LOGIN == 'enabled' && VISIBILITY != 'private' && $wb->get_session('USER_ID') == '') { |
|
6 |
$return_value = '<form name="login" action="'.LOGIN_URL.'" method="post" class="login_table">'; |
|
7 |
$return_value .= '<h2>'.$TEXT['LOGIN'].'</h2>'; |
|
8 |
$return_value .= $TEXT['USERNAME'].':<input type="text" name="username" style="text-transform: lowercase;" /><br />'; |
|
9 |
$return_value .= $TEXT['PASSWORD'].':<input type="password" name="password" /><br />'; |
|
10 |
$return_value .= '<input type="submit" name="submit" value="'.$TEXT['LOGIN'].'" class="dbutton" /><br />'; |
|
11 |
$return_value .= '<a href="'.FORGOT_URL.'">'.$TEXT['FORGOT_DETAILS'].'</a><br />'; |
|
12 |
if(is_numeric(FRONTEND_SIGNUP) && (FRONTEND_SIGNUP > 0)) |
|
13 |
$return_value .= '<a href="'.SIGNUP_URL.'">'.$TEXT['SIGNUP'].'</a>'; |
|
14 |
$return_value .= '</form>'; |
|
15 |
} elseif(FRONTEND_LOGIN == 'enabled' && is_numeric($wb->get_session('USER_ID'))) { |
|
16 |
$return_value = '<form name="logout" action="'.LOGOUT_URL.'" method="post" class="login_table">'; |
|
17 |
$return_value .= '<h2>'.$TEXT['LOGGED_IN'].'</h2>'; |
|
18 |
$return_value .= $TEXT['WELCOME_BACK'].', '.$wb->get_display_name().'<br />'; |
|
19 |
$return_value .= '<input type="submit" name="submit" value="'.$MENU['LOGOUT'].'" class="dbutton" /><br />'; |
|
20 |
$return_value .= '<a href="'.PREFERENCES_URL.'">'.$MENU['PREFERENCES'].'</a><br />'; |
|
21 |
$return_value .= '<a href="'.ADMIN_URL.'/index.php" target="_blank">'.$TEXT['ADMINISTRATION'].'</a>'; |
|
22 |
$return_value .= '</form>'; |
|
23 |
} |
|
24 |
return $return_value; |
|
2 |
//:Use: [[LoginBox?redirect=url]] + Absolute or relative url possible + Remember to enable frontend login in your website settings. + |
|
3 |
global $wb,$page_id,$TEXT, $MENU, $HEADING; |
|
4 |
|
|
5 |
$return_value = '<div class="login-box">'."\n"; |
|
6 |
$return_admin = ' '; |
|
7 |
// Return a system permission |
|
8 |
function get_permission($name, $type = 'system') |
|
9 |
{ |
|
10 |
global $wb; |
|
11 |
// Append to permission type |
|
12 |
$type .= '_permissions'; |
|
13 |
// Check if we have a section to check for |
|
14 |
if($name == 'start') { |
|
15 |
return true; |
|
16 |
} else { |
|
17 |
// Set system permissions var |
|
18 |
$system_permissions = $wb->get_session('SYSTEM_PERMISSIONS'); |
|
19 |
// Set module permissions var |
|
20 |
$module_permissions = $wb->get_session('MODULE_PERMISSIONS'); |
|
21 |
// Set template permissions var |
|
22 |
$template_permissions = $wb->get_session('TEMPLATE_PERMISSIONS'); |
|
23 |
// Return true if system perm = 1 |
|
24 |
if (isset($$type) && is_array($$type) && is_numeric(array_search($name, $$type))) { |
|
25 |
if($type == 'system_permissions') { |
|
26 |
return true; |
|
27 |
} else { |
|
28 |
return false; |
|
29 |
} |
|
30 |
} else { |
|
31 |
if($type == 'system_permissions') { |
|
32 |
return false; |
|
33 |
} else { |
|
34 |
return true; |
|
35 |
} |
|
36 |
} |
|
37 |
} |
|
38 |
} |
|
39 |
|
|
40 |
function get_page_permission($page, $action='admin') { |
|
41 |
if ($action!='viewing'){ $action='admin';} |
|
42 |
$action_groups=$action.'_groups'; |
|
43 |
$action_users=$action.'_users'; |
|
44 |
if (is_array($page)) { |
|
45 |
$groups=$page[$action_groups]; |
|
46 |
$users=$page[$action_users]; |
|
47 |
} else { |
|
48 |
global $database,$wb; |
|
49 |
$results = $database->query("SELECT $action_groups,$action_users FROM ".TABLE_PREFIX."pages WHERE page_id = '$page'"); |
|
50 |
$result = $results->fetchRow(); |
|
51 |
$groups = explode(',', str_replace('_', '', $result[$action_groups])); |
|
52 |
$users = explode(',', str_replace('_', '', $result[$action_users])); |
|
53 |
} |
|
54 |
|
|
55 |
$in_group = FALSE; |
|
56 |
foreach($wb->get_groups_id() as $cur_gid){ |
|
57 |
if (in_array($cur_gid, $groups)) { |
|
58 |
$in_group = TRUE; |
|
59 |
} |
|
60 |
} |
|
61 |
if((!$in_group) AND !is_numeric(array_search($wb->get_user_id(), $users))) { |
|
62 |
return false; |
|
63 |
} |
|
64 |
return true; |
|
65 |
} |
|
66 |
|
|
67 |
// Get redirect |
|
68 |
$redirect_url = ''; |
|
69 |
$redirect_url = isset($redirect)&&($redirect!='') ? '<input type="hidden" name="url" value="'.$redirect.'" />'."\n" : $redirect_url; |
|
70 |
$redirect_url = (isset($_SERVER['HTTP_REFERER']) && ($redirect_url=='') ? '<input type="hidden" name="url" value="'.$_SERVER['HTTP_REFERER'].'" />'."\n" : $redirect_url ); |
|
71 |
|
|
72 |
if ( ( FRONTEND_LOGIN == 'enabled') && |
|
73 |
( VISIBILITY != 'private') && |
|
74 |
( $wb->get_session('USER_ID') == '') ) |
|
75 |
{ |
|
76 |
$return_value .= '<form action="'.LOGIN_URL.'" method="post">'."\n"; |
|
77 |
$return_value .= $redirect_url."\n"; |
|
78 |
$return_value .= '<fieldset>'."\n"; |
|
79 |
$return_value .= '<h1>'.$TEXT['LOGIN'].'</h1>'."\n"; |
|
80 |
$return_value .= '<label for="username">'.$TEXT['USERNAME'].':</label>'."\n"; |
|
81 |
$return_value .= '<p><input type="text" name="username" id="username" /></p>'."\n"; |
|
82 |
$return_value .= '<label for="password">'.$TEXT['PASSWORD'].':</label>'."\n"; |
|
83 |
$return_value .= '<p><input type="password" name="password" id="password"/></p>'."\n"; |
|
84 |
$return_value .= '<p><input type="submit" id="submit" value="'.$TEXT['LOGIN'].'" class="dbutton" /></p>'."\n"; |
|
85 |
$return_value .= '<ul class="login-advance">'."\n"; |
|
86 |
$return_value .= '<li class="forgot"><a href="'.FORGOT_URL.'"><span>'.$TEXT['FORGOT_DETAILS'].'</span></a></li>'."\n"; |
|
87 |
|
|
88 |
if (intval(FRONTEND_SIGNUP) > 0) |
|
89 |
{ |
|
90 |
$return_value .= '<li class="sign"><a href="'.SIGNUP_URL.'">'.$TEXT['SIGNUP'].'</a></li>'."\n"; |
|
91 |
} |
|
92 |
$return_value .= '</ul>'."\n"; |
|
93 |
$return_value .= '</fieldset>'."\n"; |
|
94 |
$return_value .= '</form>'."\n"; |
|
95 |
|
|
96 |
} elseif( (FRONTEND_LOGIN == 'enabled') && |
|
97 |
(is_numeric($wb->get_session('USER_ID'))) ) |
|
98 |
{ |
|
99 |
$return_value .= '<form action="'.LOGOUT_URL.'" method="post" class="login-table">'."\n"; |
|
100 |
$return_value .= '<fieldset>'."\n"; |
|
101 |
$return_value .= '<h1>'.$TEXT["LOGGED_IN"].'</h1>'."\n"; |
|
102 |
$return_value .= '<label>'.$TEXT['WELCOME_BACK'].', '.$wb->get_display_name().'</label>'."\n"; |
|
103 |
$return_value .= '<p><input type="submit" name="submit" value="'.$MENU['LOGOUT'].'" class="dbutton" /></p>'."\n"; |
|
104 |
$return_value .= '<ul class="logout-advance">'."\n"; |
|
105 |
$return_value .= '<li class="preference"><a href="'.PREFERENCES_URL.'" title="'.$MENU['PREFERENCES'].'">'.$MENU['PREFERENCES'].'</a></li>'."\n"; |
|
106 |
|
|
107 |
if ($wb->ami_group_member('1')) //change ot the group that should get special links |
|
108 |
{ |
|
109 |
$return_admin .= '<li class="admin"><a target="_blank" href="'.ADMIN_URL.'/index.php" title="'.$TEXT['ADMINISTRATION'].'" class="blank_target">'.$TEXT["ADMINISTRATION"].'</a></li>'."\n"; |
|
110 |
//you can add more links for your users like userpage, lastchangedpages or something |
|
111 |
$return_value .= $return_admin; |
|
112 |
} |
|
113 |
//change ot the group that should get special links |
|
114 |
if( get_permission('pages_modify') && get_page_permission( PAGE_ID ) ) |
|
115 |
{ |
|
116 |
$return_value .= '<li class="modify"><a target="_blank" href="'.ADMIN_URL.'/pages/modify.php?page_id='.PAGE_ID.'" title="'.$HEADING['MODIFY_PAGE'].'" class="blank_target">'.$HEADING['MODIFY_PAGE'].'</a></li>'."\n"; |
|
117 |
} |
|
118 |
$return_value .= '</ul>'."\n"; |
|
119 |
$return_value .= '</fieldset>'."\n"; |
|
120 |
$return_value .= '</form>'."\n"; |
|
121 |
} |
|
122 |
$return_value .= '</div>'."\n"; |
|
123 |
return $return_value; |
Also available in: Unified diff
found more backlinks to fix
remove not working ftan in frontend
fixed redirect in login procedure (Tks to mr-fan)
update droplet LoginBox, additional parameter $redirect
remove double config call in media (Tks to Testör)