| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- use Luracast\Restler\RestException;
- require_once DOL_DOCUMENT_ROOT . '/custom/bbus/class/basicservices.class.php';
- trait CurlApi
- {
- private function curlInit($route, $postFields = '', $request = 'POST')
- {
- global $conf;
- ApiBbusLog::appLog("{$conf->global->CURL_ROUTE}{$route} => {$postFields}");
- $curl = curl_init();
- curl_setopt_array($curl, array(
- CURLOPT_URL => $conf->global->CURL_ROUTE . $route,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_VERBOSE => true,
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_REFERER => true,
- CURLOPT_ENCODING => '',
- CURLOPT_MAXREDIRS => 10,
- CURLOPT_TIMEOUT => 0,
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
- CURLOPT_CUSTOMREQUEST => $request,
- CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",
- CURLOPT_POSTFIELDS => $postFields,
- CURLOPT_HTTPHEADER => array(
- 'DOLAPIKEY: ' . $conf->global->CURL_USER_DOLAPIKEY,
- 'Content-Type: application/json'
- ),
- ));
- return $curl;
- }
- private function curlRunner($route, $postFields, $request = 'POST', $decode = false)
- {
- ApiBbusLog::appLog("{$route}");
- $curl = $this->curlInit($route, $postFields, $request);
- $response = curl_exec($curl);
- if($route != 'bookingapi/localavailableplaces'){
- ApiBbusLog::appLog("{$response}");
- }
- curl_close($curl);
- return $decode ? json_decode($response) : $response;
- }
- public function addCurlProducts($sortfield, $sortorder, $limit, $page, $mode, $category, $sqlfilters, $ids_only, $variant_filter, $pagination_data, $includestockdata)
- {
- $curlProductsArray = [];
- $searchString = "ef.basic_service =";
- $array = explode('AND', $sqlfilters);
- foreach ($array as $key => $value) {
- if (strpos($value, $searchString) !== false) {
- $tmpArray = explode(" = ", $array[$key]);
- $basic_service = $tmpArray[1];
- }
- }
- if ($basic_service == "'3'") {
- $params = compact('sortfield', 'sortorder', 'limit', 'page', 'mode', 'category', 'sqlfilters', 'ids_only', 'variant_filter', 'pagination_data', 'includestockdata');
- $postFields = json_encode($params);
- $curlProductsArray = $this->curlRunner('bbus/products', $postFields, 'GET', true);
- }
- return $curlProductsArray;
- }
- public function curlCreateBBticket($product_id, $datec, $facture_id)
- {
- $postFields = '{"product_id":"' . $product_id . '","datec":"' . $datec . '","facture_id":"' . $facture_id . '"}';
- ApiBbusLog::appLog("{$postFields}");
- $curl = $this->curlInit('bookingapi/createbbticket', $postFields, 'POST');
- $response = curl_exec($curl);
- curl_close($curl);
- return true;
- }
- public function curlCreateBBticketForMultipriniting($product_id, $datec, $ref)
- {
- $postFields = '{"product_id":"' . $product_id . '","datec":"' . $datec . '","ref":"' . $ref . '"}';
- $curl = $this->curlInit('bookingapi/createbbticketmultiprinting', $postFields, 'POST');
- $response = curl_exec($curl);
- //print_r($response);exit;
- curl_close($curl);
- return $response;
- }
- public function getServerHost($type_id)
- {
- $basicServices = new BasicServices($this->db);
- $resultBS = $basicServices->fetch($type_id);
- ApiBbusLog::appLog("{$type_id} => {$basicServices->server_host}");
- return $basicServices->server_host;
- }
- }
|