Blame view

sources/lib/private/user/dummy.php 3.17 KB
31b7f2792   Kload   Upgrade to ownclo...
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
  <?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/>.
   *
   */
  
  /**
   * dummy user backend, does not keep state, only for testing use
   */
  class OC_User_Dummy extends OC_User_Backend {
  	private $users = array();
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
31
  	 * Create a new user
31b7f2792   Kload   Upgrade to ownclo...
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  	 * @param string $uid The username of the user to create
  	 * @param string $password The password of the new user
  	 * @return bool
  	 *
  	 * Creates a new user. Basic checking of username is done in OC_User
  	 * itself, not in its subclasses.
  	 */
  	public function createUser($uid, $password) {
  		if (isset($this->users[$uid])) {
  			return false;
  		} else {
  			$this->users[$uid] = $password;
  			return true;
  		}
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
49
  	 * delete a user
31b7f2792   Kload   Upgrade to ownclo...
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  	 * @param string $uid The username of the user to delete
  	 * @return bool
  	 *
  	 * Deletes a user
  	 */
  	public function deleteUser($uid) {
  		if (isset($this->users[$uid])) {
  			unset($this->users[$uid]);
  			return true;
  		} else {
  			return false;
  		}
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
65
  	 * Set password
31b7f2792   Kload   Upgrade to ownclo...
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
  	 * @param string $uid The username
  	 * @param string $password The new password
  	 * @return bool
  	 *
  	 * Change the password of a user
  	 */
  	public function setPassword($uid, $password) {
  		if (isset($this->users[$uid])) {
  			$this->users[$uid] = $password;
  			return true;
  		} else {
  			return false;
  		}
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
82
  	 * Check if the password is correct
31b7f2792   Kload   Upgrade to ownclo...
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
  	 * @param string $uid The username
  	 * @param string $password The password
  	 * @return string
  	 *
  	 * Check if the password is correct without logging in the user
  	 * returns the user id or false
  	 */
  	public function checkPassword($uid, $password) {
  		if (isset($this->users[$uid]) && $this->users[$uid] === $password) {
  			return $uid;
  		} else {
  			return false;
  		}
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
99
  	 * Get a list of all users
31b7f2792   Kload   Upgrade to ownclo...
100
101
102
  	 * @param string $search
  	 * @param int $limit
  	 * @param int $offset
6d9380f96   Cédric Dupont   Update sources OC...
103
  	 * @return string[] with all uids
31b7f2792   Kload   Upgrade to ownclo...
104
105
106
107
  	 *
  	 * Get a list of all users.
  	 */
  	public function getUsers($search = '', $limit = null, $offset = null) {
6d9380f96   Cédric Dupont   Update sources OC...
108
109
110
111
112
113
114
115
116
117
  		if(empty($search)) {
  			return array_keys($this->users);
  		}
  		$result = array();
  		foreach(array_keys($this->users) as $user) {
  			if(stripos($user, $search) !== false) {
  				$result[] = $user;
  			}
  		}
  		return $result;
31b7f2792   Kload   Upgrade to ownclo...
118
119
120
  	}
  
  	/**
6d9380f96   Cédric Dupont   Update sources OC...
121
  	 * check if a user exists
31b7f2792   Kload   Upgrade to ownclo...
122
123
124
125
126
127
128
129
130
131
132
133
134
  	 * @param string $uid the username
  	 * @return boolean
  	 */
  	public function userExists($uid) {
  		return isset($this->users[$uid]);
  	}
  
  	/**
  	 * @return bool
  	 */
  	public function hasUserListings() {
  		return true;
  	}
a293d369c   Kload   Update sources to...
135
136
137
138
  
  	/**
  	 * counts the users in the database
  	 *
6d9380f96   Cédric Dupont   Update sources OC...
139
  	 * @return int|bool
a293d369c   Kload   Update sources to...
140
141
142
143
  	 */
  	public function countUsers() {
  		return 0;
  	}
31b7f2792   Kload   Upgrade to ownclo...
144
  }