From 9a2c73e86d2549a2cd63d7f772b4bb1a3956e46f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 15 Feb 2014 12:36:15 +0100 Subject: streamlined retrieveUsers() signature over all auth plugins FS#2919 --- lib/plugins/authpgsql/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 3f8ff3249..240db80fa 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -148,7 +148,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * @param array $filter array of field/pattern pairs * @return array userinfo (refer getUserData for internal userinfo details) */ - public function retrieveUsers($first = 0, $limit = 10, $filter = array()) { + public function retrieveUsers($first = 0, $limit = 0, $filter = array()) { $out = array(); if($this->_openDB()) { -- cgit v1.2.3 From b9a6663fa7b0c5a5ac67e903ad77e0a8277029aa Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 15 Feb 2014 12:45:58 +0100 Subject: handle limit=0 correctly in authmysql/pgsql FS#2919 --- lib/plugins/authpgsql/auth.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 240db80fa..e51b39858 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -154,7 +154,9 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { if($this->_openDB()) { $this->_lockTables("READ"); $sql = $this->_createSQLFilter($this->conf['getUsers'], $filter); - $sql .= " ".$this->conf['SortOrder']." LIMIT $limit OFFSET $first"; + $sql .= " ".$this->conf['SortOrder']; + if($limit) $sql .= " LIMIT $limit"; + if($first) $sql .= " OFFSET $first"; $result = $this->_queryDB($sql); foreach($result as $user) -- cgit v1.2.3 From 2046a6546c8ed62b9a7b33305b6201458f2f8291 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 12 Mar 2014 15:38:28 +0000 Subject: Allow user info to be retrieved without groups Some parts of dokuwiki (e.g. recent changes, old revisions) can requests lots of user info (to provide editor names) without requiring any group information. This change also implements caching of user info by authmysql & authpgsql plugins to avoid repeated querying of the DB to retrieve the same user information. --- lib/plugins/authpgsql/auth.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index e51b39858..99f3ed443 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -160,7 +160,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { $result = $this->_queryDB($sql); foreach($result as $user) - if(($info = $this->_getUserInfo($user['user']))) + if(($info = $this->_getCachedUserInfo($user['user']))) $out[$user['user']] = $info; $this->_unlockTables(); @@ -212,7 +212,10 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { $sql = str_replace('%{user}', addslashes($user), $sql); $sql = str_replace('%{gid}', addslashes($gid), $sql); $sql = str_replace('%{group}', addslashes($group), $sql); - if($this->_modifyDB($sql) !== false) return true; + if($this->_modifyDB($sql) !== false) { + $this->_flushUserInfoCache($user); + return true; + } if($newgroup) { // remove previously created group on error $sql = str_replace('%{gid}', addslashes($gid), $this->conf['delGroup']); @@ -267,6 +270,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { } if($gid !== false){ + $this->_flushUserInfoCache($user); return true; } else { /* remove the new user and all group relations if a group can't -- cgit v1.2.3 From e0c26282a603881e8d2f839d94c28dbbfc57d71b Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Mon, 29 Sep 2014 03:34:17 +0200 Subject: scrutinizer documentations issues --- lib/plugins/authpgsql/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 99f3ed443..4f5e3346f 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -265,7 +265,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { if($uid) { foreach($grps as $group) { - $gid = $this->_addUserToGroup($user, $group, 1); + $gid = $this->_addUserToGroup($user, $group, true); if($gid === false) break; } -- cgit v1.2.3 From 07a1dd10b8b570789d74054892a20c952ee99e54 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 29 Sep 2014 14:10:08 +0100 Subject: postgresql auth plugin: correct function name --- lib/plugins/authpgsql/auth.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 99f3ed443..de41598e0 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -159,9 +159,11 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { if($first) $sql .= " OFFSET $first"; $result = $this->_queryDB($sql); - foreach($result as $user) - if(($info = $this->_getCachedUserInfo($user['user']))) + foreach($result as $user) { + if(($info = $this->_getUserInfo($user['user']))) { $out[$user['user']] = $info; + } + } $this->_unlockTables(); $this->_closeDB(); -- cgit v1.2.3 From 253d4b48ec708eb42033862dc15c8576f44a48ed Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Wed, 1 Oct 2014 15:32:05 +0200 Subject: more PHPDocs, unused var, small bit code reformatting --- lib/plugins/authpgsql/auth.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'lib/plugins/authpgsql/auth.php') diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index 4f5e3346f..06590fedd 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -104,7 +104,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * * @author Matthias Grimm * - * @param array $keys + * @param string[] $keys * @param bool $wop * @return bool */ @@ -340,7 +340,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * @author Matthias Grimm * * @param string $query SQL string that contains the query - * @return array the result table + * @return array|false the result table */ protected function _queryDB($query) { $resultarray = array(); @@ -363,6 +363,9 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * MySQL one because it does NOT return the last insertID * * @author Andreas Gohr + * + * @param string $query + * @return bool */ protected function _modifyDB($query) { if($this->dbcon) { @@ -396,6 +399,8 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { * Commit a transaction * * @author Matthias Grimm + * + * @return bool */ protected function _unlockTables() { if($this->dbcon) { -- cgit v1.2.3