New design
This commit is contained in:
56
rss/php/class/Main.php
Normal file
56
rss/php/class/Main.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
namespace App;
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . '/rss/php/autoload.php');
|
||||
|
||||
use PDO;
|
||||
use PDOException;
|
||||
use Exception;
|
||||
|
||||
class Main extends Sys{
|
||||
|
||||
|
||||
public function __construct(){
|
||||
|
||||
}
|
||||
|
||||
public function getCountryData() {
|
||||
$csvPath = $_SERVER['DOCUMENT_ROOT'] . '/rss/csv/worldcities.csv';
|
||||
if (!file_exists($csvPath)) {
|
||||
return ['status' => 'error', 'message' => 'CSV file not found'];
|
||||
}
|
||||
|
||||
$handle = fopen($csvPath, 'r');
|
||||
if (!$handle) {
|
||||
return ['status' => 'error', 'message' => 'Failed to open CSV'];
|
||||
}
|
||||
|
||||
$header = fgetcsv($handle);
|
||||
$countryData = [];
|
||||
|
||||
while (($row = fgetcsv($handle)) !== false) {
|
||||
$rowData = array_combine($header, $row);
|
||||
|
||||
$country = $rowData['country'] ?? null;
|
||||
$city = $rowData['city'] ?? null;
|
||||
$state = $rowData['admin_name'] ?? null;
|
||||
|
||||
if (!$country || !$city) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$cityObj = ['city' => $city];
|
||||
if ($state && $state !== $city) {
|
||||
$cityObj['state'] = $state;
|
||||
}
|
||||
|
||||
if (!isset($countryData[$country])) {
|
||||
$countryData[$country] = [];
|
||||
}
|
||||
|
||||
$countryData[$country][] = $cityObj;
|
||||
}
|
||||
|
||||
fclose($handle);
|
||||
return $this->createResponse('success', $countryData);
|
||||
}
|
||||
}
|
||||
34
rss/php/class/Sys.php
Normal file
34
rss/php/class/Sys.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
namespace App;
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . '/rss/php/autoload.php');
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . '/rss/php/conf.php');
|
||||
|
||||
use PDO;
|
||||
use PDOException;
|
||||
use Exception;
|
||||
use stdClass;
|
||||
|
||||
class Sys{
|
||||
protected $conn;
|
||||
|
||||
public function __construct(){
|
||||
global $conn;
|
||||
$this->conn = $conn;
|
||||
}
|
||||
|
||||
public function validateVar($val){
|
||||
if(isset($val) && !empty($val) && $val){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected function createResponse($status, $message = null, $info = null){
|
||||
$resp = new stdClass();
|
||||
$resp->status = $status;
|
||||
$resp->message = $message;
|
||||
$resp->info = $info;
|
||||
return $resp;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user