diff options
author | plegall <plg@piwigo.org> | 2014-03-28 13:24:14 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2014-03-28 13:24:14 +0000 |
commit | a6820e70bde7afc3e1b7ea537e4aff530675299b (patch) | |
tree | 9c7957d2afe6cba5b1712074005f8ef61a49055a /admin | |
parent | 2b48fcc5cf4ffaeca33bf149f3e3094f3a756e58 (diff) |
bug 3065 fixed: avoid SQL errors with external authentication
git-svn-id: http://piwigo.org/svn/branches/2.6@27996 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin')
-rw-r--r-- | admin/group_list.php | 2 | ||||
-rw-r--r-- | admin/user_list_backend.php | 29 |
2 files changed, 25 insertions, 6 deletions
diff --git a/admin/group_list.php b/admin/group_list.php index 4912458f7..5c53a8b1f 100644 --- a/admin/group_list.php +++ b/admin/group_list.php @@ -394,7 +394,7 @@ $toggle_is_default_url = $admin_url.'group_list&toggle_is_default='; while ($row = pwg_db_fetch_assoc($result)) { $query = ' -SELECT username +SELECT u.'. $conf['user_fields']['username'].' AS username FROM '.USERS_TABLE.' AS u INNER JOIN '.USER_GROUP_TABLE.' AS ug ON u.'.$conf['user_fields']['id'].' = ug.user_id diff --git a/admin/user_list_backend.php b/admin/user_list_backend.php index b390ed1ec..1edaa1369 100644 --- a/admin/user_list_backend.php +++ b/admin/user_list_backend.php @@ -35,14 +35,23 @@ check_status(ACCESS_ADMINISTRATOR); /* Array of database columns which should be read and sent back to DataTables. Use a space where * you want to insert a non-database field (for example a counter or static image) */ -$aColumns = array('id', 'username', 'status', 'mail_address', 'recent_period', 'level', 'registration_date'); +$aColumns = array( + $conf['user_fields']['id'], + $conf['user_fields']['username'], + 'status', + $conf['user_fields']['email'], + 'recent_period', + 'level', + 'registration_date' + ); + $aColumns = trigger_change('user_list_columns', $aColumns); /* Indexed column (used for fast and accurate table cardinality) */ -$sIndexColumn = "id"; +$sIndexColumn = 'user_id'; /* DB table to use */ -$sTable = USERS_TABLE.' INNER JOIN '.USER_INFOS_TABLE.' AS ui ON id = ui.user_id'; +$sTable = USERS_TABLE.' INNER JOIN '.USER_INFOS_TABLE.' AS ui ON '.$conf['user_fields']['id'].' = ui.user_id'; /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * If you just want to use the basic configuration for DataTables with PHP server-side, there is @@ -162,7 +171,7 @@ $user_ids = array(); while ( $aRow = pwg_db_fetch_array( $rResult ) ) { - $user_ids[] = $aRow['id']; + $user_ids[] = $aRow[ $conf['user_fields']['id'] ]; $row = array(); for ( $i=0 ; $i<count($aColumns) ; $i++ ) @@ -178,8 +187,18 @@ while ( $aRow = pwg_db_fetch_array( $rResult ) ) else if ( $aColumns[$i] != ' ' ) { /* General output */ - $row[] = $aRow[ $aColumns[$i] ]; + $colname = $aColumns[$i]; + foreach ($conf['user_fields'] as $real_name => $alias) + { + if ($aColumns[$i] == $real_name) + { + $colname = $alias; + } + } + + $row[] = $aRow[$colname]; } + } $output['aaData'][] = $row; } |