modules['permissions']($this); if (isset($this->get['s']) && ($this->get['s'] == 'user')) { if (!isset($this->get['id'])) { header('Location: $this->self?a=member&s=perms'); } $this->post['group'] = intval($this->get['id']); $mode = 'user'; $title = 'User Control'; $link = '&s=user&id=' . $this->post['group']; $perms_obj->get_perms(-1, $this->post['group']); } else { if (!isset($this->post['group'])) { return $this->message('User Groups', "
{$this->lang->perms_edit_for}
"); } $this->post['group'] = intval($this->post['group']); $mode = 'group'; $title = $this->lang->perms_title; $link = null; $perms_obj->get_perms($this->post['group'], -1); } $this->set_title($title); $this->tree($title); $perms = array( 'site_view' => $this->lang->perms_site_view, 'do_anything' => $this->lang->perms_do_anything, 'create_domains' => $this->lang->perms_create_domains, 'edit_domains' => $this->lang->perms_edit_domains, 'delete_domains' => $this->lang->perms_delete_domains, 'is_admin' => $this->lang->perms_is_admin ); if (!isset($this->post['submit'])) { if ($mode == 'user') { $query = $this->db->fetch('SELECT user_name, user_perms FROM users WHERE user_id=%d', $this->post['group']); $label = "{$this->lang->perms_user} '{$query['user_name']}'"; } else { $query = $this->db->fetch('SELECT group_name FROM groups WHERE group_id=%d', $this->post['group']); $label = "{$this->lang->perms_group} '{$query['group_name']}'"; } $out = "
" . $this->lang->perms_for . " $label"; if ($mode == 'user') { $out .= "
{$this->lang->perms_override_user}

"; } $out .= "
" . $this->table . " $label "; $i = 0; foreach ($perms as $perm => $label) { $out .= " $label auth($perm) ? ' checked=\'checked\'' : '') . " />All "; $out .= " "; $i++; } return $out . " " . $this->etable . "
"; } else { if (($mode == 'user') && isset($this->post['usegroup'])) { $perms_obj->cube = ''; $perms_obj->update(); return $this->message($this->lang->perms, $this->lang->perms_user_inherit); } $perms_obj->reset_cube(false); if (!isset($this->post['perms'])) { $this->post['perms'] = array(); } if ($mode == 'user') { if ((!isset($this->post['perms']['do_anything'])) && ($this->post['group'] == USER_GUEST_UID)) { return $this->message($this->lang->perms, $this->lang->perms_guest1); } } else { if ((!isset($this->post['perms']['do_anything'])) && ($this->post['group'] == USER_GUEST)) { return $this->message($this->lang->perms, $this->lang->perms_guest2); } } foreach ($this->post['perms'] as $name => $data) { if (isset($data[-1]) || isset($data['-1'])) { $perms_obj->set_xy($name, true); } } $perms_obj->update(); return $this->message($this->lang->perms, $this->lang->perms_updated); } } } ?>