| #0 | DIY\Google->getClient() /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/backend/controllers/GoogleController.php (20) <?php
namespace DIY\Backend\Controllers;
use DIY\Google;
use DIY\Api\Models\User;
use Phalcon\Db\Column;
/**
* @author Julien Turbide <jturbide@nuagerie.com>
* @version 1.0.0
*/
class GoogleController extends AbstractController
{
public function authAction() {
$appUri = $this->request->getScheme() . '://' . $this->request->getHttpHost() . $this->config->application->baseUri;
$google = new Google();
$googleClient = $google->getClient();
$googleClient->setRedirectUri($appUri . 'google/auth');
if ($this->request->has('code')) {
$googleClient->fetchAccessTokenWithAuthCode($this->request->get('code'));
$googleAccessToken = $googleClient->getAccessToken();
if (!empty($googleAccessToken)) {
$googleClient->setAccessToken($googleAccessToken);
$googleOauth = new \Google_Service_Oauth2($googleClient);
$googleUserInfo = $googleOauth->userinfo->get();
if (!empty($googleUserInfo->email) && $googleUserInfo->verifiedEmail) {
$user = User::findFirstWith(array('Roles', 'Googles'), array(
'email = :email:',
'bind' => array(
'email' => $this->filter->sanitize(isset($googleUserInfo->email) ? $googleUserInfo->email : '', 'string'),
),
'bindTypes' => array(
'email' => Column::BIND_PARAM_STR
)
));
}
if (empty($user) || !$user) {
$google = \DIY\Api\Models\Google::findFirstByGoogleId($this->filter->sanitize($googleUserInfo->id, 'int'));
if ($google && $google->checkToken($google->google_id)) {
$user = User::findFirstWith(array('Roles', 'Googles'), array(
'id = :id:',
'bind' => array(
'id' => $this->filter->sanitize(isset($google->user_id) ? $google->user_id : '', 'int'),
),
'bindTypes' => array(
'email' => Column::BIND_PARAM_STR
)
));
}
}
if (!empty($user) || $user) {
$this->session->set('user', $user);
$this->session->set('diy.google.accessToken', $googleAccessToken);
$this->session->set('diy.google.userInfo', (array) $googleUserInfo);
}
elseif (!empty($googleUserInfo->email)) {
$params = [
'email' => $googleUserInfo->email,
'first_name' => $googleUserInfo->givenName,
'last_name' => $googleUserInfo->familyName,
];
return $this->response->redirect($this->url->get(['for' => 'backend-controller-action', 'controller' => 'login', 'action' => 'register']) . '?' . http_build_query($params));
}
}
return $this->response->redirect($appUri, true);
}
else {
$this->_logout();
return $this->response->redirect($googleClient->createAuthUrl(), true);
}
}
private function _logout() {
$this->session->remove('diy.google.userInfo');
$this->session->remove('diy.google.accessToken');
$this->session->remove('user');
}
}
|
| #1 | DIY\Backend\Controllers\GoogleController->authAction() |
| #2 | Phalcon\Dispatcher->callActionMethod(Object(DIY\Backend\Controllers\GoogleController), authAction, Array()) |
| #3 | Phalcon\Dispatcher->dispatch() |
| #4 | Phalcon\Mvc\Application->handle() /home/mcgilldiy/dev.esrap-spor-diy.com/public/index.php (66) <?php
use Phalcon\Mvc\Application;
use Phalcon\DI\FactoryDefault;
use DIY\Config\App;
use DIY\Config\Config;
use DIY\Config\Modules;
use DIY\Config\Router;
use DIY\Config\Loader;
use DIY\Config\Services;
// Command line xDebug necessity
if (php_sapi_name() === 'cli-server')
{
$_GET['_url'] = $_SERVER['REQUEST_URI'];
}
class Bootstrap
{
public $di;
public $app;
public $config;
// public $loader;
public $application;
public $services;
public $modules;
public function __construct()
{
$opts = getopt('e:hp:m:hp:c:hp:a:hp:p:hp:');
if (!empty($opts)) {
define('BOOTSTRAP_CLI', true);
$url = '/' . $opts['m'] . '/' . $opts['c'] . '/' . $opts['a'] . '/' . $opts['p'];
$_GET['_url'] = $url;
$_SERVER['REQUEST_URI'] = $url;
define('APPLICATION_ENV', $opts['e']);
define('APP_ENV', $opts['e']);
define('ENV', $opts['e']);
}
$appPath = realpath(__DIR__ . '/../app') . '/';
$configPath = $appPath . 'config/';
require_once $configPath . 'App.php';
require_once $configPath . 'Config.php';
require_once $configPath . 'Modules.php';
require_once $configPath . 'Router.php';
require_once $configPath . 'Services.php';
$this->di = new FactoryDefault();
$this->app = new App();
$this->config = new Config();
$this->config->mergeEnvConfig();
$this->app->debugApp($this->config->get('debug', false));
$this->services = new Services($this->di, $this->config);
$this->application = new Application($this->di);
$this->modules = new Modules($this->application);
$this->router = new Router(true, $this->application);
$this->di['router'] = $this->router;
}
public function run() {
if (isset($this->application)) {
echo $this->application->handle()->getContent();
}
else {
throw new \Exception('Application not found', 404);
}
}
}
$bootstrap = new Bootstrap();
$bootstrap->run();
|
| #5 | Bootstrap->run() /home/mcgilldiy/dev.esrap-spor-diy.com/public/index.php (75) <?php
use Phalcon\Mvc\Application;
use Phalcon\DI\FactoryDefault;
use DIY\Config\App;
use DIY\Config\Config;
use DIY\Config\Modules;
use DIY\Config\Router;
use DIY\Config\Loader;
use DIY\Config\Services;
// Command line xDebug necessity
if (php_sapi_name() === 'cli-server')
{
$_GET['_url'] = $_SERVER['REQUEST_URI'];
}
class Bootstrap
{
public $di;
public $app;
public $config;
// public $loader;
public $application;
public $services;
public $modules;
public function __construct()
{
$opts = getopt('e:hp:m:hp:c:hp:a:hp:p:hp:');
if (!empty($opts)) {
define('BOOTSTRAP_CLI', true);
$url = '/' . $opts['m'] . '/' . $opts['c'] . '/' . $opts['a'] . '/' . $opts['p'];
$_GET['_url'] = $url;
$_SERVER['REQUEST_URI'] = $url;
define('APPLICATION_ENV', $opts['e']);
define('APP_ENV', $opts['e']);
define('ENV', $opts['e']);
}
$appPath = realpath(__DIR__ . '/../app') . '/';
$configPath = $appPath . 'config/';
require_once $configPath . 'App.php';
require_once $configPath . 'Config.php';
require_once $configPath . 'Modules.php';
require_once $configPath . 'Router.php';
require_once $configPath . 'Services.php';
$this->di = new FactoryDefault();
$this->app = new App();
$this->config = new Config();
$this->config->mergeEnvConfig();
$this->app->debugApp($this->config->get('debug', false));
$this->services = new Services($this->di, $this->config);
$this->application = new Application($this->di);
$this->modules = new Modules($this->application);
$this->router = new Router(true, $this->application);
$this->di['router'] = $this->router;
}
public function run() {
if (isset($this->application)) {
echo $this->application->handle()->getContent();
}
else {
throw new \Exception('Application not found', 404);
}
}
}
$bootstrap = new Bootstrap();
$bootstrap->run();
|
| Key | Value |
|---|---|
| _url | /backend/google/auth |
| Key | Value |
|---|---|
| PATH | /usr/local/bin:/bin:/usr/bin |
| HTTP_ACCEPT | */* |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_COOKIE | PHPSESSID=1b4f08031c61828bc51e8e520a9bc061 |
| HTTP_HOST | www.dev.esrap-spor-diy.com |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| DOCUMENT_ROOT | /home/mcgilldiy/dev.esrap-spor-diy.com/public |
| REMOTE_ADDR | 216.73.216.81 |
| REMOTE_PORT | 55608 |
| SERVER_ADDR | 192.99.228.41 |
| SERVER_NAME | www.dev.esrap-spor-diy.com |
| SERVER_ADMIN | webmaster@dev.esrap-spor-diy.com |
| SERVER_PORT | 443 |
| REQUEST_SCHEME | https |
| REQUEST_URI | /backend/google/auth |
| REDIRECT_URL | /backend/google/auth |
| REDIRECT_REQUEST_METHOD | GET |
| HTTPS | on |
| APPLICATION_ENV | dev |
| APP_ENV | dev |
| ENV | dev |
| REDIRECT_STATUS | 200 |
| X_SPDY | HTTP2 |
| SSL_PROTOCOL | TLSv1.3 |
| SSL_CIPHER | TLS_AES_256_GCM_SHA384 |
| SSL_CIPHER_USEKEYSIZE | 256 |
| SSL_CIPHER_ALGKEYSIZE | 256 |
| SCRIPT_FILENAME | /home/mcgilldiy/dev.esrap-spor-diy.com/public/index.php |
| QUERY_STRING | _url=/backend/google/auth |
| SCRIPT_URI | https://www.dev.esrap-spor-diy.com/backend/google/auth |
| SCRIPT_URL | /backend/google/auth |
| SCRIPT_NAME | /index.php |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_SOFTWARE | LiteSpeed |
| REQUEST_METHOD | GET |
| X-LSCACHE | on |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1770944283.3782 |
| REQUEST_TIME | 1770944283 |
| # | Path |
|---|---|
| 0 | /home/mcgilldiy/dev.esrap-spor-diy.com/public/index.php |
| 1 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/App.php |
| 2 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/Config.php |
| 3 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/Modules.php |
| 4 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/Router.php |
| 5 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/Services.php |
| 6 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/config/env/config.dev.php |
| 7 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/backend/Module.php |
| 8 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/autoload.php |
| 9 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/composer/autoload_real.php |
| 10 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/composer/platform_check.php |
| 11 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/composer/ClassLoader.php |
| 12 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/composer/autoload_static.php |
| 13 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-php80/bootstrap.php |
| 14 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-mbstring/bootstrap.php |
| 15 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/deprecation-contracts/function.php |
| 16 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-ctype/bootstrap.php |
| 17 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/ralouphie/getallheaders/src/getallheaders.php |
| 18 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/psr7/src/functions_include.php |
| 19 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/psr7/src/functions.php |
| 20 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/promises/src/functions_include.php |
| 21 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/promises/src/functions.php |
| 22 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-php73/bootstrap.php |
| 23 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-php73/Php73.php |
| 24 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/guzzle/src/functions_include.php |
| 25 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/guzzlehttp/guzzle/src/functions.php |
| 26 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/var-dumper/Resources/functions/dump.php |
| 27 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-intl-grapheme/bootstrap.php |
| 28 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-intl-normalizer/bootstrap.php |
| 29 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/string/Resources/functions.php |
| 30 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient-services/autoload.php |
| 31 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/php-webdriver/webdriver/lib/Exception/TimeoutException.php |
| 32 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/php-webdriver/webdriver/lib/Exception/WebDriverException.php |
| 33 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php |
| 34 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/psy/psysh/src/functions.php |
| 35 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/sabre/uri/lib/functions.php |
| 36 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/symfony/polyfill-php72/bootstrap.php |
| 37 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/aliases.php |
| 38 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Client.php |
| 39 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Service.php |
| 40 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AccessToken/Revoke.php |
| 41 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AccessToken/Verify.php |
| 42 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Model.php |
| 43 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Utils/UriTemplate.php |
| 44 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AuthHandler/Guzzle6AuthHandler.php |
| 45 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AuthHandler/Guzzle7AuthHandler.php |
| 46 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AuthHandler/Guzzle5AuthHandler.php |
| 47 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/AuthHandler/AuthHandlerFactory.php |
| 48 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Http/Batch.php |
| 49 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Http/MediaFileUpload.php |
| 50 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Http/REST.php |
| 51 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Task/Retryable.php |
| 52 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Task/Exception.php |
| 53 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Exception.php |
| 54 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Task/Runner.php |
| 55 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Collection.php |
| 56 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Service/Exception.php |
| 57 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Service/Resource.php |
| 58 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/google/apiclient/src/Task/Composer.php |
| 59 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/league/csv/src/functions_include.php |
| 60 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/league/csv/src/functions.php |
| 61 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/phalcon/dd/src/helper.php |
| 62 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/sabre/xml/lib/Deserializer/functions.php |
| 63 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/sabre/xml/lib/Serializer/functions.php |
| 64 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/swiftmailer/swiftmailer/lib/swift_required.php |
| 65 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php |
| 66 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Mvc/Dispatcher/Camelize.php |
| 67 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Mvc/Dispatcher/Security.php |
| 68 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Mvc/Dispatcher/Rest.php |
| 69 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Mvc/Dispatcher/Error.php |
| 70 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/DIY.php |
| 71 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Role.php |
| 72 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/AbstractModel.php |
| 73 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Snapshots.php |
| 74 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/SoftDelete.php |
| 75 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/RawValue.php |
| 76 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/CreatedDate.php |
| 77 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/UpdatedDate.php |
| 78 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Log.php |
| 79 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/User.php |
| 80 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Relationship.php |
| 81 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Eagerload.php |
| 82 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/EagerLoadingTrait.php |
| 83 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Expose/Expose.php |
| 84 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/FindIn.php |
| 85 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Utils.php |
| 86 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Cache.php |
| 87 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Mvc/Model/Slug.php |
| 88 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Db/Profiler.php |
| 89 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/backend/controllers/GoogleController.php |
| 90 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/backend/controllers/AbstractController.php |
| 91 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Mvc/AbstractController.php |
| 92 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/RatingField.php |
| 93 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Project.php |
| 94 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/External.php |
| 95 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Newsletter.php |
| 96 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/controllers/ItemTrait.php |
| 97 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Field.php |
| 98 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Source.php |
| 99 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Task.php |
| 100 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/Help.php |
| 101 | /home/mcgilldiy/dev.esrap-spor-diy.com/vendor/phalcon/incubator/Library/Phalcon/Utils/Slug.php |
| 102 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/modules/api/models/User.php |
| 103 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/jTurbide/Assets/Manager.php |
| 104 | /home/mcgilldiy/dev.esrap-spor-diy.com/app/library/DIY/Google.php |
| Memory | |
|---|---|
| Usage | 2097152 |