Created
April 17, 2018 22:08
-
-
Save BarryCarlyon/78dfdce06074f29a431e55288e9ec660 to your computer and use it in GitHub Desktop.
bcarlyon\foo\controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* | |
* @package phpBB Extension - BCarlyon Foo | |
* @copyright (c) 2014 BarryCarlyon | |
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 | |
* | |
*/ | |
namespace bcarlyon\foo\controller; | |
class main | |
{ | |
/* @var \phpbb\config\config */ | |
protected $config; | |
/* @var \phpbb\controller\helper */ | |
protected $helper; | |
/* @var \phpbb\template\template */ | |
protected $template; | |
/* @var \phpbb\user */ | |
protected $user; | |
/** | |
* Constructor | |
* | |
* @param \phpbb\config\config $config | |
* @param \phpbb\controller\helper $helper | |
* @param \phpbb\template\template $template | |
* @param \phpbb\user $user | |
*/ | |
public function __construct(\phpbb\config\config $config, \phpbb\controller\helper $helper, \phpbb\template\template $template, \phpbb\user $user, \bcarlyon\foo\service\foo $foo) | |
{ | |
$this->config = $config; | |
$this->helper = $helper; | |
$this->template = $template; | |
$this->user = $user; | |
$this->foo = $foo; | |
$this->user->setup('ucp'); | |
} | |
/** | |
* Login Handler | |
*/ | |
public function login() | |
{ | |
$error = request_var('error', ''); | |
if ($error) { | |
$message = request_var('error_description', ''); | |
$message = str_replace('+', ' ', $message); | |
trigger_error('An Error Occured<br />' | |
. 'Error: ' . $error . '<br />' | |
. 'Message: ' . $message); | |
} | |
$code = request_var('code', ''); | |
if ($code) { | |
// need to exchange code for token | |
/* | |
a removed oauth token exchange | |
*/ | |
if ($i['http_code'] == 200) { | |
$r = json_decode($r); | |
if (JSON_ERROR_NONE === json_last_error()) { | |
// then get the user | |
$this->foo | |
->setToken($r->access_token) | |
->setUser($this->user) | |
->getUser(); | |
exit; | |
} else { | |
trigger_error('' | |
. 'An error occured. Please attempt to login again.<br />' | |
. 'ErrorCode: ' . $i['http_code'] . '<br />' | |
. 'ErrorMessage: Decode Error' | |
); | |
} | |
} else { | |
$r = json_decode($r); | |
if (JSON_ERROR_NONE === json_last_error()) { | |
$message = $r->message; | |
} else { | |
$message = 'Decode Error'; | |
} | |
// an error occured | |
//trigger_error('An error occured. Please attempt to login again' . $i['http_code'] . '<pre>' . print_r($r, true) . '</pre>'); | |
trigger_error('' | |
. 'An error occured. Please attempt to login again.<br />' | |
. 'ErrorCode: ' . $i['http_code'] . '<br />' | |
. 'ErrorMessage: ' . $message | |
); | |
} | |
} else { | |
/* | |
A removed redirect | |
*/ | |
} | |
} | |
public function update() { | |
$this->foo | |
->updateGroups(); | |
} | |
public function logout() { | |
redirect(append_sid("{$phpbb_root_path}ucp.$phpEx", "mode=logout")); | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment