Go to the documentation of this file.
26 require
'../../../main.inc.php';
27 require_once DOL_DOCUMENT_ROOT.
'/includes/OAuth/bootstrap.php';
28 use OAuth\Common\Storage\DoliStorage;
29 use OAuth\Common\Consumer\Credentials;
30 use OAuth\OAuth2\Service\GitHub;
33 $urlwithouturlroot = preg_replace(
'/'.preg_quote(DOL_URL_ROOT,
'/').
'$/i',
'', trim($dolibarr_main_url_root));
34 $urlwithroot = $urlwithouturlroot.DOL_URL_ROOT;
38 $action =
GETPOST(
'action',
'aZ09');
39 $backtourl =
GETPOST(
'backtourl',
'alpha');
40 $keyforprovider =
GETPOST(
'keyforprovider',
'aZ09');
41 if (empty($keyforprovider) && !empty($_SESSION[
"oauthkeyforproviderbeforeoauthjump"]) && (
GETPOST(
'code') || $action ==
'delete')) {
42 $keyforprovider = $_SESSION[
"oauthkeyforproviderbeforeoauthjump"];
52 $currentUri =
$uriFactory->createFromAbsolute($urlwithroot.
'/core/modules/oauth/stripetest_oauthcallback.php');
60 $serviceFactory = new \OAuth\ServiceFactory();
61 $httpClient = new \OAuth\Common\Http\Client\CurlClient();
65 $serviceFactory->setHttpClient($httpClient);
68 $storage =
new DoliStorage($db, $conf, $keyforprovider);
71 $keyforparamid =
'OAUTH_STRIPE_TEST'.($keyforprovider ?
'-'.$keyforprovider :
'').
'_ID';
72 $keyforparamsecret =
'OAUTH_STRIPE_TEST'.($keyforprovider ?
'-'.$keyforprovider :
'').
'_SECRET';
73 $credentials =
new Credentials(
76 $currentUri->getAbsoluteUri()
79 $requestedpermissionsarray = array();
81 $requestedpermissionsarray = explode(
',',
GETPOST(
'state'));
93 $servicesuffix = ($keyforprovider ?
'-'.$keyforprovider :
'');
94 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"oauth_token SET service = 'StripeTest".$db->escape($servicesuffix).
"', entity = ".((int) $conf->entity);
100 $langs->load(
"oauth");
103 accessforbidden(
'Setup of service is not complete. Customer ID is missing');
106 accessforbidden(
'Setup of service is not complete. Secret key is missing');
115 if ($action ==
'delete') {
116 $storage->clearToken(
'StripeTest');
120 header(
'Location: '.$backtourl);
136 $token = $apiService->requestAccessToken(
GETPOST(
'code'));
141 $backtourl = $_SESSION[
"backtourlsavedbeforeoauthjump"];
142 unset($_SESSION[
"backtourlsavedbeforeoauthjump"]);
144 if (empty($backtourl)) {
145 $backtourl = DOL_URL_ROOT.
'/';
148 header(
'Location: '.$backtourl);
151 print $e->getMessage();
155 $_SESSION[
"backtourlsavedbeforeoauthjump"] = $backtourl;
156 $_SESSION[
"oauthkeyforproviderbeforeoauthjump"] = $keyforprovider;
157 $_SESSION[
'oauthstateanticsrf'] = $state;
162 $url = $apiService->getAuthorizationUri(array(
'state'=>
GETPOST(
'state')));
166 $url =
'https://connect.stripe.com/oauth/authorize?response_type=code&client_id='.$conf->global->$keyforparamid.
'&scope=read_write';
170 $url = DOL_URL_ROOT.
'/';
174 header(
'Location: '.$url);
dol_trunc($string, $size=40, $trunc='right', $stringencoding='UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '…' if string larger than length.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
if(empty($keyforprovider) &&!empty($_SESSION["oauthkeyforproviderbeforeoauthjump"]) &&(GETPOST('code')|| $action=='delete')) $uriFactory
Create a new instance of the URI class with the current URI, stripping the query string.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
if(isModEnabled('facture') && $user->hasRight('facture', 'lire')) if((isModEnabled('fournisseur') &&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD) && $user->hasRight("fournisseur", "facture", "lire"))||(isModEnabled('supplier_invoice') && $user->hasRight("supplier_invoice", "lire"))) if(isModEnabled('don') && $user->hasRight('don', 'lire')) if(isModEnabled('tax') &&!empty($user->rights->tax->charges->lire)) if(isModEnabled('facture') &&isModEnabled('commande') && $user->hasRight("commande", "lire") &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) $sql
Social contributions to pay.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.