summaryrefslogtreecommitdiffstats
path: root/lib/public/user.php
blob: 3f98a636a0165999c51dbd3a0d8957fe40e00a03 (plain)
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
/**
 * ownCloud
 *
 * @author Frank Karlitschek
 * @copyright 2012 Frank Karlitschek frank@owncloud.org
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
 *
 * You should have received a copy of the GNU Affero General Public
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

/**
 * Public interface of ownCloud for apps to use.
 * User Class
 *
 */

// use OCP namespace for all classes that are considered public.
// This means that they should be used by apps instead of the internal ownCloud classes
namespace OCP;

/**
 * This class provides access to the user management. You can get information
 * about the currently logged in user and the permissions for example
 */
class User {
	/**
	 * Get the user id of the user currently logged in.
	 * @return string uid or false
	 */
	public static function getUser() {
		return \OC_User::getUser();
	}

	/**
	 * Get a list of all users
	 * @param string search pattern
	 * @param int limit
	 * @param int offset
	 * @param integer $limit
	 * @param integer $offset
	 * @return array with all uids
	 */
	public static function getUsers( $search = '', $limit = null, $offset = null ) {
		return \OC_User::getUsers( $search, $limit, $offset );
	}

	/**
	 * Get the user display name of the user currently logged in.
	 * @param string user id or null for current user
	 * @return string display name
	 */
	public static function getDisplayName( $user = null ) {
		return \OC_User::getDisplayName( $user );
	}

	/**
	 * Get a list of all display names and user ids.
	 * @param string search pattern
	 * @param int limit
	 * @param int offset
	 * @return array with all display names (value) and the correspondig uids (key)
	 */
	public static function getDisplayNames( $search = '', $limit = null, $offset = null ) {
		return \OC_User::getDisplayNames( $search, $limit, $offset );
	}

	/**
	 * Check if the user is logged in
	 * @return boolean
	 */
	public static function isLoggedIn() {
		return \OC_User::isLoggedIn();
	}

	/**
	 * Check if a user exists
	 * @param string $uid the username
	 * @param string $excludingBackend (default none)
	 * @return boolean
	 */
	public static function userExists( $uid, $excludingBackend = null ) {
		return \OC_User::userExists( $uid, $excludingBackend );
	}
	/**
	 * Logs the user out including all the session data
	 * Logout, destroys session
	 */
	public static function logout() {
		\OC_User::logout();
	}

	/**
	 * Check if the password is correct
	 * @param string The username
	 * @param string The password
	 * @param string $uid
	 * @param string $password
	 * @return string|false username on success, false otherwise
	 *
	 * Check if the password is correct without logging in the user
	 */
	public static function checkPassword( $uid, $password ) {
		return \OC_User::checkPassword( $uid, $password );
	}

	/**
	* Check if the user is a admin, redirects to home if not
	*/
	public static function checkAdminUser() {
		\OC_Util::checkAdminUser();
	}

	/**
	* Check if the user is logged in, redirects to home if not. With
	* redirect URL parameter to the request URI.
	*/
	public static function checkLoggedIn() {
		\OC_Util::checkLoggedIn();
	}
}