[pLog-svn] r2187 - plog/trunk/class/dao/userdata
Mark Wu
markplace at gmail.com
Fri Jun 10 09:25:53 GMT 2005
Great, I follow follow the example and make the pLog-Mambo integration.
Mark
> -----Original Message-----
> From: plog-svn-bounces at devel.plogworld.net
> [mailto:plog-svn-bounces at devel.plogworld.net] On Behalf Of
> oscar at devel.plogworld.net
> Sent: Friday, June 10, 2005 5:00 PM
> To: plog-svn at devel.plogworld.net
> Subject: [pLog-svn] r2187 - plog/trunk/class/dao/userdata
>
> Author: oscar
> Date: 2005-06-10 09:00:01 +0000 (Fri, 10 Jun 2005) New Revision: 2187
>
> Modified:
> plog/trunk/class/dao/userdata/phpbb2userdataprovider.class.php
> Log:
> this is already *roughly* working. It will work with a phpbb
> installation as long as the user ids in both databases match.
> You can authenticate against it, but not add update or remove
> new users. User statuses won't work yet, either.
>
>
> Modified:
> plog/trunk/class/dao/userdata/phpbb2userdataprovider.class.php
> ===================================================================
> ---
> plog/trunk/class/dao/userdata/phpbb2userdataprovider.cl
> ass.php 2005-06-09 14:09:09 UTC (rev 2186)
> +++
> plog/trunk/class/dao/userdata/phpbb2userdataprovider.cl
> ass.php 2005-06-10 09:00:01 UTC (rev 2187)
> @@ -1,10 +1,7 @@
> <?php
>
> include_once(
> PLOG_CLASS_PATH."class/dao/userdata/baseuserdataprovider.class.php" );
> - include_once( PLOG_CLASS_PATH."class/dao/userinfo.class.php" );
> - include_once(
> PLOG_CLASS_PATH."class/dao/userpermissions.class.php" );
> - include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
> - include_once( PLOG_CLASS_PATH."class/dao/userstatus.class.php" );
> + include_once( PLOG_CLASS_PATH."class/database/db.class.php" );
>
> /**
> * Model representing the users in our application.
> Provides the methods such as @@ -14,6 +11,8 @@
> */
> class PhpBB2UserDataProvider extends BaseUserDataProvider
> {
> + var $_db;
> + var $_prefix;
>
> /**
> * Initializes the model
> @@ -21,6 +20,18 @@
> function PhpBB2UserDataProvider( $providerConfig )
> {
> $this->BaseUserDataProvider( $providerConfig );
> +
> + // initialize the database connection based on
> our parameters
> + $config = $this->getProviderConfiguration();
> + $user = $config->getValue( "user" );
> + $pass = $config->getValue( "password" );
> + $host = $config->getValue( "host" );
> + $db = $config->getValue( "database" );
> + $this->_phpbbprefix = $config->getValue( "prefix" );
> +
> +
> +
> + $this->_dbc =& Db::getNewDb( $host, $user,
> $pass, $db );
> }
>
> /**
> @@ -32,7 +43,22 @@
> * @return true if user and password correct or
> false otherwise.
> */
> function authenticateUser( $user, $pass )
> - {
> + {
> + $query = "SELECT * FROM
> ".$this->_phpbbprefix."users WHERE username = '".Db::qstr( $user )."'
> + AND user_password = '".md5( $pass )."' AND
> +user_active = 1";
> +
> + $result = $this->_dbc->Execute( $query );
> +
> + if( !$result )
> + return false;
> +
> + if( $result == false )
> + return false;
> +
> + if( $result->RecordCount() == 1 )
> + return true;
> + else
> + return false;
> }
>
> /**
> @@ -44,6 +70,17 @@
> */
> function getUserInfo( $user, $pass )
> {
> + $query = "SELECT * FROM
> ".$this->_phpbbprefix."users WHERE username = '".Db::qstr( $user )."'
> + AND user_password = '".md5( $pass )."'";
> +
> + $result = $this->_dbc->Execute( $query );
> +
> + if( !$result )
> + return false;
> +
> + $row = $result->FetchRow();
> +
> + return( $this->_mapUserInfoObject( $row ));
> }
>
> /**
> @@ -54,6 +91,16 @@
> */
> function getUserInfoFromUsername( $username )
> {
> + $query = "SELECT * FROM
> ".$this->_phpbbprefix."users WHERE
> +username = '".Db::qstr( $username )."'";
> +
> + $result = $this->_dbc->Execute( $query );
> +
> + if( !$result )
> + return false;
> +
> + $row = $result->FetchRow();
> +
> + return( $this->_mapUserInfoObject( $row ));
> }
>
> /**
> @@ -64,7 +111,29 @@
> */
> function getUserInfoFromId( $userid, $extendedInfo = false )
> {
> + $query = "SELECT * FROM
> ".$this->_phpbbprefix."users WHERE
> +user_id = '".Db::qstr( $userid )."'";
> +
> + $result = $this->_dbc->Execute( $query );
> +
> + if( !$result )
> + return false;
> +
> + $row = $result->FetchRow();
> +
> + return( $this->_mapUserInfoObject( $row ));
> }
> +
> + function _mapUserInfoObject( $row )
> + {
> + $user = new UserInfo( $row["username"],
> $row["user_password"], $row["user_email"],
> + "", // TODO: this is the
> 'about myself' field that should be got from somewhere!
> + "", // TODO: the user
> full name is not available in phpbb
> + 0, // TODO: the resource
> picture id is not available in phpbb
> + Array(), // TODO: the
> user properties are not available in phpbb
> + $row["user_id"] );
> +
> + return( $user );
> + }
>
> /**
> * Returns an array with all the users available in
> the database @@ -136,6 +205,7 @@
> */
> function userExists( $userName )
> {
> + return( $this->getUserInfoFromUsername( $userName ));
> }
>
> /**
>
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.plogworld.net
> http://devel.plogworld.net/mailman/listinfo/plog-svn
More information about the pLog-svn
mailing list