| Server IP : 138.197.176.125 / Your IP : 216.73.216.41 Web Server : Apache/2.4.41 (Ubuntu) System : Linux SuiteCRM-8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/soltelcocrm/modules/AddonsTransaction/ |
Upload File : |
<?php
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
function handleAddAddonsBundle($entityData){
$adb = PearDatabase::getInstance();
$moduleName = $entityData->getModuleName();
$wsId = $entityData->getId();
$parts = explode('x', $wsId);
$recordId = $parts[1];
$entityResult = $entityData->data;
if($recordId){
//get new number and smart device number
$addonsTransaction = Vtiger_Record_Model::getInstanceById($recordId,'AddonsTransaction');
$numberId = $addonsTransaction->get('customer_number');
//get bundle id from bundle
$linktoaddons = explode('x',$entityResult['linktoaddons']);
$addonsRecordModel = Vtiger_Record_Model::getInstanceById($linktoaddons[1],'AddonService');
$addonsbundleid = $addonsRecordModel->get('addonsbundleid');
$relatedtocontactids = explode('x',$entityResult['relatedtocontact']);
$contactid = $relatedtocontactids[1];
$contactRecordModel = Vtiger_Record_Model::getInstanceById($contactid, 'Contacts');
$sellingsim_isdn = $contactRecordModel->get('contact_simnumber');
$inventoryModuleModel = new SellingInventory_Module_Model();
$loginCredentials = $inventoryModuleModel->getAPISettingsDetails();
$apiurl = $loginCredentials['addons_apiurl'];
if(!empty($apiurl)){
$cbsurl = $apiurl.'/bundle';
$crmapirequest = '{
"subscriptionId": "'.$sellingsim_isdn.'",
"bundleId": "'.$addonsbundleid.'"
}';
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $cbsurl,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_HEADER => true,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>$crmapirequest,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
curl_close($curl);
//if log enable save api log
$logStaus = $inventoryModuleModel->checkApiLogEnabled();
if($logStaus){
$loginsertid = $inventoryModuleModel->insertRecordInApiModule($cbsurl, $crmapirequest,$response);
}
//echo $response;
$headers = explode(PHP_EOL, $response);
$arrResponse = json_decode($headers[9], true);
if($arrResponse['resultCode'] == 200){
$transactionId = $arrResponse['data']['transactionId'];
$adb->pquery("UPDATE vtiger_addonstransaction SET addons_transactionid=? WHERE addonstransactionid=?", array($transactionId,$recordId));
}
//update status and number record id
$recordModel = Vtiger_Record_Model::getInstanceById($loginsertid, 'APILog');
$recordModel->set('mode','edit');
$recordModel->set('relatednumber',$numberId);
if($arrResponse['resultCode'] == 200){
$recordModel->set('apistatus','Success');
}else{
$recordModel->set('apistatus','Fail');
}
$recordModel->save();
}
}
}
?>