Lines Matching +full:join +full:- +full:group -(+path:inc +path:lang) -(+path:lib +path:plugins +path:lang) -(+path:lib +path:tpl +path:dokuwiki +path:lang)

13  * @author     Jan Schumann <js@schumann-it.com>
40 $this->success = false;
43 $this->cando['addUser'] = true;
44 $this->cando['delUser'] = true;
45 $this->cando['modLogin'] = true;
46 $this->cando['modPass'] = true;
47 $this->cando['modName'] = true;
48 $this->cando['modMail'] = true;
49 $this->cando['modGroups'] = true;
51 $this->cando['getUsers'] = true;
52 $this->cando['getUserCount'] = true;
53 $this->cando['getGroups'] = true;
70 $userinfo = $this->getUserData($user);
73 return auth_verifyPassword($pass, $this->users[$user]['pass']);
93 if ($this->users === null) $this->loadUserData();
94 return $this->users[$user] ?? false;
126 * The new user will be added to the default group by this
145 if ($this->getUserData($user) !== false) {
146 msg($this->getLang('userexists'), -1);
152 // set default group if no groups specified
156 $userline = $this->createUserLine($user, $pass, $name, $mail, $grps);
159 msg($this->getLang('writefail'), -1);
163 $this->users[$user] = [
186 if (($userinfo = $this->getUserData($user)) === false) {
187 msg($this->getLang('usernotexists'), -1);
193 msg(sprintf($this->getLang('protected'), hsc($user)), -1);
210 $userline = $this->createUserLine(
219 msg('There was an error modifying your user data. You may need to register again.', -1);
220 // FIXME, io functions should be fail-safe so existing data isn't lost
225 if (isset($this->users[$user])) unset($this->users[$user]);
226 $this->users[$newuser] = $userinfo;
243 if ($this->users === null) $this->loadUserData();
248 if (!empty($this->users[$user]['protected'])) {
249 msg(sprintf($this->getLang('protected'), hsc($user)), -1);
252 if (isset($this->users[$user])) $deleted[] = preg_quote($user, '/');
259 msg($this->getLang('writefail'), -1);
264 $count = count($this->users);
265 $this->loadUserData();
266 $count -= count($this->users);
281 if ($this->users === null) $this->loadUserData();
283 if ($filter === []) return count($this->users);
286 $this->constructPattern($filter);
288 foreach ($this->users as $user => $info) {
289 $count += $this->filter($user, $info);
308 if ($this->users === null) $this->loadUserData();
310 Sort::ksort($this->users);
315 $this->constructPattern($filter);
317 foreach ($this->users as $user => $info) {
318 if ($this->filter($user, $info)) {
335 * @param int $start index of first group to be returned
343 if ($this->users === null) $this->loadUserData();
344 foreach ($this->users as $info) {
371 * @param string $group
374 public function cleanGroup($group)
378 return cleanID(str_replace([':', '/', ';'], $conf['sepchar'], $group));
392 $this->users = $this->readUserFile($config_cascade['plainauth.users']['default']);
396 $protected = $this->readUserFile($config_cascade['plainauth.users']['protected']);
400 $this->users = array_merge($this->users, $protected);
423 $row = $this->splitUserData($line);
465 foreach ($this->pattern as $item => $pattern) {
484 $this->pattern = [];
486 $this->pattern[$item] = '/' . str_replace('/', '\/', $pattern) . '/i'; // allow regex characters