00001 <?php
00002
00009 class Users
00010 {
00011 var $_provider;
00012
00016 function Users()
00017 {
00018 $this->_loadUserDataProvider();
00019 }
00020
00025 function _loadUserDataProvider()
00026 {
00027
00028 lt_include( PLOG_CLASS_PATH."class/config/configfilestorage.class.php" );
00029 $config = new ConfigFileStorage( Array( "file" => PLOG_CLASS_PATH."config/userdata.properties.php" ));
00030
00031
00032 $providerClass = $config->getValue( "provider" );
00033 if( !$providerClass ) {
00034 die( "ERROR: No provider class was specified in userdata.properties.php!" );
00035 }
00036
00037
00038 lt_include( PLOG_CLASS_PATH."class/dao/userdata/".strtolower( $providerClass ).".class.php" );
00039
00040
00041 if( !class_exists( $providerClass )) {
00042 die( "ERROR: Provider class $providerClass has not been defined!" );
00043 }
00044
00045
00046 $this->_provider = new $providerClass( $config );
00047
00048
00049 return( true );
00050 }
00051
00060 function authenticateUser( $user, $pass )
00061 {
00062 return( $this->_provider->authenticateUser( $user, $pass ));
00063 }
00064
00071 function getUserInfoFromUsername( $username )
00072 {
00073 return( $this->_provider->getUserInfoFromUsername( $username ));
00074 }
00075
00083 function getUserInfo( $user, $pass )
00084 {
00085 return( $this->_provider->getUserInfo( $user, $pass ));
00086 }
00087
00094 function getUserInfoFromId( $userid, $extendedInfo = false )
00095 {
00096 return( $this->_provider->getUserInfoFromId( $userid, $extendedInfo ));
00097 }
00098
00106 function getUsersBlogs( $userid, $status = BLOG_STATUS_ALL )
00107 {
00108 return( $this->_provider->getUsersBlogs( $userid, $status ));
00109 }
00110
00121 function getAllUsers( $status = USER_STATUS_ALL, $searchTerms = "", $orderBy = "", $page = -1, $itemsPerPage = DEFAULT_ITEMS_PER_PAGE )
00122 {
00123 return( $this->_provider->getAllUsers( $status, $searchTerms, $orderBy, $page, $itemsPerPage ));
00124 }
00125
00133 function updateUser( $userInfo )
00134 {
00135 return( $this->_provider->updateUser( $userInfo ));
00136 }
00137
00145 function addUser( &$user )
00146 {
00147 return( $this->_provider->addUser( $user ));
00148 }
00149
00159 function getBlogUsers( $blogId, $includeOwner = true, $status = USER_STATUS_ALL )
00160 {
00161 return( $this->_provider->getBlogUsers( $blogId, $includeOwner, $status ));
00162 }
00163
00169 function deleteUser( $userId )
00170 {
00171 return( $this->_provider->deleteUser( $userId ));
00172 }
00173
00182 function getNumUsers( $status = USER_STATUS_ALL, $searchTerms = "" )
00183 {
00184 return( $this->_provider->getNumUsers( $status, $searchTerms ));
00185 }
00186
00191 function emailExists($email)
00192 {
00193 return( $this->_provider->emailExists( $email ));
00194 }
00195
00199 function mapRow( $row )
00200 {
00201 return( $this->_provider->mapRow( $row ));
00202 }
00203
00204 }
00205 ?>