| <?php |
|
|
| namespace Kanboard\Model; |
|
|
| use Kanboard\Core\Base; |
|
|
| |
| |
| |
| |
| |
| |
| class CurrencyModel extends Base |
| { |
| |
| |
| |
| |
| |
| const TABLE = 'currencies'; |
|
|
| |
| |
| |
| |
| |
| |
| public function getCurrencies() |
| { |
| return array( |
| 'ARS' => t('ARS - Argentine Peso'), |
| 'AUD' => t('AUD - Australian Dollar'), |
| 'BAM' => t('BAM - Konvertible Mark'), |
| 'BRL' => t('BRL - Brazilian Real'), |
| 'CAD' => t('CAD - Canadian Dollar'), |
| 'CHF' => t('CHF - Swiss Francs'), |
| 'CNY' => t('CNY - Chinese Yuan'), |
| 'COP' => t('COP - Colombian Peso'), |
| 'DKK' => t('DKK - Danish Krona'), |
| 'EUR' => t('EUR - Euro'), |
| 'GBP' => t('GBP - British Pound'), |
| 'HRK' => t('HRK - Kuna'), |
| 'HUF' => t('HUF - Hungarian Forint'), |
| 'INR' => t('INR - Indian Rupee'), |
| 'JPY' => t('JPY - Japanese Yen'), |
| 'MXN' => t('MXN - Mexican Peso'), |
| 'NOK' => t('NOK - Norwegian Krone'), |
| 'NZD' => t('NZD - New Zealand Dollar'), |
| 'RSD' => t('RSD - Serbian dinar'), |
| 'RUB' => t('RUB - Russian Ruble'), |
| 'SEK' => t('SEK - Swedish Krona'), |
| 'TRL' => t('TRL - Turkish Lira'), |
| 'USD' => t('USD - US Dollar'), |
| 'VBL' => t('VES - Venezuelan Bolívar'), |
| 'XBT' => t('XBT - Bitcoin'), |
| ); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function getAll() |
| { |
| return $this->db->table(self::TABLE)->findAll(); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function getPrice($currency, $price) |
| { |
| static $rates = null; |
| $reference = $this->configModel->get('application_currency', 'USD'); |
|
|
| if ($reference !== $currency) { |
| $rates = $rates === null ? $this->db->hashtable(self::TABLE)->getAll('currency', 'rate') : $rates; |
| $rate = isset($rates[$currency]) ? $rates[$currency] : 1; |
|
|
| return $rate * $price; |
| } |
|
|
| return $price; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function create($currency, $rate) |
| { |
| if ($this->db->table(self::TABLE)->eq('currency', $currency)->exists()) { |
| return $this->update($currency, $rate); |
| } |
|
|
| return $this->db->table(self::TABLE)->insert(array('currency' => $currency, 'rate' => $rate)); |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| public function update($currency, $rate) |
| { |
| return $this->db->table(self::TABLE)->eq('currency', $currency)->update(array('rate' => $rate)); |
| } |
| } |
|
|