diff options
author | Robin Appelman <icewind1991@gmail.com> | 2010-07-28 00:16:56 +0200 |
---|---|---|
committer | Robin Appelman <icewind1991@gmail.com> | 2010-07-28 00:16:56 +0200 |
commit | 687cb29c7d9356811dd9d420873b375a3a03df89 (patch) | |
tree | cfac2b2a1b4186d2a9ccbfcd83439d89d620c57c /plugins | |
parent | dcb2455b69dc5b74d393b01c38eeb258701a5a91 (diff) | |
parent | 11664f3153c86cefc2c366156234f9530777aab3 (diff) | |
download | nextcloud-server-687cb29c7d9356811dd9d420873b375a3a03df89.tar.gz nextcloud-server-687cb29c7d9356811dd9d420873b375a3a03df89.zip |
Merge commit 'refs/merge-requests/31' of git://gitorious.org/owncloud/owncloud into merge
Diffstat (limited to 'plugins')
-rwxr-xr-x | plugins/ldap/lib_ldap.php | 202 |
1 files changed, 202 insertions, 0 deletions
diff --git a/plugins/ldap/lib_ldap.php b/plugins/ldap/lib_ldap.php new file mode 100755 index 00000000000..2105ed2464e --- /dev/null +++ b/plugins/ldap/lib_ldap.php @@ -0,0 +1,202 @@ +<?php + +/** +* ownCloud +* +* @author Frank Karlitschek +* @copyright 2010 Frank Karlitschek karlitschek@kde.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 Lesser General Public +* License along with this library. If not, see <http://www.gnu.org/licenses/>. +* +*/ + +oc_require_once('inc/User/backend.php'); + + + +/** + * Class for user management + * + */ +class OC_USER_LDAP extends OC_USER_BACKEND { + + /** + * Check if the login button is pressed and log the user in + * + */ + public static function loginLisener() { + return(''); + } + + /** + * Try to create a new user + * + * @param string $username The username of the user to create + * @param string $password The password of the new user + */ + public static function createUser($username, $password) { + return false; + } + + /** + * Try to login a user + * + * @param string $username The username of the user to log in + * @param string $password The password of the user + */ + public static function login($username, $password) { + if ( isset($_SERVER['PHP_AUTH_USER']) AND ('' != $_SERVER['PHP_AUTH_USER']) ) { + $_SESSION['user_id'] = $_SERVER['PHP_AUTH_USER']; + $_SESSION['username'] = $_SERVER['PHP_AUTH_USER']; + $_SESSION['username_clean'] = $_SERVER['PHP_AUTH_USER']; + return true; + } + return false; + } + + /** + * Check if the logout button is pressed and logout the user + * + */ + public static function logoutLisener() { + if ( isset($_GET['logoutbutton']) AND isset($_SESSION['username']) ) { + header('WWW-Authenticate: Basic realm="ownCloud"'); + header('HTTP/1.0 401 Unauthorized'); + die('401 Unauthorized'); + } + } + + /** + * Check if the user is logged in + * + */ + public static function isLoggedIn(){ + if ( isset($_SESSION['user_id']) AND $_SESSION['user_id'] ) { + return true; + } else { + if ( isset($_SERVER['PHP_AUTH_USER']) AND ('' != $_SERVER["PHP_AUTH_USER"]) ) { + $_SESSION['user_id'] = $_SERVER['PHP_AUTH_USER']; + $_SESSION['username'] = $_SERVER['PHP_AUTH_USER']; + $_SESSION['username_clean'] = $_SERVER['PHP_AUTH_USER']; + return true; + } + } + return false; + } + + /** + * Try to create a new group + * + * @param string $groupName The name of the group to create + */ + public static function createGroup($groupName) { + // does not work with MOD_AUTH (only or some modules) + return false; + } + + /** + * Get the ID of a user + * + * @param string $username Name of the user to find the ID + * @param boolean $noCache If false the cache is used to find the ID + */ + public static function getUserId($username, $noCache=false) { + // does not work with MOD_AUTH (only or some modules) + return 0; + } + + /** + * Get the ID of a group + * + * @param string $groupName Name of the group to find the ID + * @param boolean $noCache If false the cache is used to find the ID + */ + public static function getGroupId($groupName, $noCache=false) { + // does not work with MOD_AUTH (only or some modules) + return 0; + } + + /** + * Get the name of a group + * + * @param string $groupId ID of the group + * @param boolean $noCache If false the cache is used to find the name of the group + */ + public static function getGroupName($groupId, $noCache=false) { + // does not work with MOD_AUTH (only or some modules) + return 0; + } + + /** + * Check if a user belongs to a group + * + * @param string $username Name of the user to check + * @param string $groupName Name of the group + */ + public static function inGroup($username, $groupName) { + // does not work with MOD_AUTH (only or some modules) + return false; + } + + /** + * Add a user to a group + * + * @param string $username Name of the user to add to group + * @param string $groupName Name of the group in which add the user + */ + public static function addToGroup($username, $groupName) { + // does not work with MOD_AUTH (only or some modules) + return false; + } + + /** + * Generate a random password + */ + public static function generatePassword() { + return uniqId(); + } + + /** + * Get all groups the user belongs to + * + * @param string $username Name of the user + */ + public static function getUserGroups($username) { + // does not work with MOD_AUTH (only or some modules) + $groups=array(); + return $groups; + } + + /** + * Set the password of a user + * + * @param string $username User who password will be changed + * @param string $password The new password for the user + */ + public static function setPassword($username, $password) { + return false; + } + + /** + * Check if the password of the user is correct + * + * @param string $username Name of the user + * @param string $password Password of the user + */ + public static function checkPassword($username, $password) { + // does not work with MOD_AUTH (only or some modules) + return false; + } + +} |