Bug fix: Generating admin setting forms
[estigi.git] / core / user / user.admin
blob5e8b43d87e12fcebe467c95861d3cf75f0dc3f61
1 <?php
3 /**
4  * @file user.admin
5  * Admin user module file.
6  * Core Module. Deals with user administrative tasks.
7  *
8  * @ingroup User
9  */
11 /**
12  * User settings form
13  */
14 function user_settings_form(){
16         global $settings;
18         $form['user_admin']['login_redirect'] = array(
19                 'type'  => 'text',
20                 'text' =>'Login Page redirect url',
21                 'help' => 'Where will members go after they login? This will only take effect when using the login page. Leave blank for Control Center'
22                 );
24         $form['user_admin']['logout_redirect'] = array(
25                 'type'  => 'text',
26                 'text' =>'Logout Page redirect url',
27                 'help' => 'Where will members go after they logout? Leave blank to go back to the current page'
28                 );
30         $form['user_admin']['fieldset_register'] = array(
31                 'type'  => 'fieldset',
32                 'legend'  => 'User Registration'
33                 );
35         $form['user_admin']['fieldset_register']['user_register'] = array(
36                 'type'  => 'radio',
37                 'text' =>'',
38                 'options' => array('an' => 'Anyone without administration approval', 'admin' => 'Only administrators can register new users', 'aa' => 'Anyone, but administrative approval is requried'),
39                 'value' => 'an',
40                 'use_keys' => TRUE
41                 );
43         return $form;
46 /**
47  * User filter form
48  * 
49  * @todo
50  *  Add a group selection
51  */
53 function user_filter_form(){
55         $form['user_list']['fieldset_filter'] = array(
56                 'type' => 'fieldset',
57                 'legend' => 'Filter users'
58         );
60         $form['user_list']['fieldset_filter']['roles'] = array(
61                 'type' => 'select',
62                 'text' => 'View only members of this role',
63                 'options' => user_roles(),
64                 'use_keys' => TRUE
65                 );
67         $form['user_list']['fieldset_filter']['status'] = array(
68                 'type' => 'select',
69                 'text' => 'Status',
70                 'options' => array('Inactive', 'Active'),
71                 'use_keys' => TRUE
72                 );
74         $form['user_list']['fieldset_filter']['submit'] = array(
75                 'type' => 'submit',
76                 'value' => 'Filter'
77                 );
79         return $form;
82 /**
83  * Lists all users
84  */
85 function user_admin_list(){
87         global $skin;
89         $skin['page_title'] = 'User list';
91         if(!user_access('users admin')){
92                 return PATH_NO_ACCESS;
93         }
95         //Filters
96         if(isset($_POST['status']) && $_POST['status'] != '---'){
97                 $where = 'AND status = '.$_POST['status'].'';
98         }
100         $user_list = db_query("SELECT * FROM {PRE_}users WHERE uid > 0 ".$where." ORDER BY uid DESC", TRUE, FALSE, 10);
102         $users = form_form(user_filter_form());
104         $users .= '<table id="users list">
105                                         <thead><tr>
106                                                 <th>Uid</th>
107                                                 <th>Name</th>
108                                                 <th>Registred</th>
109                                                 <th>Status</th>
110                                         </tr>
111                                         </thead>';
113         if($user_list){
115                 foreach($user_list as $user){
117                         $users .= '<tr>
118                                                         <td>'.$user['uid'].'</td>
119                                                         <td>'.path_link('user/edit/'.$user['uid'], $user['name'], 'Click here to edit user\'s account').'</a></td>
120                                                         <td>'.date('Y - M - d', $user['created']).'</td>
121                                                         <td>'.($user['status'] == 1 ? 'Active' : 'Inactive') .'</td>
122                                                 </tr>';
123                 }
124         }
126         $users .= '</table>';
128         return $users;