⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.63
Server IP:
217.76.53.76
Server:
Linux vmi1397931.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64
Server Software:
Apache
PHP Version:
8.2.27
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
www
/
wwwroot
/
ppt.com.ng
/
app
/
Console
/
Commands
/
View File Name :
SyncCurrencies.php
line(""); $this->line("****************************************************************"); $this->info("Started Sync of Currencies"); $this->line("****************************************************************"); $this->line("Checking if credentials exist in database"); $credentials = [ 'key' => Setting::get('currency_layer_api_key'), 'source' => Setting::get('currency_layer_source') ]; if (!$credentials['key']){ $this->error('Keys not found in settings.'); return 0; } $this->line("Fetching from CurrencyLayer API"); $currencyResponse = CurrencyLayer::Make($credentials['key'],$credentials['source'])->getCurrencies(); if ($currencyResponse === null){ $this->error('Unable to Fetch Currencies. API Failed'); return 0; } $this->line("Syncing Base Currency"); $baseCurrency = Currency::where('code',$currencyResponse['source'])->first(); if ($baseCurrency === null){ $baseCurrency = Currency::create([ 'code' => $currencyResponse['source'], 'rate' => 1, 'status' => 'ENABLED' ]); } $this->line("Starting sync of all other currencies"); $bar = $this->output->createProgressBar(count($currencyResponse['quotes'])); $bar->start(); foreach ($currencyResponse['quotes'] as $key => $rate){ $code = substr($key, 3); Currency::updateOrCreate(['code' => $code],[ 'base_currency_id' => $baseCurrency['id'], 'code' => $code, 'rate' => $rate ]); $bar->advance(); } $bar->finish(); $currencyArray = [ "AED" => "United Arab Emirates Dirham", "AFN" => "Afghan Afghani", "ALL" => "Albanian Lek", "AMD" => "Armenian Dram", "ANG" => "Netherlands Antillean Guilder", "AOA" => "Angolan Kwanza", "ARS" => "Argentine Peso", "AUD" => "Australian Dollar", "AWG" => "Aruban Florin", "AZN" => "Azerbaijani Manat", "BAM" => "Bosnia-Herzegovina Convertible Mark", "BBD" => "Barbadian Dollar", "BDT" => "Bangladeshi Taka", "BGN" => "Bulgarian Lev", "BHD" => "Bahraini Dinar", "BIF" => "Burundian Franc", "BMD" => "Bermudan Dollar", "BND" => "Brunei Dollar", "BOB" => "Bolivian Boliviano", "BRL" => "Brazilian Real", "BSD" => "Bahamian Dollar", "BTC" => "Bitcoin", "BTN" => "Bhutanese Ngultrum", "BWP" => "Botswanan Pula", "BYN" => "New Belarusian Ruble", "BYR" => "Belarusian Ruble", "BZD" => "Belize Dollar", "CAD" => "Canadian Dollar", "CDF" => "Congolese Franc", "CHF" => "Swiss Franc", "CLF" => "Chilean Unit of Account (UF)", "CLP" => "Chilean Peso", "CNY" => "Chinese Yuan", "COP" => "Colombian Peso", "CRC" => "Costa Rican Colón", "CUC" => "Cuban Convertible Peso", "CUP" => "Cuban Peso", "CVE" => "Cape Verdean Escudo", "CZK" => "Czech Republic Koruna", "DJF" => "Djiboutian Franc", "DKK" => "Danish Krone", "DOP" => "Dominican Peso", "DZD" => "Algerian Dinar", "EGP" => "Egyptian Pound", "ERN" => "Eritrean Nakfa", "ETB" => "Ethiopian Birr", "EUR" => "Euro", "FJD" => "Fijian Dollar", "FKP" => "Falkland Islands Pound", "GBP" => "British Pound Sterling", "GEL" => "Georgian Lari", "GGP" => "Guernsey Pound", "GHS" => "Ghanaian Cedi", "GIP" => "Gibraltar Pound", "GMD" => "Gambian Dalasi", "GNF" => "Guinean Franc", "GTQ" => "Guatemalan Quetzal", "GYD" => "Guyanaese Dollar", "HKD" => "Hong Kong Dollar", "HNL" => "Honduran Lempira", "HRK" => "Croatian Kuna", "HTG" => "Haitian Gourde", "HUF" => "Hungarian Forint", "IDR" => "Indonesian Rupiah", "ILS" => "Israeli New Sheqel", "IMP" => "Manx pound", "INR" => "Indian Rupee", "IQD" => "Iraqi Dinar", "IRR" => "Iranian Rial", "ISK" => "Icelandic Króna", "JEP" => "Jersey Pound", "JMD" => "Jamaican Dollar", "JOD" => "Jordanian Dinar", "JPY" => "Japanese Yen", "KES" => "Kenyan Shilling", "KGS" => "Kyrgystani Som", "KHR" => "Cambodian Riel", "KMF" => "Comorian Franc", "KPW" => "North Korean Won", "KRW" => "South Korean Won", "KWD" => "Kuwaiti Dinar", "KYD" => "Cayman Islands Dollar", "KZT" => "Kazakhstani Tenge", "LAK" => "Laotian Kip", "LBP" => "Lebanese Pound", "LKR" => "Sri Lankan Rupee", "LRD" => "Liberian Dollar", "LSL" => "Lesotho Loti", "LTL" => "Lithuanian Litas", "LVL" => "Latvian Lats", "LYD" => "Libyan Dinar", "MAD" => "Moroccan Dirham", "MDL" => "Moldovan Leu", "MGA" => "Malagasy Ariary", "MKD" => "Macedonian Denar", "MMK" => "Myanma Kyat", "MNT" => "Mongolian Tugrik", "MOP" => "Macanese Pataca", "MRU" => "Mauritanian Ouguiya", "MUR" => "Mauritian Rupee", "MVR" => "Maldivian Rufiyaa", "MWK" => "Malawian Kwacha", "MXN" => "Mexican Peso", "MYR" => "Malaysian Ringgit", "MZN" => "Mozambican Metical", "NAD" => "Namibian Dollar", "NGN" => "Nigerian Naira", "NIO" => "Nicaraguan Córdoba", "NOK" => "Norwegian Krone", "NPR" => "Nepalese Rupee", "NZD" => "New Zealand Dollar", "OMR" => "Omani Rial", "PAB" => "Panamanian Balboa", "PEN" => "Peruvian Nuevo Sol", "PGK" => "Papua New Guinean Kina", "PHP" => "Philippine Peso", "PKR" => "Pakistani Rupee", "PLN" => "Polish Zloty", "PYG" => "Paraguayan Guarani", "QAR" => "Qatari Rial", "RON" => "Romanian Leu", "RSD" => "Serbian Dinar", "RUB" => "Russian Ruble", "RWF" => "Rwandan Franc", "SAR" => "Saudi Riyal", "SBD" => "Solomon Islands Dollar", "SCR" => "Seychellois Rupee", "SDG" => "South Sudanese Pound", "SEK" => "Swedish Krona", "SGD" => "Singapore Dollar", "SHP" => "Saint Helena Pound", "SLE" => "Sierra Leonean Leone", "SLL" => "Sierra Leonean Leone", "SOS" => "Somali Shilling", "SRD" => "Surinamese Dollar", "STD" => "São Tomé and Príncipe Dobra", "SVC" => "Salvadoran Colón", "SYP" => "Syrian Pound", "SZL" => "Swazi Lilangeni", "THB" => "Thai Baht", "TJS" => "Tajikistani Somoni", "TMT" => "Turkmenistani Manat", "TND" => "Tunisian Dinar", "TOP" => "Tongan Paʻanga", "TRY" => "Turkish Lira", "TTD" => "Trinidad and Tobago Dollar", "TWD" => "New Taiwan Dollar", "TZS" => "Tanzanian Shilling", "UAH" => "Ukrainian Hryvnia", "UGX" => "Ugandan Shilling", "USD" => "United States Dollar", "UYU" => "Uruguayan Peso", "UZS" => "Uzbekistan Som", "VEF" => "Venezuelan Bolívar Fuerte", "VES" => "Sovereign Bolivar", "VND" => "Vietnamese Dong", "VUV" => "Vanuatu Vatu", "WST" => "Samoan Tala", "XAF" => "CFA Franc BEAC", "XAG" => "Silver (troy ounce)", "XAU" => "Gold (troy ounce)", "XCD" => "East Caribbean Dollar", "XDR" => "Special Drawing Rights", "XOF" => "CFA Franc BCEAO", "XPF" => "CFP Franc", "YER" => "Yemeni Rial", "ZAR" => "South African Rand", "ZMK" => "Zambian Kwacha (pre-2013)", "ZMW" => "Zambian Kwacha", "ZWL" => "Zimbabwean Dollar" ]; $emptyCurrencyNamesList = Currency::whereNull('name')->get(); if(count($emptyCurrencyNamesList)) { $this->line(""); $this->line("Syncing Empty Currency Names from Static Array"); $bar = $this->output->createProgressBar(count($emptyCurrencyNamesList)); $bar->start(); foreach ($emptyCurrencyNamesList as $key => $currencyObject) { if(isset($currencyArray[$currencyObject['code']])) { $currencyObject['name'] = $currencyArray[$currencyObject['code']]; $currencyObject->save(); } $bar->advance(); } } $currencyNamesList = Currency::whereNull('name')->get(); if(count($currencyNamesList)) { $this->line(""); $this->line("Syncing Empty Currency Names from Currency Layer API Response Array"); $currencyListResponse = CurrencyLayer::Make($credentials['key'], $credentials['source'])->getCurrencyNames(); $bar = $this->output->createProgressBar(count($currencyNamesList)); $bar->start(); foreach ($currencyNamesList as $key => $currencyObject) { if(isset($currencyListResponse['currencies'][$currencyObject['code']])) { $currencyObject['name'] = $currencyListResponse['currencies'][$currencyObject['code']]; $currencyObject->save(); } $bar->advance(); } } $bar->finish(); $this->line(" "); $this->line("****************************************************************"); $this->info("All Currencies Synced !!! "); $this->line("****************************************************************"); $this->line(""); return 0; } }