1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<?php
/**
* Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*/
namespace OCP;
/**
* Class Manager
*
* Hooks available in scope \OC\User:
* - preSetPassword(\OC\User\User $user, string $password, string $recoverPassword)
* - postSetPassword(\OC\User\User $user, string $password, string $recoverPassword)
* - preDelete(\OC\User\User $user)
* - postDelete(\OC\User\User $user)
* - preCreateUser(string $uid, string $password)
* - postCreateUser(\OC\User\User $user, string $password)
*
* @package OC\User
*/
interface IUserManager {
/**
* register a user backend
*
* @param \OCP\UserInterface $backend
*/
public function registerBackend($backend);
/**
* Get the active backends
* @return \OCP\UserInterface[]
*/
public function getBackends();
/**
* remove a user backend
*
* @param \OCP\UserInterface $backend
*/
public function removeBackend($backend);
/**
* remove all user backends
*/
public function clearBackends() ;
/**
* get a user by user id
*
* @param string $uid
* @return \OCP\IUser
*/
public function get($uid);
/**
* check if a user exists
*
* @param string $uid
* @return bool
*/
public function userExists($uid);
/**
* Check if the password is valid for the user
*
* @param string $loginname
* @param string $password
* @return mixed the User object on success, false otherwise
*/
public function checkPassword($loginname, $password);
/**
* search by user id
*
* @param string $pattern
* @param int $limit
* @param int $offset
* @return \OCP\IUser[]
*/
public function search($pattern, $limit = null, $offset = null);
/**
* search by displayName
*
* @param string $pattern
* @param int $limit
* @param int $offset
* @return \OCP\IUser[]
*/
public function searchDisplayName($pattern, $limit = null, $offset = null);
/**
* @param string $uid
* @param string $password
* @throws \Exception
* @return bool|\OCP\IUser the created user of false
*/
public function createUser($uid, $password);
/**
* returns how many users per backend exist (if supported by backend)
*
* @return array an array of backend class as key and count number as value
*/
public function countUsers();
}
|