Project

General

Profile

« Previous | Next » 

Revision 1473

Added by Dietmar almost 13 years ago

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)

View differences:

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