| [0] | 1 | <?php | 
|---|
 | 2 | # -- BEGIN LICENSE BLOCK --------------------------------------- | 
|---|
 | 3 | # | 
|---|
 | 4 | # This file is part of Dotclear 2. | 
|---|
 | 5 | # | 
|---|
| [1179] | 6 | # Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear | 
|---|
| [0] | 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 |  | 
|---|
 | 13 | require dirname(__FILE__).'/../inc/admin/prepend.php'; | 
|---|
 | 14 |  | 
|---|
 | 15 | dcPage::checkSuper(); | 
|---|
 | 16 |  | 
|---|
 | 17 | # Creating filter combo boxes | 
|---|
 | 18 | $sortby_combo = array( | 
|---|
| [860] | 19 | __('Username') => 'user_id', | 
|---|
| [0] | 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( | 
|---|
| [860] | 33 |      __('Set permissions') => 'blogs', | 
|---|
| [0] | 34 |      __('Delete') => 'deleteuser' | 
|---|
 | 35 | ); | 
|---|
 | 36 |  | 
|---|
| [565] | 37 | # --BEHAVIOR-- adminUsersActionsCombo | 
|---|
| [0] | 38 | $core->callBehavior('adminUsersActionsCombo',array(&$combo_action)); | 
|---|
 | 39 |  | 
|---|
 | 40 |  | 
|---|
| [1474] | 41 | #?Get users | 
|---|
| [1912] | 42 | $page = !empty($_GET['page']) ? max(1,(integer) $_GET['page']) : 1; | 
|---|
| [0] | 43 | $nb_per_page =  30; | 
|---|
 | 44 |  | 
|---|
 | 45 | if (!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 | 
|---|
 | 58 | if ($q) { | 
|---|
 | 59 |      $params['q'] = $q; | 
|---|
 | 60 |      $show_filters = true; | 
|---|
 | 61 | } | 
|---|
 | 62 |  | 
|---|
 | 63 | # - Sortby and order filter | 
|---|
 | 64 | if ($sortby !== '' && in_array($sortby,$sortby_combo)) { | 
|---|
 | 65 |      if ($order !== '' && in_array($order,$order_combo)) { | 
|---|
 | 66 |           $params['order'] = $sortby.' '.$order; | 
|---|
| [860] | 67 |      } else { | 
|---|
 | 68 |           $order='asc'; | 
|---|
 | 69 |      } | 
|---|
 | 70 |       | 
|---|
 | 71 |      if ($sortby != 'user_id' || $order != 'asc') { | 
|---|
| [0] | 72 |           $show_filters = true; | 
|---|
 | 73 |      } | 
|---|
| [860] | 74 | } else { | 
|---|
 | 75 |      $sortby = 'user_id'; | 
|---|
 | 76 |      $order = 'asc'; | 
|---|
| [0] | 77 | } | 
|---|
 | 78 |  | 
|---|
| [860] | 79 | # Get users | 
|---|
| [0] | 80 | try { | 
|---|
 | 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'); | 
|---|
 | 92 | if (!$show_filters) { | 
|---|
 | 93 |      $starting_script .= dcPage::jsLoad('js/filter-controls.js'); | 
|---|
 | 94 | } | 
|---|
 | 95 |  | 
|---|
| [1358] | 96 | dcPage::open(__('Users'),$starting_script, | 
|---|
 | 97 |      dcPage::breadcrumb( | 
|---|
 | 98 |           array( | 
|---|
 | 99 |                __('System') => '', | 
|---|
 | 100 |                '<span class="page-title">'.__('Users').'</span>' => '' | 
|---|
 | 101 |           )) | 
|---|
 | 102 | ); | 
|---|
| [0] | 103 |  | 
|---|
 | 104 | if (!$core->error->flag()) | 
|---|
 | 105 | { | 
|---|
 | 106 |      if (!empty($_GET['del'])) { | 
|---|
| [907] | 107 |           dcPage::message(__('User has been successfully removed.')); | 
|---|
| [0] | 108 |      } | 
|---|
| [860] | 109 |      if (!empty($_GET['upd'])) { | 
|---|
| [907] | 110 |           dcPage::message(__('The permissions have been successfully updated.')); | 
|---|
| [860] | 111 |      } | 
|---|
| [0] | 112 |       | 
|---|
| [1332] | 113 |      echo | 
|---|
| [1609] | 114 |      '<p class="top-add"><strong><a class="button add" href="user.php">'.__('New user').'</a></strong></p>'; | 
|---|
| [0] | 115 |       | 
|---|
 | 116 |      if (!$show_filters) { | 
|---|
| [1426] | 117 |           echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filter users list').'</a></p>'; | 
|---|
| [0] | 118 |      } | 
|---|
 | 119 |       | 
|---|
 | 120 |      echo | 
|---|
 | 121 |      '<form action="users.php" method="get" id="filters-form">'. | 
|---|
| [1514] | 122 |      '<h3 class="hidden">'.__('Filter users list').'</h3>'. | 
|---|
| [0] | 123 |       | 
|---|
| [1426] | 124 |      '<div class="table">'. | 
|---|
 | 125 |      '<div class="cell">'. | 
|---|
| [1514] | 126 |      '<h4>'.__('Filters').'</h4>'. | 
|---|
| [1426] | 127 |      '<p><label for="q" class="ib">'.__('Search:').'</label> '. | 
|---|
 | 128 |      form::field('q',20,255,html::escapeHTML($q)).'</p>'. | 
|---|
| [0] | 129 |      '</div>'. | 
|---|
| [1426] | 130 |  | 
|---|
 | 131 |      '<div class="cell filters-options">'. | 
|---|
| [1514] | 132 |      '<h4>'.__('Display options').'</h4>'. | 
|---|
| [1426] | 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">'.   | 
|---|
| [1474] | 138 |      form::field('nb',3,3,$nb_per_page).' '.__('users per page').'</label></p> '. | 
|---|
| [0] | 139 |      '</div>'. | 
|---|
| [1426] | 140 |      '</div>'. | 
|---|
 | 141 |  | 
|---|
| [1514] | 142 |      '<p><input type="submit" value="'.__('Apply filters and display options').'" />'.     | 
|---|
| [1426] | 143 |      '<br class="clear" /></p>'. //Opera sucks | 
|---|
| [0] | 144 |      '</form>'; | 
|---|
 | 145 |       | 
|---|
 | 146 |      # Show users | 
|---|
 | 147 |      $user_list->display($page,$nb_per_page, | 
|---|
| [860] | 148 |      '<form action="users_actions.php" method="post" id="form-users">'. | 
|---|
| [0] | 149 |       | 
|---|
 | 150 |      '%s'. | 
|---|
 | 151 |       | 
|---|
 | 152 |      '<div class="two-cols">'. | 
|---|
 | 153 |      '<p class="col checkboxes-helpers"></p>'. | 
|---|
 | 154 |       | 
|---|
| [860] | 155 |      '<p class="col right"><label for="action" class="classic">'. | 
|---|
| [0] | 156 |      __('Selected users action:').' '. | 
|---|
| [860] | 157 |      form::combo('action',$combo_action). | 
|---|
| [0] | 158 |      '</label> '. | 
|---|
 | 159 |      '<input type="submit" value="'.__('ok').'" />'. | 
|---|
| [860] | 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(). | 
|---|
| [0] | 166 |      '</p>'. | 
|---|
 | 167 |      '</div>'. | 
|---|
 | 168 |      '</form>' | 
|---|
 | 169 |      ); | 
|---|
 | 170 | } | 
|---|
 | 171 |  | 
|---|
 | 172 | dcPage::close(); | 
|---|
 | 173 | ?> | 
|---|