| // +----------------------------------------------------------------------+ // // $Id: SMBPasswd.php,v 1.1 2003/05/13 19:23:54 mbretter Exp $ // require_once "File/SMBPasswd.php"; require_once "Auth/Container.php"; require_once "PEAR.php"; /** * Storage driver for fetching login data from an SAMBA smbpasswd file. * * This storage container can handle SAMBA smbpasswd files. * * Example: * $a = new Auth("SMBPasswd", '/usr/local/private/smbpasswd'); * $a->start(); * if ($a->getAuth()) { * printf ("AUTH OK
\n"); * $a->logout(); * } * * @author Michael Bretterklieber * @package Auth * @version $Revision: 1.1 $ */ class Auth_Container_SMBPasswd extends Auth_Container { /** * File_SMBPasswd object * @var object */ var $pwfile; // {{{ Constructor /** * Constructor of the container class * * @param $filename string filename for a passwd type file * @return object Returns an error object if something went wrong */ function Auth_Container_SMBPasswd($filename) { $this->pwfile = new File_SMBPasswd($filename,0); if (!$this->pwfile->load()) { PEAR::raiseError("Error while reading file contents.", 41, PEAR_ERROR_DIE); return; } } // }}} // {{{ fetchData() /** * Get user information from pwfile * * @param string Username * @param string Password * @return boolean */ function fetchData($username, $password) { return $this->pwfile->verifyAccount($username, $password); } // }}} // {{{ listUsers() function listUsers() { return $this->pwfile->getAccounts(); } // }}} // {{{ addUser() /** * Add a new user to the storage container * * @param string Username * @param string Password * @param array Additional information * * @return boolean */ function addUser($username, $password, $additional = '') { $res = $this->pwfile->addUser($user, $additional['userid'], $pass); if ($res === true) { return $this->pwfile->save(); } return $res; } // }}} // {{{ removeUser() /** * Remove user from the storage container * * @param string Username */ function removeUser($username) { $res = $this->pwfile->delUser($username); if ($res === true) { return $this->pwfile->save(); } return $res; } // }}} } ?>