diff options
| author | Marc Alexander <admin@m-a-styles.de> | 2016-11-13 21:27:51 +0100 | 
|---|---|---|
| committer | Marc Alexander <admin@m-a-styles.de> | 2016-11-13 21:27:51 +0100 | 
| commit | 6e6a2c5df86270b9d517206d0fdb529bbbd3455d (patch) | |
| tree | 25edcb747cda6bddb3ba6bf7ea66106e009a597c | |
| parent | 372324cead4f9068ebe3ca10c85858af833a8026 (diff) | |
| parent | df0388ccc5b24cfb67078dd2fa8cb2fc4f607dac (diff) | |
| download | forums-6e6a2c5df86270b9d517206d0fdb529bbbd3455d.tar forums-6e6a2c5df86270b9d517206d0fdb529bbbd3455d.tar.gz forums-6e6a2c5df86270b9d517206d0fdb529bbbd3455d.tar.bz2 forums-6e6a2c5df86270b9d517206d0fdb529bbbd3455d.tar.xz forums-6e6a2c5df86270b9d517206d0fdb529bbbd3455d.zip  | |
Merge pull request #4488 from senky/ticket/14825
Add core.auth_oauth_login_after and core.auth_oauth_link_after
| -rw-r--r-- | phpBB/config/auth.yml | 1 | ||||
| -rw-r--r-- | phpBB/phpbb/auth/provider/oauth/oauth.php | 35 | ||||
| -rw-r--r-- | tests/functions/user_delete_test.php | 1 | 
3 files changed, 36 insertions, 1 deletions
diff --git a/phpBB/config/auth.yml b/phpBB/config/auth.yml index 88a90ca2d6..ef06080d38 100644 --- a/phpBB/config/auth.yml +++ b/phpBB/config/auth.yml @@ -62,6 +62,7 @@ services:              - @auth.provider.oauth.service_collection              - %tables.users%              - @service_container +            - @dispatcher              - %core.root_path%              - %core.php_ext%          tags: diff --git a/phpBB/phpbb/auth/provider/oauth/oauth.php b/phpBB/phpbb/auth/provider/oauth/oauth.php index 9f6345fbba..bd2a414033 100644 --- a/phpBB/phpbb/auth/provider/oauth/oauth.php +++ b/phpBB/phpbb/auth/provider/oauth/oauth.php @@ -98,6 +98,13 @@ class oauth extends \phpbb\auth\provider\base  	protected $phpbb_container;  	/** +	* phpBB event dispatcher +	* +	* @var \phpbb\event\dispatcher_interface +	*/ +	protected $dispatcher; + +	/**  	* phpBB root path  	*  	* @var string @@ -124,10 +131,11 @@ class oauth extends \phpbb\auth\provider\base  	* @param	\phpbb\di\service_collection	$service_providers Contains \phpbb\auth\provider\oauth\service_interface  	* @param	string			$users_table  	* @param	\Symfony\Component\DependencyInjection\ContainerInterface $phpbb_container DI container +	* @param	\phpbb\event\dispatcher_interface $dispatcher phpBB event dispatcher  	* @param	string			$phpbb_root_path  	* @param	string			$php_ext  	*/ -	public function __construct(\phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\passwords\manager $passwords_manager, \phpbb\request\request_interface $request, \phpbb\user $user, $auth_provider_oauth_token_storage_table, $auth_provider_oauth_token_account_assoc, \phpbb\di\service_collection $service_providers, $users_table, \Symfony\Component\DependencyInjection\ContainerInterface $phpbb_container, $phpbb_root_path, $php_ext) +	public function __construct(\phpbb\db\driver\driver_interface $db, \phpbb\config\config $config, \phpbb\passwords\manager $passwords_manager, \phpbb\request\request_interface $request, \phpbb\user $user, $auth_provider_oauth_token_storage_table, $auth_provider_oauth_token_account_assoc, \phpbb\di\service_collection $service_providers, $users_table, \Symfony\Component\DependencyInjection\ContainerInterface $phpbb_container, \phpbb\event\dispatcher_interface $dispatcher, $phpbb_root_path, $php_ext)  	{  		$this->db = $db;  		$this->config = $config; @@ -139,6 +147,7 @@ class oauth extends \phpbb\auth\provider\base  		$this->service_providers = $service_providers;  		$this->users_table = $users_table;  		$this->phpbb_container = $phpbb_container; +		$this->dispatcher = $dispatcher;  		$this->phpbb_root_path = $phpbb_root_path;  		$this->php_ext = $php_ext;  	} @@ -238,6 +247,18 @@ class oauth extends \phpbb\auth\provider\base  			// Update token storage to store the user_id  			$storage->set_user_id($row['user_id']); +			/** +			* Event is triggered after user is successfuly logged in via OAuth. +			* +			* @event core.auth_oauth_login_after +			* @var    array    row    User row +			* @since 3.1.11-RC1 +			*/ +			$vars = array( +				'row', +			); +			extract($this->dispatcher->trigger_event('core.auth_oauth_login_after', compact($vars))); +  			// The user is now authenticated and can be logged in  			return array(  				'status'		=> LOGIN_SUCCESS, @@ -542,6 +563,18 @@ class oauth extends \phpbb\auth\provider\base  		$sql = 'INSERT INTO ' . $this->auth_provider_oauth_token_account_assoc . '  			' . $this->db->sql_build_array('INSERT', $data);  		$this->db->sql_query($sql); + +		/** +		 * Event is triggered after user links account. +		 * +		 * @event core.auth_oauth_link_after +		 * @var    array    data    User row +		 * @since 3.1.11-RC1 +		 */ +		$vars = array( +			'data', +		); +		extract($this->dispatcher->trigger_event('core.auth_oauth_link_after', compact($vars)));  	}  	/** diff --git a/tests/functions/user_delete_test.php b/tests/functions/user_delete_test.php index db52dcded7..c224323273 100644 --- a/tests/functions/user_delete_test.php +++ b/tests/functions/user_delete_test.php @@ -71,6 +71,7 @@ class phpbb_functions_user_delete_test extends phpbb_database_test_case  			$oauth_provider_collection,  			'phpbb_users',  			$phpbb_container, +			$phpbb_dispatcher,  			$this->phpbb_root_path,  			$this->php_ext  		);  | 
