Dotclear

source: admin/users.php @ 501:ead05faef1e4

Revision 501:ead05faef1e4, 4.1 KB checked in by kozlika, 13 years ago (diff)

Quelques pages manquantes pour le #1247.

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2011 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12
13require dirname(__FILE__).'/../inc/admin/prepend.php';
14
15dcPage::checkSuper();
16
17# Delete users
18if (!empty($delete_users))
19{
20     foreach ($delete_users as $u)
21     {
22          try
23          {
24               # --BEHAVIOR-- adminBeforeUserDelete
25               $core->callBehavior('adminBeforeUserDelete',$u);
26               if ($u != $core->auth->userID()) {
27                    $core->delUser($u);
28               }
29          }
30          catch (Exception $e)
31          {
32               $core->error->add($e->getMessage());
33          }
34     }
35     if (!$core->error->flag()) {
36          http::redirect('users.php?del=1');
37     }
38}
39
40
41# Creating filter combo boxes
42$sortby_combo = array(
43__('Username') => 'U.user_id',
44__('Last Name') => 'user_name',
45__('First Name') => 'user_firstname',
46__('Display name') => 'user_displayname',
47__('Number of entries') => 'nb_post'
48);
49
50$order_combo = array(
51__('Descending') => 'desc',
52__('Ascending') => 'asc'
53);
54
55# Actions combo box
56$combo_action = array(
57     __('Set permissions') => 'setpermissions',
58     __('Delete') => 'deleteuser'
59);
60
61# --BEHAVIOR-- adminUser sActionsCombo
62$core->callBehavior('adminUsersActionsCombo',array(&$combo_action));
63
64
65# Get users
66$page = !empty($_GET['page']) ? $_GET['page'] : 1;
67$nb_per_page =  30;
68
69if (!empty($_GET['nb']) && (integer) $_GET['nb'] > 0) {
70     $nb_per_page = $_GET['nb'];
71}
72
73$q = !empty($_GET['q']) ? $_GET['q'] : '';
74$sortby = !empty($_GET['sortby']) ?     $_GET['sortby'] : 'user_id';
75$order = !empty($_GET['order']) ?       $_GET['order'] : 'asc';
76
77$params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page);
78
79$show_filters = false;
80
81# - Search filter
82if ($q) {
83     $params['q'] = $q;
84     $show_filters = true;
85}
86
87# - Sortby and order filter
88if ($sortby !== '' && in_array($sortby,$sortby_combo)) {
89     if ($order !== '' && in_array($order,$order_combo)) {
90          $params['order'] = $sortby.' '.$order;
91          $show_filters = true;
92     }
93}
94
95try {
96     $rs = $core->getUsers($params);
97     $counter = $core->getUsers($params,1);
98     $user_list = new adminUserList($core,$rs,$counter->f(0));
99} catch (Exception $e) {
100     $core->error->add($e->getMessage());
101}
102
103
104/* DISPLAY
105-------------------------------------------------------- */
106$starting_script = dcPage::jsLoad('js/_users.js');
107if (!$show_filters) {
108     $starting_script .= dcPage::jsLoad('js/filter-controls.js');
109}
110
111dcPage::open(__('users'),$starting_script);
112
113if (!$core->error->flag())
114{
115     if (!empty($_GET['del'])) {
116          echo '<p class="message">'.__('User has been successfully removed.').'</p>';
117     }
118     
119     echo 
120     '<h2 class="post-title">'.__('Users').'</h2>'.
121     '<p class="top-add"><strong><a class="button add" href="user.php">'.__('Create a new user').'</a></strong></p>';
122     
123     if (!$show_filters) {
124          echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filters').'</a></p>';
125     }
126     
127     echo
128     '<form action="users.php" method="get" id="filters-form">'.
129     '<fieldset class="two-cols"><legend>'.__('Filters').'</legend>'.
130     
131     '<div class="col">'.
132     '<p><label for="sortby">'.__('Order by:').' '.
133     form::combo('sortby',$sortby_combo,$sortby).
134     '</label> '.
135     '<label for="order">'.__('Sort:').' '.
136     form::combo('order',$order_combo,$order).
137     '</label></p>'.
138     '</div>'.
139     
140     '<div class="col">'.
141     '<p><label for="q">'.__('Search:').' '.
142     form::field('q',20,255,html::escapeHTML($q)).
143     '</label></p>'.
144     '<p><label for="nb" class="classic">'.  form::field('nb',3,3,$nb_per_page).' '.
145     __('Users per page').'</label> '.
146     '<input type="submit" value="'.__('Apply filters').'" /></p>'.
147     '</div>'.
148     
149     '<br class="clear" />'. //Opera sucks
150     '</fieldset>'.
151     '</form>';
152     
153     # Show users
154     $user_list->display($page,$nb_per_page,
155     '<form action="dispatcher.php" method="get" id="form-users">'.
156     
157     '%s'.
158     
159     '<div class="two-cols">'.
160     '<p class="col checkboxes-helpers"></p>'.
161     
162     '<p class="col right"><label for="dispatch_action" class="classic">'.
163     __('Selected users action:').' '.
164     form::combo('dispatch_action',$combo_action).
165     '</label> '.
166     '<input type="submit" value="'.__('ok').'" />'.
167     '</p>'.
168     '</div>'.
169     '</form>'
170     );
171}
172
173dcPage::close();
174?>
Note: See TracBrowser for help on using the repository browser.

Sites map