Jump to content

Problem with login handler

Featured Replies

 

			/* Try to find member */
			$member = \IPS\Member::load( $userData['id'], 'my_custom_id' );

You can't use my_custom_id here

Your error

system/Patterns/ActiveRecord.php

		/* If we did, check it's valid */
		elseif( !in_array( $idField, static::$databaseIdFields ) )
		{
			throw new \InvalidArgumentException;
		}

system/Member/Member.php

	/**
	 * @brief	[ActiveRecord] Database ID Fields
	 */
	protected static $databaseIdFields = array( 'name', 'email', 'fb_uid', 'live_id', 'google_id', 'linkedin_id', 'ipsconnect_id', 'twitter_id' );

 

  • Author

Should I expand the array $databaseIdFields?

Add your key in array extended \IPS\Member class

or use another way to find member

Example 

		try
		{
			$member = \IPS\Member::constructFromData( \IPS\Db::i()->select( '*', 'core_members', array( 'my_custom_id=?', $userData['id'] ) )->first() );
		}
		catch (\Exception $e)
		{
		}

 

Yes 

 

  • Author

I can't expand the array, different ways I tried still goes error(

What did you try?

 

One way would be to override setDefaultValues to add your custom key

  • Author
22 minutes ago, Daniel F said:

What did you try?

 

One way would be to override setDefaultValues to add your custom key

Thanks, problem solved.

If anybody else is interested into this:

public function setDefaultValues()
{
        parent::setDefaultValues();
        static::$databaseIdFields[] = 'your_new_id_field';
}

 

Archived

This topic is now archived and is closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.