# fluent-cart/1.6.4/app/Http/Controllers/AddressInfoController.php

FluentCart A New Era of eCommerce – Faster, Lighter, and Simpler, version 1.6.4. 41 lines.

- Page: https://pluginprobe.com/plugins/fluent-cart/1.6.4/code/app/Http/Controllers/AddressInfoController.php
- Raw: https://pluginprobe.com/plugins/fluent-cart/1.6.4/raw/app/Http/Controllers/AddressInfoController.php
- Modified: 2025-10-14T16:36:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluent-cart/1.6.4/code/app/Http/Controllers/AddressInfoController.php#L10-L20`.

```php
<?php

namespace FluentCart\App\Http\Controllers;

use FluentCart\App\App;
use FluentCart\App\Helpers\AddressHelper;
use FluentCart\App\Services\Localization\LocalizationManager;
use FluentCart\Framework\Http\Request\Request;

class AddressInfoController extends Controller
{
    public function countriesOption(): \WP_REST_Response
    {
        $countries = LocalizationManager::getInstance()->countriesOptions();
        return $this->sendSuccess([
            'data' => $countries
        ]);
    }

    public function getCountryInfo(Request $request): \WP_REST_Response
    {
        $timezone = sanitize_text_field($request->get('timezone'));

        if ($timezone) {
            $countryCode = LocalizationManager::guessCountryFromTimezone($timezone);
        } else {
            $countryCode = sanitize_text_field($request->get('country_code'));
        }

        $states = LocalizationManager::getInstance()->statesOptions($countryCode);
        $addressLocale = LocalizationManager::getInstance()->addressLocales($countryCode);

        return $this->sendSuccess([
            'country_code'   => $countryCode,
            'country_name'   => AddressHelper::getCountryNameByCode($countryCode),
            'states'         => $states,
            'address_locale' => $addressLocale
        ]);
    }
}

```
