First commit

This commit is contained in:
Eldad Fux
2020-10-30 21:53:27 +02:00
parent 64ee540086
commit e81fb88736
38 changed files with 17554 additions and 19862 deletions
+56 -23
View File
@@ -1,5 +1,7 @@
<?php
use Appwrite\Database\Document;
use Appwrite\Utopia\Response;
use Utopia\App;
use Utopia\Config\Config;
@@ -24,7 +26,7 @@ App::get('/v1/locale')
$time = (60 * 60 * 24 * 45); // 45 days cache
$countries = $locale->getText('countries');
$continents = $locale->getText('continents');
$output['ip'] = $ip;
$currency = null;
@@ -57,7 +59,8 @@ App::get('/v1/locale')
$response
->addHeader('Cache-Control', 'public, max-age='.$time)
->addHeader('Expires', \date('D, d M Y H:i:s', \time() + $time).' GMT') // 45 days cache
->json($output);
;
$response->dynamic(new Document($output), Response::MODEL_LOCALE);
}, ['request', 'response', 'locale', 'geodb']);
App::get('/v1/locale/countries')
@@ -73,10 +76,18 @@ App::get('/v1/locale/countries')
/** @var Utopia\Locale\Locale $locale */
$list = $locale->getText('countries'); /* @var $list array */
$output = [];
\asort($list);
\asort($list); // sort by abc per locale
$response->json($list);
foreach ($list as $key => $value) {
$output[] = new Document([
'name' => $value,
'code' => $key,
]);
}
$response->dynamic(new Document(['countries' => $output, 'sum' => \count($output)]), Response::MODEL_COUNTRY_LIST);
}, ['response', 'locale']);
App::get('/v1/locale/countries/eu')
@@ -91,19 +102,22 @@ App::get('/v1/locale/countries/eu')
/** @var Appwrite\Utopia\Response $response */
/** @var Utopia\Locale\Locale $locale */
$countries = $locale->getText('countries'); /* @var $countries array */
$list = $locale->getText('countries'); /* @var $countries array */
$eu = Config::getParam('locale-eu');
$list = [];
foreach ($eu as $code) {
if (\array_key_exists($code, $countries)) {
$list[$code] = $countries[$code];
}
}
$output = [];
\asort($list);
$response->json($list);
foreach ($eu as $code) {
if (\array_key_exists($code, $list)) {
$output[] = new Document([
'name' => $list[$code],
'code' => $code,
]);
}
}
$response->dynamic(new Document(['countries' => $output, 'sum' => \count($output)]), Response::MODEL_COUNTRY_LIST);
}, ['response', 'locale']);
App::get('/v1/locale/countries/phones')
@@ -119,18 +133,22 @@ App::get('/v1/locale/countries/phones')
/** @var Utopia\Locale\Locale $locale */
$list = Config::getParam('locale-phones'); /* @var $list array */
$countries = $locale->getText('countries'); /* @var $countries array */
$output = [];
\asort($list);
foreach ($list as $code => $name) {
if (\array_key_exists($code, $countries)) {
$list[$code] = '+'.$list[$code];
$output[] = new Document([
'code' => '+'.$list[$code],
'countryCode' => $code,
'countryName' => $countries[$code],
]);
}
}
\asort($list);
$response->json($list);
$response->dynamic(new Document(['phones' => $output, 'sum' => \count($output)]), Response::MODEL_PHONE_LIST);
}, ['response', 'locale']);
App::get('/v1/locale/continents')
@@ -148,8 +166,15 @@ App::get('/v1/locale/continents')
$list = $locale->getText('continents'); /* @var $list array */
\asort($list);
foreach ($list as $key => $value) {
$output[] = new Document([
'name' => $value,
'code' => $key,
]);
}
$response->json($list);
$response->dynamic(new Document(['continents' => $output, 'sum' => \count($output)]), Response::MODEL_CONTINENT_LIST);
}, ['response', 'locale']);
App::get('/v1/locale/currencies')
@@ -163,9 +188,13 @@ App::get('/v1/locale/currencies')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$currencies = Config::getParam('locale-currencies');
$list = Config::getParam('locale-currencies');
$response->json($currencies);
$list = array_map(function($node) {
return new Document($node);
}, $list);
$response->dynamic(new Document(['currencies' => $list, 'sum' => \count($list)]), Response::MODEL_CURRENCY_LIST);
}, ['response']);
@@ -180,7 +209,11 @@ App::get('/v1/locale/languages')
->action(function ($response) {
/** @var Appwrite\Utopia\Response $response */
$languages = Config::getParam('locale-languages');
$list = Config::getParam('locale-languages');
$response->json($languages);
$list = array_map(function($node) {
return new Document($node);
}, $list);
$response->dynamic(new Document(['languages' => $list, 'sum' => \count($list)]), Response::MODEL_LANGUAGE_LIST);
}, ['response']);