wecuro_blog/application/helpers/invoice_helper.php

134 lines
3.7 KiB
PHP
Executable File

<?php
// use QuickBooksOnline\API\DataService\DataService;
// session_start();
// function processCode()
// {
// // Create SDK instance
// $config = include('config.php');
// $dataService = DataService::Configure(array(
// 'auth_mode' => 'oauth2',
// 'ClientID' => $config['INV_CLIENT_ID'],
// 'ClientSecret' => $config['INV_CLIENT_SECRET'],
// 'RedirectURI' => $config['oauth_redirect_uri'],
// 'scope' => $config['INV_SCOPE'],
// 'baseUrl' => "development"
// ));
// $OAuth2LoginHelper = $dataService->getOAuth2LoginHelper();
// $parseUrl = parseAuthRedirectUrl($_SERVER['QUERY_STRING']);
// /*
// * Update the OAuth2Token
// */
// $accessToken =
// $OAuth2LoginHelper->exchangeAuthorizationCodeForToken($parseUrl['code'],
// $parseUrl['realmId']);
// $dataService->updateOAuth2Token($accessToken);
// /*
// * Setting the accessToken for session variable
// */
// $_SESSION['sessionAccessToken'] = $accessToken;
// }
// function parseAuthRedirectUrl($url)
// {
// parse_str($url,$qsArray);
// return array(
// 'code' => $qsArray['code'],
// 'realmId' => $qsArray['realmId']
// );
// $result = processCode();
// }
function get_INV_Info($code){
//die;
$uri = 'https://appcenter.intuit.com/'.$code;
//Create Token Start
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'auth_mode' => 'oauth2',
'ClientID' => INV_CLIENT_ID,
'ClientSecret' => INV_CLIENT_SECRET,
'RedirectURI' => oauth_redirect_uri,
'scope' => INV_SCOPE,
'baseUrl' => "development"
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
$result = curl_exec($ch);
curl_close($ch);
$json_array = (json_decode($result, true));
$token = $json_array['access_token'];
$_SESSION['token'] = $token;
//Create Token END
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.$token,
'Accept: application/json',
'content-type: application/json'
));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
$api_response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
//return $http_code;
$res=json_decode($api_response);
$i=0;
foreach($res->destinationEntities as $enty){
//print_r($enty);die;
$output[$i]['id']=$enty->CompanyAddr->id;
$output[$i]['title']=$enty->CompanyName;
$i++;
}
return $output;
}
function makeAPICall()
{
// Create SDK instance
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
'auth_mode' => 'oauth2',
'ClientID' => INV_CLIENT_ID,
'ClientSecret' => INV_CLIENT_SECRET,
'RedirectURI' => oauth_redirect_uri,
'scope' => INV_SCOPE,
'baseUrl' => "development"
));
/*
* Retrieve the accessToken value from session variable
*/
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // set curl without result echo
$result = curl_exec($ch);
curl_close($ch);
$json_array = (json_decode($result, true));
$token = $json_array['access_token'];
$_SESSION['token'] = $token;
$accessToken = $_SESSION['token'];
/*
* Update the OAuth2Token of the dataService object
*/
$dataService->updateOAuth2Token($accessToken);
$companyInfo = $dataService->getCompanyInfo();
//print_r($companyInfo);
return $companyInfo;
}
?>