mirror of
				https://github.com/firefly-iii/firefly-iii.git
				synced 2025-10-31 02:36:28 +00:00 
			
		
		
		
	🤖 Auto commit for release 'develop' on 2025-07-28
This commit is contained in:
		| @@ -59,15 +59,15 @@ class Amount | ||||
|      */ | ||||
|     public function formatFlat(string $symbol, int $decimalPlaces, string $amount, ?bool $coloured = null): string | ||||
|     { | ||||
|         $locale   = app('steam')->getLocale(); | ||||
|         $rounded  = app('steam')->bcround($amount, $decimalPlaces); | ||||
|         $locale  = app('steam')->getLocale(); | ||||
|         $rounded = app('steam')->bcround($amount, $decimalPlaces); | ||||
|         $coloured ??= true; | ||||
| 
 | ||||
|         $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY); | ||||
|         $fmt     = new NumberFormatter($locale, NumberFormatter::CURRENCY); | ||||
|         $fmt->setSymbol(NumberFormatter::CURRENCY_SYMBOL, $symbol); | ||||
|         $fmt->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, $decimalPlaces); | ||||
|         $fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, $decimalPlaces); | ||||
|         $result = (string)$fmt->format((float)$rounded); // intentional float
 | ||||
|         $result  = (string)$fmt->format((float)$rounded); // intentional float
 | ||||
| 
 | ||||
|         if (true === $coloured) { | ||||
|             if (1 === bccomp((string)$rounded, '0')) { | ||||
| @@ -120,6 +120,7 @@ class Amount | ||||
|         if (!$user instanceof User) { | ||||
|             return true === Preferences::get('convert_to_native', false)->data && true === config('cer.enabled'); | ||||
|         } | ||||
| 
 | ||||
|         return true === Preferences::getForUser($user, 'convert_to_native', false)->data && true === config('cer.enabled'); | ||||
|     } | ||||
| 
 | ||||
| @@ -138,7 +139,7 @@ class Amount | ||||
| 
 | ||||
|     public function getNativeCurrencyByUserGroup(UserGroup $userGroup): TransactionCurrency | ||||
|     { | ||||
|         $cache = new CacheProperties(); | ||||
|         $cache  = new CacheProperties(); | ||||
|         $cache->addProperty('getNativeCurrencyByGroup'); | ||||
|         $cache->addProperty($userGroup->id); | ||||
|         if ($cache->has()) { | ||||
| @@ -168,16 +169,16 @@ class Amount | ||||
|      */ | ||||
|     public function getAmountFromJournalObject(TransactionJournal $journal): string | ||||
|     { | ||||
|         $convertToNative = $this->convertToNative(); | ||||
|         $currency        = $this->getNativeCurrency(); | ||||
|         $field           = $convertToNative && $currency->id !== $journal->transaction_currency_id ? 'native_amount' : 'amount'; | ||||
|         $convertToNative   = $this->convertToNative(); | ||||
|         $currency          = $this->getNativeCurrency(); | ||||
|         $field             = $convertToNative && $currency->id !== $journal->transaction_currency_id ? 'native_amount' : 'amount'; | ||||
| 
 | ||||
|         /** @var null|Transaction $sourceTransaction */ | ||||
|         $sourceTransaction = $journal->transactions()->where('amount', '<', 0)->first(); | ||||
|         if (null === $sourceTransaction) { | ||||
|             return '0'; | ||||
|         } | ||||
|         $amount = $sourceTransaction->{$field} ?? '0'; | ||||
|         $amount            = $sourceTransaction->{$field} ?? '0'; | ||||
|         if ((int)$sourceTransaction->foreign_currency_id === $currency->id) { | ||||
|             // use foreign amount instead!
 | ||||
|             $amount = (string)$sourceTransaction->foreign_amount; // hard coded to be foreign amount.
 | ||||
| @@ -243,20 +244,20 @@ class Amount | ||||
|     private function getLocaleInfo(): array | ||||
|     { | ||||
|         // get config from preference, not from translation:
 | ||||
|         $locale = app('steam')->getLocale(); | ||||
|         $array  = app('steam')->getLocaleArray($locale); | ||||
|         $locale                    = app('steam')->getLocale(); | ||||
|         $array                     = app('steam')->getLocaleArray($locale); | ||||
| 
 | ||||
|         setlocale(LC_MONETARY, $array); | ||||
|         $info = localeconv(); | ||||
|         $info                      = localeconv(); | ||||
| 
 | ||||
|         // correct variables
 | ||||
|         $info['n_cs_precedes'] = $this->getLocaleField($info, 'n_cs_precedes'); | ||||
|         $info['p_cs_precedes'] = $this->getLocaleField($info, 'p_cs_precedes'); | ||||
|         $info['n_cs_precedes']     = $this->getLocaleField($info, 'n_cs_precedes'); | ||||
|         $info['p_cs_precedes']     = $this->getLocaleField($info, 'p_cs_precedes'); | ||||
| 
 | ||||
|         $info['n_sep_by_space'] = $this->getLocaleField($info, 'n_sep_by_space'); | ||||
|         $info['p_sep_by_space'] = $this->getLocaleField($info, 'p_sep_by_space'); | ||||
|         $info['n_sep_by_space']    = $this->getLocaleField($info, 'n_sep_by_space'); | ||||
|         $info['p_sep_by_space']    = $this->getLocaleField($info, 'p_sep_by_space'); | ||||
| 
 | ||||
|         $fmt = new NumberFormatter($locale, NumberFormatter::CURRENCY); | ||||
|         $fmt                       = new NumberFormatter($locale, NumberFormatter::CURRENCY); | ||||
| 
 | ||||
|         $info['mon_decimal_point'] = $fmt->getSymbol(NumberFormatter::MONETARY_SEPARATOR_SYMBOL); | ||||
|         $info['mon_thousands_sep'] = $fmt->getSymbol(NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL); | ||||
| @@ -288,11 +289,11 @@ class Amount | ||||
| 
 | ||||
|         // there are five possible positions for the "+" or "-" sign (if it is even used)
 | ||||
|         // pos_a and pos_e could be the ( and ) symbol.
 | ||||
|         $posA = ''; // before everything
 | ||||
|         $posB = ''; // before currency symbol
 | ||||
|         $posC = ''; // after currency symbol
 | ||||
|         $posD = ''; // before amount
 | ||||
|         $posE = ''; // after everything
 | ||||
|         $posA  = ''; // before everything
 | ||||
|         $posB  = ''; // before currency symbol
 | ||||
|         $posC  = ''; // after currency symbol
 | ||||
|         $posD  = ''; // before amount
 | ||||
|         $posE  = ''; // after everything
 | ||||
| 
 | ||||
|         // format would be (currency before amount)
 | ||||
|         // AB%sC_D%vE
 | ||||
| @@ -334,9 +335,9 @@ class Amount | ||||
|         } | ||||
| 
 | ||||
|         if ($csPrecedes) { | ||||
|             return $posA . $posB . '%s' . $posC . $space . $posD . '%v' . $posE; | ||||
|             return $posA.$posB.'%s'.$posC.$space.$posD.'%v'.$posE; | ||||
|         } | ||||
| 
 | ||||
|         return $posA . $posD . '%v' . $space . $posB . '%s' . $posC . $posE; | ||||
|         return $posA.$posD.'%v'.$space.$posB.'%s'.$posC.$posE; | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user