Skip to content

Instantly share code, notes, and snippets.

@BarryCarlyon
Created April 17, 2018 22:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BarryCarlyon/78dfdce06074f29a431e55288e9ec660 to your computer and use it in GitHub Desktop.
Save BarryCarlyon/78dfdce06074f29a431e55288e9ec660 to your computer and use it in GitHub Desktop.
bcarlyon\foo\controller
<?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