From d64f18ef99d687e556b47dd65a1395e5521a9433 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 3 Aug 2016 12:40:40 +0300 Subject: [PATCH] Looking into bots... --- app/Console/Commands/TestBot.php | 54 +++++++++++++++++++++++++++++++ app/Console/Kernel.php | 3 +- app/Http/routes.php | 1 + public/images/round_logo.png | Bin 7569 -> 12131 bytes 4 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 app/Console/Commands/TestBot.php diff --git a/app/Console/Commands/TestBot.php b/app/Console/Commands/TestBot.php new file mode 100644 index 000000000000..bb4b4a249a6f --- /dev/null +++ b/app/Console/Commands/TestBot.php @@ -0,0 +1,54 @@ +info(date('Y-m-d').' Running TestBot...'); + + $clientId = env('MSBOT_CLIENT_ID'); + $clientSecret = env('MSBOT_CLIENT_SECRET'); + + $data = sprintf('grant_type=client_credentials&client_id=%s&client_secret=%s&scope=https://graph.microsoft.com/.default', $clientId, $clientSecret); + $curl = curl_init(); + + $opts = [ + CURLOPT_URL => MSBOT_LOGIN_URL, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POST => 'POST', + CURLOPT_POSTFIELDS => $data, + ]; + + curl_setopt_array($curl, $opts); + $response = print_r(curl_exec($response)); + curl_close($curl); + + print_r($response); + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 179e423388f1..722a14dbe77f 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -21,8 +21,9 @@ class Kernel extends ConsoleKernel 'App\Console\Commands\SendRenewalInvoices', 'App\Console\Commands\ChargeRenewalInvoices', 'App\Console\Commands\SendReminders', - 'App\Console\Commands\TestOFX', 'App\Console\Commands\GenerateResources', + 'App\Console\Commands\TestOFX', + 'App\Console\Commands\TestBot', ]; /** diff --git a/app/Http/routes.php b/app/Http/routes.php index a01aaf7bb24b..b001ce159856 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -626,6 +626,7 @@ if (!defined('CONTACT_EMAIL')) { define('EMAIL_MARKUP_URL', env('EMAIL_MARKUP_URL', 'https://developers.google.com/gmail/markup')); define('OFX_HOME_URL', env('OFX_HOME_URL', 'http://www.ofxhome.com/index.php/home/directory/all')); define('GOOGLE_ANALYITCS_URL', env('GOOGLE_ANALYITCS_URL', 'https://www.google-analytics.com/collect')); + define('MSBOT_LOGIN_URL', 'https://login.microsoftonline.com/common/oauth2/v2.0/token'); define('BLANK_IMAGE', 'data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='); diff --git a/public/images/round_logo.png b/public/images/round_logo.png index fd878ea4e90dcd24db01800666e065098ba832d3..0c66352847baa72d227d78d5fa73b811e7826caf 100644 GIT binary patch literal 12131 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