<? class DonationsView { public static function render_mod_donations($UserID) { ?> <table class="layout" id="donation_box"> <tr class="colhead"> <td colspan="2"> <a href="#donor_ranks" class="brackets anchor">#</a> Donor System (add points) </td> </tr> <tr> <td class="label">Value</td> <td> <input type="text" name="donation_value" onkeypress="return isNumberKey(event);" /> <select name="donation_currency"> <option value="EUR">EUR</option> <option value="USD">USD</option> <option value="BTC">BTC</option> </select> </td> </tr> <tr> <td class="label">Reason</td> <td><input type="text" class="wide_input_text" name="donation_reason" /></td> </tr> <tr> <td align="right" colspan="2"> <input type="submit" name="donor_points_submit" value="Add donor points" /> </td> </tr> </table> <table class="layout" id="donor_points_box"> <tr class="colhead"> <td colspan="3" class="tooltip" title='Use this tool only when manually correcting values. If crediting donations normally, use the "Donor System (add points)" tool'> <a href="#donor_points" class="brackets anchor">#</a> Donor System (modify values) </td> </tr> <tr> <td class="label tooltip" title="Active points determine a user's Donor Rank and do expire.">Active points</td> <td><input type="text" name="donor_rank" onkeypress="return isNumberKey(event);" value="<?=Donations::get_rank($UserID)?>" /></td> </tr> <tr> <td class="label tooltip" title="Total points represent a user's overall total and never expire. Total points determines a user's Special Rank and Donor Leaderboard placement.">Total points</td> <td><input type="text" name="total_donor_rank" onkeypress="return isNumberKey(event);" value="<?=Donations::get_total_rank($UserID)?>" /></td> </tr> <tr> <td class="label">Reason</td> <td><input type="text" class="wide_input_text" name="reason" /></td> </tr> <tr> <td align="right" colspan="2"> <input type="submit" name="donor_values_submit" value="Change point values" /> </td> </tr> </table> <? } public static function render_donor_stats($UserID) { $OwnProfile = G::$LoggedUser['ID'] == $UserID; if (check_perms("users_mod") || $OwnProfile || Donations::is_visible($UserID)) { ?> <div class="box box_info box_userinfo_donor_stats"> <div class="head colhead_dark">Donor Statistics</div> <ul class="stats nobullet"> <? if (Donations::is_donor($UserID)) { if (check_perms('users_mod') || $OwnProfile) { ?> <li> Total donor points: <?=Donations::get_total_rank($UserID)?> </li> <? } ?> <li> Current donor rank: <?=self::render_rank(Donations::get_rank($UserID), Donations::get_special_rank($UserID), true)?> </li> <li> Leaderboard position: <?=Donations::get_leaderboard_position($UserID)?> </li> <li> Last donated: <?=time_diff(Donations::get_donation_time($UserID))?> </li> <li> Rank expires: <?=(Donations::get_rank_expiration($UserID))?> </li> <? } else { ?> <li> This user hasn't donated. </li> <? } ?> </ul> </div> <? } } public static function render_profile_rewards($EnabledRewards, $ProfileRewards) { $Text = new Text; for ($i = 1; $i <= 4; $i++) { if (isset($EnabledRewards['HasProfileInfo' . $i]) && $ProfileRewards['ProfileInfo' . $i]) { ?> <div class="box"> <div class="head" style="height: 13px;"> <span style="float: left;"><?=!empty($ProfileRewards['ProfileInfoTitle' . $i]) ? display_str($ProfileRewards['ProfileInfoTitle' . $i]) : "Extra Profile " . ($i + 1)?></span> <span style="float: right;"><a href="#" onclick="$('#profilediv_<?=$i?>').gtoggle(); this.innerHTML = (this.innerHTML == 'Hide' ? 'Show' : 'Hide'); return false;" class="brackets">Hide</a></span> </div> <div class="pad" id="profilediv_<?=$i?>"> <? echo $Text->full_format($ProfileRewards['ProfileInfo' . $i]); ?> </div> </div> <? } } } public static function render_donation_history($DonationHistory) { if (empty($DonationHistory)) { return; } ?> <div class="box box2" id="donation_history_box"> <div class="head"> <a href="#donation_history_box" class="brackets anchor">#</a> Donation History <a href="#" onclick="$('#donation_history').gtoggle(); return false;" class="brackets">View</a> </div> <? $Row = 'b'; ?> <div class="hidden" id="donation_history"> <table cellpadding="6" cellspacing="1" border="0" class="border" width="100%"> <tbody> <tr class="colhead_dark"> <td> <strong>Source</strong> </td> <td> <strong>Date</strong> </td> <td> <strong>Amount (EUR)</strong> </td> <td> <strong>Added Points</strong> </td> <td> <strong>Total Points</strong> </td> <td> <strong>Email</strong> </td> <td style="width: 30%;"> <strong>Reason</strong> </td> </tr> <? foreach ($DonationHistory as $Donation) { ?> <tr class="row<?=$Row?>"> <td> <?=$Donation['Source']?> (<?=Users::format_username($Donation['AddedBy'])?>) </td> <td> <?=$Donation['Time']?> </td> <td> <?=$Donation['Amount']?> </td> <td> <?=$Donation['Rank']?> </td> <td> <?=$Donation['TotalRank']?> </td> <td> <?=$Donation['Email']?> </td> <td> <?=$Donation['Reason']?> </td> </tr> <? $Row = $Row == 'b' ? 'a' : 'b'; } ?> </tbody> </table> </div> </div> <? } public static function render_rank($Rank, $SpecialRank, $ShowOverflow = false) { if ($SpecialRank == 3) { $Display = '∞ [Diamond]'; } else { $CurrentRank = $Rank >= MAX_RANK ? MAX_RANK : $Rank; $Overflow = $Rank - $CurrentRank; $Display = $CurrentRank; if ($Display == 5 || $Display == 6) { $Display--; } if ($ShowOverflow && $Overflow) { $Display .= " (+$Overflow)"; } if ($Rank >= 6) { $Display .= ' [Gold]'; } elseif ($Rank >= 4) { $Display .= ' [Silver]'; } elseif ($Rank >= 3) { $Display .= ' [Bronze]'; } elseif ($Rank >= 2) { $Display .= ' [Copper]'; } elseif ($Rank >= 1) { $Display .= ' [Red]'; } } echo $Display; } }