If anyone have problem with curriences in top donors / profile.
The problem only exist if you have 2 curriences, for example EURO AND PLN(POLISH ZŁOTY).
1 euro = 4.27 PLN
If someone donates 10 EURO, in top donors weekly it says only 10 pln instead of 40.value. And to your profile is added only 10 pln as well.
Here is a fix for that.
Path to file applications/donate/widgets/donateTopDonors.php
Find this
foreach ( \IPS\Db::i()->select( array( 'member_id', 'amount' ), 'donate_users', $where ) as $donation )
{
if ( !isset( $topDonors[ $donation['member_id'] ] ) )
{
$topDonors[ $donation['member_id'] ] = $donation['amount'];
}
else
{
$topDonors[ $donation['member_id'] ] += $donation['amount'];
}
}
Change it to this
foreach ( \IPS\Db::i()->select( array( 'member_id', 'amount', 'rate' ), 'donate_users', $where ) as $donation )
{
$donation['amount'] *= $donation['rate'];
if ( !isset( $topDonors[ $donation['member_id'] ] ) )
{
$topDonors[ $donation['member_id'] ] = $donation['amount'];
}
else
{
$topDonors[ $donation['member_id'] ] += $donation['amount'];
}
}
Those changes you need to apply in profile code and everywhere. To make to work propery.
I want to mention the goal update is working fine, just top donors and $ added to your profile is not working good.