Revision 1789
Added by Luisehahne about 13 years ago
| class.login.php | ||
|---|---|---|
| 80 | 80 |
$sql = 'SELECT * FROM `'.$this->users_table.'` '; |
| 81 | 81 |
$sql .= 'WHERE `user_id`=\''.$this->get_safe_remember_key().'\''; |
| 82 | 82 |
$query_details = $database->query($sql); |
| 83 |
$fetch_details = $query_details->fetchRow(); |
|
| 83 |
$fetch_details = $query_details->fetchRow(MYSQL_ASSOC);
|
|
| 84 | 84 |
$this->username = $fetch_details['username']; |
| 85 | 85 |
$this->password = $fetch_details['password']; |
| 86 | 86 |
// Check if the user exists (authenticate them) |
| ... | ... | |
| 188 | 188 |
$_SESSION['TEMPLATE_PERMISSIONS'] = array(); |
| 189 | 189 |
$_SESSION['GROUP_NAME'] = array(); |
| 190 | 190 |
|
| 191 |
$aGroupsIds = ((explode(',', $this->get_session('GROUPS_ID'))));
|
|
| 192 |
$bOnlyAdminGroup = $this->ami_group_member('1') && (sizeof($aGroupsIds) == 1);
|
|
| 193 |
$first_group = true; |
|
| 191 | 194 |
|
| 192 |
|
|
| 193 |
$first_group = true; |
|
| 194 |
foreach (explode(",", $this->get_session('GROUPS_ID')) as $cur_group_id)
|
|
| 195 |
foreach ( $aGroupsIds as $cur_group_id) |
|
| 195 | 196 |
{
|
| 196 | 197 |
$sql = 'SELECT * FROM `'.$this->groups_table.'` WHERE `group_id`=\''.$cur_group_id.'\''; |
| 197 |
$results = $database->query($sql); |
|
| 198 |
$results_array = $results->fetchRow(); |
|
| 199 |
$_SESSION['GROUP_NAME'][$cur_group_id] = $results_array['name']; |
|
| 198 |
if($results = $database->query($sql)) {
|
|
| 199 |
$results_array = $results->fetchRow(MYSQL_ASSOC); |
|
| 200 |
$_SESSION['GROUP_NAME'][$cur_group_id] = $results_array['name']; |
|
| 201 |
} |
|
| 202 |
|
|
| 200 | 203 |
// Set system permissions |
| 201 |
if( $results_array['system_permissions'] != '' ) {
|
|
| 202 |
$_SESSION['SYSTEM_PERMISSIONS'] = array_merge($_SESSION['SYSTEM_PERMISSIONS'], explode(',', $results_array['system_permissions']));
|
|
| 204 |
if( ($results_array['system_permissions'] != '') ) {
|
|
| 205 |
switch ($cur_group_id) : |
|
| 206 |
case 1: |
|
| 207 |
if($bOnlyAdminGroup) {
|
|
| 208 |
$_SESSION['SYSTEM_PERMISSIONS'] = array_merge($_SESSION['SYSTEM_PERMISSIONS'], explode(',', $results_array['system_permissions']));
|
|
| 209 |
} |
|
| 210 |
break; |
|
| 211 |
default: |
|
| 212 |
$_SESSION['SYSTEM_PERMISSIONS'] = array_merge($_SESSION['SYSTEM_PERMISSIONS'], explode(',', $results_array['system_permissions']));
|
|
| 213 |
endswitch; |
|
| 203 | 214 |
} |
| 215 |
|
|
| 204 | 216 |
// Set module permissions |
| 205 | 217 |
if( $results_array['module_permissions'] != '' ) {
|
| 206 | 218 |
if ($first_group) {
|
| ... | ... | |
| 220 | 232 |
$first_group = false; |
| 221 | 233 |
} |
| 222 | 234 |
|
| 223 |
if( $this->ami_group_member('1')) {
|
|
| 235 |
if( $$bOnlyAdminGroup ) {
|
|
| 224 | 236 |
$_SESSION['MODULE_PERMISSIONS'] = array(); |
| 225 | 237 |
$_SESSION['TEMPLATE_PERMISSIONS'] = array(); |
| 226 | 238 |
} |
Also available in: Unified diff
! update Group Permission, add module_advanced
! upgrade-script will be updating Adminitrator Group