diff options
| author | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 11:56:36 -0500 |
|---|---|---|
| committer | Nathan Guse <nathaniel.guse@gmail.com> | 2013-09-12 11:56:36 -0500 |
| commit | d9fdf41ad8638df5ff565ad097982f13f004e5d0 (patch) | |
| tree | 7b2c14d7b5db7482886180060e260db61ab9cf3c /phpBB/phpbb/auth/provider/interface.php | |
| parent | 4c00c77739cc20db26d5f87bf26a9a953bc92d3a (diff) | |
| parent | f74a04c976c96864947bb91304abb3b92161f161 (diff) | |
| download | forums-d9fdf41ad8638df5ff565ad097982f13f004e5d0.tar forums-d9fdf41ad8638df5ff565ad097982f13f004e5d0.tar.gz forums-d9fdf41ad8638df5ff565ad097982f13f004e5d0.tar.bz2 forums-d9fdf41ad8638df5ff565ad097982f13f004e5d0.tar.xz forums-d9fdf41ad8638df5ff565ad097982f13f004e5d0.zip | |
Merge branch 'develop' of github.com:phpbb/phpbb3 into ticket/11832
# By Joseph Warner (187) and others
# Via Andreas Fischer (2) and others
* 'develop' of github.com:phpbb/phpbb3: (189 commits)
[ticket/11835] Fix ucp_auth_link adding in migration
[prep-release-3.0.12] Remove changelog entry for ticket that was not resolved.
[feature/oauth] Fix tabindex
[feature/oauth] Fix bug on ucp_auth_link related to error display
[feature/oauth] More small fixes
[feature/oauth] More minor changes from review
[feature/oauth] Fix small bug introduced by update in OAuth library
[feature/oauth] Fix small issues on ucp pages
[feature/oauth] Fix typo in OAuth logout method
[feature/oauth] Make token storage service ignorant
[feature/oauth] Update oauth::logout() to use clearAllTokens()
[feature/oauth] Update storage implementation due to inteface change
[feature/oauth] Update lusitanian/oauth to stable branch
[feature/oauth] Update comment on oauth service exception
[feature/oauth] Forgot to remove placeholder comment
[feature/oauth] OAuth service exception
[feature/oauth] A few more minor changes
[feature/oauth] Changes due to code review
[feature/oauth] Fix redirects
[feature/oauth] Fix issues on ucp_login_link from review
...
Diffstat (limited to 'phpBB/phpbb/auth/provider/interface.php')
| -rw-r--r-- | phpBB/phpbb/auth/provider/interface.php | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/phpBB/phpbb/auth/provider/interface.php b/phpBB/phpbb/auth/provider/interface.php index 47043bc107..eadd5f01d1 100644 --- a/phpBB/phpbb/auth/provider/interface.php +++ b/phpBB/phpbb/auth/provider/interface.php @@ -45,6 +45,11 @@ interface phpbb_auth_provider_interface * 'error_msg' => string * 'user_row' => array * ) + * A fourth key of the array may be present: + * 'redirect_data' This key is only used when 'status' is + * equal to LOGIN_SUCCESS_LINK_PROFILE and its value is an + * associative array that is turned into GET variables on + * the redirect url. */ public function login($username, $password); @@ -80,10 +85,49 @@ interface phpbb_auth_provider_interface * 'TEMPLATE_FILE' => string, * 'TEMPLATE_VARS' => array(...), * ) + * An optional third element may be added to this + * array: 'BLOCK_VAR_NAME'. If this is present, + * then its value should be a string that is used + * to designate the name of the loop used in the + * ACP template file. When this is present, an + * additional key named 'BLOCK_VARS' is required. + * This must be an array containing at least one + * array of variables that will be assigned during + * the loop in the template. An example of this is + * presented below: + * array( + * 'BLOCK_VAR_NAME' => string, + * 'BLOCK_VARS' => array( + * 'KEY IS UNIMPORTANT' => array(...), + * ), + * 'TEMPLATE_FILE' => string, + * 'TEMPLATE_VARS' => array(...), + * ) */ public function get_acp_template($new_config); /** + * Returns an array of data necessary to build custom elements on the login + * form. + * + * @return array|null If this function is not implemented on an auth + * provider then it returns null. If it is implemented + * it will return an array of up to four elements of + * which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is + * present then 'BLOCK_VARS' must also be present in + * the array. The fourth element 'VARS' is also + * optional. The array, with all four elements present + * looks like the following: + * array( + * 'TEMPLATE_FILE' => string, + * 'BLOCK_VAR_NAME' => string, + * 'BLOCK_VARS' => array(...), + * 'VARS' => array(...), + * ) + */ + public function get_login_data(); + + /** * Performs additional actions during logout. * * @param array $data An array corresponding to @@ -102,4 +146,52 @@ interface phpbb_auth_provider_interface * session should be closed, or null if not implemented. */ public function validate_session($user); + + /** + * Checks to see if $login_link_data contains all information except for the + * user_id of an account needed to successfully link an external account to + * a forum account. + * + * @param array $link_data Any data needed to link a phpBB account to + * an external account. + * @return string|null Returns a string with a language constant if there + * is data missing or null if there is no error. + */ + public function login_link_has_necessary_data($login_link_data); + + /** + * Links an external account to a phpBB account. + * + * @param array $link_data Any data needed to link a phpBB account to + * an external account. + */ + public function link_account(array $link_data); + + /** + * Returns an array of data necessary to build the ucp_auth_link page + * + * @return array|null If this function is not implemented on an auth + * provider then it returns null. If it is implemented + * it will return an array of up to four elements of + * which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is + * present then 'BLOCK_VARS' must also be present in + * the array. The fourth element 'VARS' is also + * optional. The array, with all four elements present + * looks like the following: + * array( + * 'TEMPLATE_FILE' => string, + * 'BLOCK_VAR_NAME' => string, + * 'BLOCK_VARS' => array(...), + * 'VARS' => array(...), + * ) + */ + public function get_auth_link_data(); + + /** + * Unlinks an external account from a phpBB account. + * + * @param array $link_data Any data needed to unlink a phpBB account + * from a phpbb account. + */ + public function unlink_account(array $link_data); } |
