diff options
author | plegall <plg@piwigo.org> | 2005-08-08 20:52:19 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2005-08-08 20:52:19 +0000 |
commit | 273884a65274e2688df1b2d3dc37103a46117772 (patch) | |
tree | 6d0756672c6b415c38abea4c8ea831cdeb3673fb /admin/user_list.php | |
parent | 8b97a8154ebb024c1c2610d82646e48b913721bc (diff) |
- new : external authentication in another users table. Previous users table
is divided between users (common properties with any web application) and
user_infos (phpwebgallery specific informations). External table and
fields can be configured.
- modification : profile.php is not reachable through administration anymore
(not useful).
- modification : in profile.php, current password is mandatory only if user
tries to change his password. Username can't be changed.
- deletion : of obsolete functions get_user_restrictions,
update_user_restrictions, get_user_all_restrictions, is_user_allowed,
update_user
- modification : $user['forbidden_categories'] equals at least "-1" so that
category_id NOT IN ($user['forbidden_categories']) can always be used.
- modification : user_forbidden table becomes user_cache so that not only
restriction informations can be stored in this table.
git-svn-id: http://piwigo.org/svn/trunk@808 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r-- | admin/user_list.php | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/admin/user_list.php b/admin/user_list.php index 9ffc84e10..aa1bbff22 100644 --- a/admin/user_list.php +++ b/admin/user_list.php @@ -45,10 +45,7 @@ include_once(PHPWG_ROOT_PATH.'admin/include/isadmin.inc.php'); if (isset($_POST['submit_add'])) { - $page['errors'] = register_user($_POST['login'], - $_POST['password'], - $_POST['password'], - ''); + $page['errors'] = register_user($_POST['login'], $_POST['password'], ''); } // +-----------------------------------------------------------------------+ @@ -66,7 +63,7 @@ if (isset($_POST['pref_submit'])) $query = ' SELECT id FROM '.USERS_TABLE.' - WHERE id != 2 + WHERE id != '.$conf['guest_id'].' ;'; $collection = array_from_query($query, 'id'); break; @@ -123,7 +120,7 @@ DELETE FROM '.USER_GROUP_TABLE.' // properties to set for the collection (a user list) $datas = array(); - $dbfields = array('primary' => array('id'), 'update' => array()); + $dbfields = array('primary' => array('user_id'), 'update' => array()); $formfields = array('nb_image_line', 'nb_line_page', 'template', 'language', @@ -146,7 +143,7 @@ DELETE FROM '.USER_GROUP_TABLE.' foreach ($collection as $user_id) { $data = array(); - $data['id'] = $user_id; + $data['user_id'] = $user_id; // TODO : verify if submited values are semanticaly correct foreach ($dbfields['update'] as $dbfield) @@ -168,7 +165,7 @@ DELETE FROM '.USER_GROUP_TABLE.' array_push($datas, $data); } - mass_updates(USERS_TABLE, $dbfields, $datas); + mass_updates(USER_INFOS_TABLE, $dbfields, $datas); } } else @@ -202,7 +199,7 @@ $template->set_filenames(array('user_list'=>'admin/user_list.tpl')); $base_url = add_session_id(PHPWG_ROOT_PATH.'admin.php?page=user_list'); -$conf['users_page'] = 10; +$conf['users_page'] = 20; if (isset($_GET['start']) and is_numeric($_GET['start'])) { @@ -317,7 +314,7 @@ $template->assign_block_vars( 'SELECTED' => '' )); -foreach (get_enums(USERS_TABLE, 'status') as $status) +foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) { $selected = (isset($_GET['status']) and $_GET['status'] == $status) ? 'selected="selected"' : ''; @@ -432,7 +429,7 @@ foreach (get_languages() as $language_code => $language_name) $blockname = 'pref_status_option'; -foreach (get_enums(USERS_TABLE, 'status') as $status) +foreach (get_enums(USER_INFOS_TABLE, 'status') as $status) { if (isset($_POST['pref_submit'])) { @@ -550,7 +547,7 @@ if (isset($_GET['group']) } if (isset($_GET['status']) - and in_array($_GET['status'], get_enums(USERS_TABLE, 'status'))) + and in_array($_GET['status'], get_enums(USER_INFOS_TABLE, 'status'))) { $filter['status'] = $_GET['status']; } @@ -560,23 +557,27 @@ if (isset($_GET['status']) // +-----------------------------------------------------------------------+ $query = ' -SELECT COUNT(DISTINCT(id)) - FROM '.USERS_TABLE.' LEFT JOIN '.USER_GROUP_TABLE.' ON id = user_id - WHERE id != 2'; +SELECT COUNT(DISTINCT u.'.$conf['user_fields']['id'].') + FROM '.USERS_TABLE.' AS u + INNER JOIN '.USER_INFOS_TABLE.' AS ui + ON u.'.$conf['user_fields']['id'].' = ui.user_id + LEFT JOIN '.USER_GROUP_TABLE.' AS ug + ON u.'.$conf['user_fields']['id'].' = ug.user_id + WHERE u.'.$conf['user_fields']['id'].' != '.$conf['guest_id']; if (isset($filter['username'])) { $query.= ' - AND username LIKE \''.$filter['username'].'\''; + AND u.'.$conf['user_fields']['username'].' LIKE \''.$filter['username'].'\''; } if (isset($filter['group'])) { $query.= ' - AND group_id = '.$filter['group']; + AND ug.group_id = '.$filter['group']; } if (isset($filter['status'])) { $query.= ' - AND status = \''.$filter['status']."'"; + AND ui.status = \''.$filter['status']."'"; } $query.= ' ;'; @@ -617,9 +618,16 @@ if (isset($_GET['direction']) } $query = ' -SELECT DISTINCT(id), username, mail_address, status - FROM '.USERS_TABLE.' LEFT JOIN '.USER_GROUP_TABLE.' ON id = user_id - WHERE id != 2'; +SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, + u.'.$conf['user_fields']['username'].' AS username, + u.'.$conf['user_fields']['email'].' AS email, + ui.status + FROM '.USERS_TABLE.' AS u + INNER JOIN '.USER_INFOS_TABLE.' AS ui + ON u.'.$conf['user_fields']['id'].' = ui.user_id + LEFT JOIN '.USER_GROUP_TABLE.' AS ug + ON u.'.$conf['user_fields']['id'].' = ug.user_id + WHERE id != '.$conf['guest_id']; if (isset($filter['username'])) { $query.= ' @@ -628,12 +636,12 @@ if (isset($filter['username'])) if (isset($filter['group'])) { $query.= ' - AND group_id = '.$filter['group']; + AND ug.group_id = '.$filter['group']; } if (isset($filter['status'])) { $query.= ' - AND status = \''.$filter['status']."'"; + AND ui.status = \''.$filter['status']."'"; } $query.= ' ORDER BY '.$order_by.' '.$direction.' @@ -687,7 +695,7 @@ SELECT user_id, group_id 'U_PERM'=>add_session_id($perm_url.$item['id']), 'USERNAME'=>$item['username'], 'STATUS'=>$lang['user_status_'.$item['status']], - 'EMAIL'=>isset($item['mail_address']) ? $item['mail_address'] : '', + 'EMAIL'=>isset($item['email']) ? $item['email'] : '', 'GROUPS'=>$groups_string )); } |