summaryrefslogtreecommitdiff
path: root/includes/pear/Auth/Container/File.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pear/Auth/Container/File.php')
-rw-r--r--includes/pear/Auth/Container/File.php314
1 files changed, 0 insertions, 314 deletions
diff --git a/includes/pear/Auth/Container/File.php b/includes/pear/Auth/Container/File.php
deleted file mode 100644
index 2b8274c..0000000
--- a/includes/pear/Auth/Container/File.php
+++ /dev/null
@@ -1,314 +0,0 @@
-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
-
-/**
- * Storage driver for use against a generic password file
- *
- * PHP versions 4 and 5
- *
- * LICENSE: This source file is subject to version 3.01 of the PHP license
- * that is available through the world-wide-web at the following URI:
- * http://www.php.net/license/3_01.txt. If you did not receive a copy of
- * the PHP License and are unable to obtain it through the web, please
- * send a note to license@php.net so we can mail you a copy immediately.
- *
- * @category Authentication
- * @package Auth
- * @author Stefan Ekman <stekman@sedata.org>
- * @author Martin Jansen <mj@php.net>
- * @author Mika Tuupola <tuupola@appelsiini.net>
- * @author Michael Wallner <mike@php.net>
- * @author Adam Ashley <aashley@php.net>
- * @copyright 2001-2006 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version CVS: $Id: File.php 237449 2007-06-12 03:11:27Z aashley $
- * @link http://pear.php.net/package/Auth
- */
-
-/**
- * Include PEAR File_Passwd package
- */
-require_once "File/Passwd.php";
-/**
- * Include Auth_Container base class
- */
-require_once "Auth/Container.php";
-/**
- * Include PEAR package for error handling
- */
-require_once "PEAR.php";
-
-/**
- * Storage driver for fetching login data from an encrypted password file.
- *
- * This storage container can handle CVS pserver style passwd files.
- *
- * @category Authentication
- * @package Auth
- * @author Stefan Ekman <stekman@sedata.org>
- * @author Martin Jansen <mj@php.net>
- * @author Mika Tuupola <tuupola@appelsiini.net>
- * @author Michael Wallner <mike@php.net>
- * @author Adam Ashley <aashley@php.net>
- * @copyright 2001-2006 The PHP Group
- * @license http://www.php.net/license/3_01.txt PHP License 3.01
- * @version Release: @package_version@ File: $Revision: 237449 $
- * @link http://pear.php.net/package/Auth
- */
-class Auth_Container_File extends Auth_Container
-{
-
- // {{{ properties
-
- /**
- * Path to passwd file
- *
- * @var string
- */
- var $pwfile = '';
-
- /**
- * Options for container
- *
- * @var array
- */
- var $options = array();
-
- // }}}
- // {{{ Auth_Container_File() [constructor]
-
- /**
- * Constructor of the container class
- *
- * @param string $filename path to passwd file
- * @return object Auth_Container_File new Auth_Container_File object
- */
- function Auth_Container_File($filename) {
- $this->_setDefaults();
-
- // Only file is a valid option here
- if(is_array($filename)) {
- $this->pwfile = $filename['file'];
- $this->_parseOptions($filename);
- } else {
- $this->pwfile = $filename;
- }
- }
-
- // }}}
- // {{{ fetchData()
-
- /**
- * Authenticate an user
- *
- * @param string username
- * @param string password
- * @return mixed boolean|PEAR_Error
- */
- function fetchData($user, $pass)
- {
- $this->log('Auth_Container_File::fetchData() called.', AUTH_LOG_DEBUG);
- return File_Passwd::staticAuth($this->options['type'], $this->pwfile, $user, $pass);
- }
-
- // }}}
- // {{{ listUsers()
-
- /**
- * List all available users
- *
- * @return array
- */
- function listUsers()
- {
- $this->log('Auth_Container_File::listUsers() called.', AUTH_LOG_DEBUG);
-
- $pw_obj = &$this->_load();
- if (PEAR::isError($pw_obj)) {
- return array();
- }
-
- $users = $pw_obj->listUser();
- if (!is_array($users)) {
- return array();
- }
-
- foreach ($users as $key => $value) {
- $retVal[] = array("username" => $key,
- "password" => $value['passwd'],
- "cvsuser" => $value['system']);
- }
-
- $this->log('Found '.count($retVal).' users.', AUTH_LOG_DEBUG);
-
- return $retVal;
- }
-
- // }}}
- // {{{ addUser()
-
- /**
- * Add a new user to the storage container
- *
- * @param string username
- * @param string password
- * @param mixed Additional parameters to File_Password_*::addUser()
- *
- * @return boolean
- */
- function addUser($user, $pass, $additional='')
- {
- $this->log('Auth_Container_File::addUser() called.', AUTH_LOG_DEBUG);
- $params = array($user, $pass);
- if (is_array($additional)) {
- foreach ($additional as $item) {
- $params[] = $item;
- }
- } else {
- $params[] = $additional;
- }
-
- $pw_obj = &$this->_load();
- if (PEAR::isError($pw_obj)) {
- return false;
- }
-
- $res = call_user_func_array(array(&$pw_obj, 'addUser'), $params);
- if (PEAR::isError($res)) {
- return false;
- }
-
- $res = $pw_obj->save();
- if (PEAR::isError($res)) {
- return false;
- }
-
- return true;
- }
-
- // }}}
- // {{{ removeUser()
-
- /**
- * Remove user from the storage container
- *
- * @param string Username
- * @return boolean
- */
- function removeUser($user)
- {
- $this->log('Auth_Container_File::removeUser() called.', AUTH_LOG_DEBUG);
- $pw_obj = &$this->_load();
- if (PEAR::isError($pw_obj)) {
- return false;
- }
-
- $res = $pw_obj->delUser($user);
- if (PEAR::isError($res)) {
- return false;
- }
-
- $res = $pw_obj->save();
- if (PEAR::isError($res)) {
- return false;
- }
-
- return true;
- }
-
- // }}}
- // {{{ changePassword()
-
- /**
- * Change password for user in the storage container
- *
- * @param string Username
- * @param string The new password
- */
- function changePassword($username, $password)
- {
- $this->log('Auth_Container_File::changePassword() called.', AUTH_LOG_DEBUG);
- $pw_obj = &$this->_load();
- if (PEAR::isError($pw_obj)) {
- return false;
- }
-
- $res = $pw_obj->changePasswd($username, $password);
- if (PEAR::isError($res)) {
- return false;
- }
-
- $res = $pw_obj->save();
- if (PEAR::isError($res)) {
- return false;
- }
-
- return true;
- }
-
- // }}}
- // {{{ _load()
-
- /**
- * Load and initialize the File_Passwd object
- *
- * @return object File_Passwd_Cvs|PEAR_Error
- */
- function &_load()
- {
- static $pw_obj;
-
- if (!isset($pw_obj)) {
- $this->log('Instanciating File_Password object of type '.$this->options['type'], AUTH_LOG_DEBUG);
- $pw_obj = File_Passwd::factory($this->options['type']);
- if (PEAR::isError($pw_obj)) {
- return $pw_obj;
- }
-
- $pw_obj->setFile($this->pwfile);
-
- $res = $pw_obj->load();
- if (PEAR::isError($res)) {
- return $res;
- }
- }
-
- return $pw_obj;
- }
-
- // }}}
- // {{{ _setDefaults()
-
- /**
- * Set some default options
- *
- * @access private
- * @return void
- */
- function _setDefaults()
- {
- $this->options['type'] = 'Cvs';
- }
-
- // }}}
- // {{{ _parseOptions()
-
- /**
- * Parse options passed to the container class
- *
- * @access private
- * @param array
- */
- function _parseOptions($array)
- {
- foreach ($array as $key => $value) {
- if (isset($this->options[$key])) {
- $this->options[$key] = $value;
- }
- }
- }
-
- // }}}
-
-}
-?>