| Server IP : 95.46.96.79 / Your IP : 216.73.216.4 Web Server : Apache/2.4.41 (Ubuntu) System : Linux zaimer.uz 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : akslabs_uz_usr ( 1001) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/sugurtatrip__usr95/data/www/sugurtatrip.uz/api/src/Api/ |
Upload File : |
<?php
namespace Api;
use Core\PriceLoader;
use Core\HttpClient;
use Core\ApiActions;
use Apex\ApexPriceModel;
class ApexController extends PriceLoader {
public function handle_request($request) {
switch ($request['action']) {
case ApiActions::REQUEST_OFFERS:
$apexModel = $this->createApexPriceModel($request);
$data = $request['data'];
return $apexModel->calculateTravel();
case ApiActions::APEX_CREATE_POLICY:
$apexModel = $this->createApexPriceModel($request);
return "APEX_POLICY";
default:
return [
'message' => 'Action doesn\'t exist for this partner'
];
}
}
public function prepareData($price) {
// Example data preparation
return [
'partner' => 'Apex',
'result' => $price
];
}
private function mapCountriesToIds($countries) {
$countryIds = [];
foreach ($countries as $country) {
$countryIds[] = $country['iso'];
}
return $countryIds;
}
private function createBirthDates($dates) {
if (empty($dates) || !is_array($dates)) {
return [];
}
$birthDates = [];
foreach ($dates as $date) {
$birthDates[] = [
"birthday" => $date
];
}
return $birthDates;
}
private function createApexPriceModel($data) {
$request_data = $data['data'];
$start_date = $request_data['start_date'] ?? (new \DateTime())->format('d.m.Y');
$end_date = $request_data['end_date'] ?? (new \DateTime('tomorrow'))->format('d.m.Y');
$country = [
["iso" => "DK"]
];
$program_id = $request_data['program_id'] ?? 1;;
$purpose_id = $request_data['activity_id'] ?? 1;;
$group_id = $request_data['group_id'] ?? 1;
$persons_info = isset($request_data['date_births']) ? $this -> createBirthDates($request_data['date_births']) : [];
return new ApexPriceModel(
$start_date,
$end_date,
$country,
$program_id,
$purpose_id,
$group_id,
$persons_info
);
}
}