$date = gmdate('Y-m-d');
    //Bug 33.4 - Extended params array to default to season for current user
    $objParams = array('end_time' => array('type' => 'query', 'query' => "> '{$date}'"), 'left_join' => array('type' => 'left_join', 'join_table' => '#__jtips_users', 'lhs_table' => '#__jtips_seasons', 'lhs_key' => 'id', 'rhs_table' => '#__jtips_users', 'rhs_key' => 'season_id'));
    if (isset($jTipsUser->user_id) and !empty($jTipsUser->user_id)) {
        $objParams['#__jtips_users.user_id'] = $jTipsUser->user_id;
    }
    $jSeasons = forceArray($jSeason->loadByParams($objParams));
    if (count($jSeasons) > 0) {
        $jSeason =& array_shift($jSeasons);
    }
}
$jRound = new jRound($database);
$round_id = $jSeason->getCurrentRound();
$jRound->load($round_id);
if ($jRound->scored == 0) {
    $prev_round_id = $jSeason->getLastRound();
    $prev_round = new jRound($database);
    $prev_round->load($prev_round_id);
    $jRound =& $prev_round;
    $load_round = $prev_round_id;
} else {
    $load_round = $jRound->id;
}
$jHistory = new jHistory($database);
$jTipsUsers = $jHistory->getLadder($jTips['NumDefault'], $load_round);
?>
<table width='100%' cellspacing="0">
	<thead>
		<tr class='sectiontableheader jtableheader'>
		<th>#</th>
		<th><?php 
Exemple #2
0
 function getLadder($num_to_show, $round_id, $page = 0, $field = 'rank', $dir = 'asc')
 {
     global $database;
     $debug_args = func_get_args();
     jTipsLogger::_log('jHistory: getLadder: ' . implode(', ', $debug_args));
     if ($round_id === FALSE) {
         $jSeason = new jSeason($database);
         $round_id = $jSeason->getLastRound();
     }
     if ($dir != 'asc' and $dir != 'desc') {
         $dir = 'desc';
     }
     if ($field == 'pointst') {
         $field = 'rank';
     }
     if ($field == 'prect') {
         return $this->getOverallLadder($num_to_show, $round_id, $page, $field, $dir);
     } else {
         if ($field == 'user') {
             return $this->getNameLadder($num_to_show, $round_id, $page, $dir);
         } else {
             if ($field == 'comment') {
                 return $this->getCommentLadder($num_to_show, $round_id, $page, $dir);
             }
         }
     }
     if ($field == 'prec') {
         $field = 'precision';
     }
     $params = array('round_id' => $round_id, 'join_jtips_users' => array('type' => 'join', 'join_table' => '#__jtips_users', 'lhs_table' => '#__jtips_history', 'lhs_key' => 'user_id', 'rhs_table' => '#__jtips_users', 'rhs_key' => 'id'), 'join_users' => array('type' => 'join', 'join_table' => '#__users', 'lhs_table' => '#__jtips_users', 'lhs_key' => 'user_id', 'rhs_table' => '#__users', 'rhs_key' => 'id'), 'o2' => array('type' => 'order', 'by' => $field, 'direction' => "{$dir}"));
     $offset = $page * $num_to_show;
     jTipsLogger::_log("USER LADDER PAGINATION - OFFSET: {$offset}. PAGE: {$page}. NUMTOSHOW: {$num_to_show}", 'DEBUG');
     $jHistories = forceArray($this->loadByParams($params, $num_to_show, $offset, true));
     $users = array();
     foreach ($jHistories as $history) {
         $jTipsUser = new jTipsUser($database);
         $jTipsUser->load($history->user_id);
         array_push($users, $jTipsUser);
     }
     return $users;
 }
Exemple #3
0
 function getRank($round_id = FALSE)
 {
     global $database;
     $jHistory = new jHistory($database);
     if ($round_id === FALSE) {
         $jSeason = new jSeason($database);
         $jSeason->load($this->season_id);
         $round_id = $jSeason->getLastRound();
     }
     $params = array('user_id' => $this->id, 'round_id' => $round_id);
     $jHistory->loadByParams($params);
     return $jHistory->rank;
 }
