Dotclear

source: admin/users.php @ 1609:51d77265fb5a

Revision 1609:51d77265fb5a, 4.4 KB checked in by Anne Kozlika <kozlika@…>, 11 years ago (diff)

User page, My preferences page : reorder elements, change wording, delete fieldsets, add some styles. (My preference needs to be enhanced, work in progress.)

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

Sites map