Exemple #4
0
function getSummaryDetail(&$jTipsUser, $col)
{
    global $database, $jTips, $jLang, $mosConfig_live_site;
    $Itemid = jTipsGetParam($_REQUEST, 'Itemid', '');
    $jSeason = new jSeason($database);
    $jSeason->load($jTipsUser->season_id);
    switch ($col) {
        case 'season':
            return $jSeason->name;
            break;
        case 'rank':
            $rank = $jTipsUser->getRank();
            if (empty($rank)) {
                return "N/A";
            } else {
                return $rank . " / " . $jTipsUser->getTotalUsers();
            }
            break;
        case 'score':
            return $jTipsUser->getTotalScore('points');
            break;
        case 'average':
            $jRound = new jRound($database);
            $jRound->load($jSeason->getLastRound());
            $round = $jRound->round ? $jRound->round : 1;
            return round($jTipsUser->getTotalScore('points') / $round, 1);
            break;
        case 'precision':
            return $jTipsUser->getTotalScore('precision');
            break;
        case 'projected':
            $jRound = new jRound($database);
            $jRound->load($jSeason->getLatestRound());
            $round = $jRound->round ? $jRound->round : 1;
            $average = $jTipsUser->getTotalScore('points') / $round;
            return round($average * $jSeason->rounds, 1);
            break;
        case 'doubleup':
            return "<img src='{$mosConfig_live_site}/administrator/images/" . ($jTipsUser->doubleup > 0 ? "publish_x.png' title='" . $jLang['_COM_DASH_ROUND'] . " " . $jTipsUser->doubleup . "'" : "tick.png' />");
            break;
        case 'paid':
            global $Itemid;
            if ($jTips['Payments'] == 'paypal' and !$jTipsUser->paid) {
                $sid = $jSeason->id;
                if (!$sid) {
                    $sid = getSeasonID();
                }
                return parsePayPalCode($jTips['PayPal'], 'join', $sid);
            } else {
                if ($jTips['Payments'] == 'manual' and !$jTipsUser->paid) {
                    return "<img src='{$mosConfig_live_site}/administrator/images/publish_x.png' />";
                } else {
                    if ($jTips['Payments'] and $jTipsUser->paid) {
                        $confirm_unsub = 'return confirm("' . $jLang['_COM_UNSUBLINK_PART1'] . ' ' . $jSeason->name . ' ' . $jLang['_COM_UNSUBLINK_PART2'] . '");';
                        return "<div style='text-align:center;'>\n\t\t\t\t\t\t\t<img src='{$mosConfig_live_site}/administrator/images/tick.png' alt='Paid' border='0' />\n\t\t\t\t\t\t\t<!-- br />\n\t\t\t\t\t\t\t<a href='" . jTipsRoute("index.php?option=com_jtips&Itemid={$Itemid}&view=Dashboard&action=remove&season={$jSeason->id}") . "' onclick='" . $confirm_unsub . "'>" . $jLang['_COM_UNSUBSCRIBE'] . "</a -->\n\t\t\t\t\t\t</div>";
                    } else {
                        return "-";
                    }
                }
            }
            /*if ($jTips['Payments'] == 'paypal') {
            			if (!$jTipsUser->paid) {
            				return parsePayPalCode($jTips['PayPal'], 'join', $jSeason->id);
            			} else {
            				$confirm_unsub = 'return confirm("' . $jLang['_COM_UNSUBLINK_PART1'] . ' ' . $jSeason->name . ' ' . $jLang['_COM_UNSUBLINK_PART2'] . '");';
            				return "<div style='text-align:center;'>
            							<img src='$mosConfig_live_site/administrator/images/tick.png' alt='Paid' border='0' />
            							<br />
            							<a href='" .jTipsRoute("index.php?option=com_jtips&Itemid=$Itemid&view=Dashboard&action=remove&season={$jSeason->id}"). "' onclick='" .$confirm_unsub ."'>" .$jLang['_COM_UNSUBSCRIBE']. "</a>
            						</div>";
            			}
            		} else if ($jTips['Payments'] == 'manual') {
            			return "<img src='$mosConfig_live_site/administrator/images/" .($jTipsUser->paid == 1 ? "tick.png" : "publish_x.png"). "' />";
            		} else {
            			return "-";
            		}*/
            break;
        default:
            return "-";
            break;
    }
}