data); if (isset($game_all_line_picks_percentage[$nid])) { $do_calculations = FALSE; } } //$do_calculations = TRUE; if ($do_calculations) { // go over all picks, select ones pertaining to the game, average them Win = 1, Loss = 2. $sql = "SELECT p.field_linepick_value FROM {content_type_pick} p WHERE field_game_nid = %d AND field_line_value IS NOT NULL"; $result = db_query($sql, $nid); $num_rows = 0; $total = 0; while($data = db_fetch_object($result)) { if ($data->field_linepick_value == 1 || $data->field_linepick_value == 2) { $num_rows += 1; } if ($data->field_linepick_value == 2) { $total += 1; } } if ($num_rows == 0) { $game_all_line_picks_percentage[$nid] = array('percentage' => '-1', 'num_picks' => '0', 'team2' => '0'); } else { $game_all_line_picks_percentage[$nid] = array('percentage' => round(100*$total/$num_rows), 'num_picks' => $num_rows, 'team2' => $total); } cache_set('propicks_game_all_line_picks_percentage', 'cache_propicks', serialize($game_all_line_picks_percentage)); } return $game_all_line_picks_percentage[$nid]; } /* * get all straight picks percentage */ function propicks_get_game_straight_picks_percentage($nid, $reset = FALSE) { static $game_straight_picks_percentage = array(); if ($reset) { unset($game_straight_picks_percentage); cache_clear_all('propicks_game_straight_picks_percentage', 'cache_propicks' , FALSE); } $do_calculations = TRUE; if (isset($game_straight_picks_percentage[$nid])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_game_straight_picks_percentage', 'cache_propicks'); $game_straight_picks_percentage = unserialize($cache->data); if (isset($game_straight_picks_percentage[$nid])) { $do_calculations = FALSE; } } //$do_calculations = TRUE; if ($do_calculations) { $sql = "SELECT p.field_win_loss_value FROM {content_type_pick} p WHERE field_game_nid = %d AND field_win_loss_value IS NOT NULL AND field_win_loss_value != 0 "; $result = db_query($sql, $nid); $num_rows = 0; $total = 0; while($data = db_fetch_object($result)) { if ($data->field_win_loss_value == 1 || $data->field_win_loss_value == 2) { $num_rows += 1; } if ($data->field_win_loss_value == 2) { $total += 1; } } if ($num_rows == 0) { $game_straight_picks_percentage[$nid] = array('percentage' => '-1', 'num_picks' => '0'); } else { $game_straight_picks_percentage[$nid] = array('percentage' => round(100*$total/$num_rows), 'num_picks' => $num_rows); } cache_set('propicks_game_straight_picks_percentage', 'cache_propicks', serialize($game_straight_picks_percentage)); } return $game_straight_picks_percentage[$nid]; } /* * get an average line for a game */ function propicks_get_game_average_line($nid, $reset = FALSE) { static $games_average_line = array(); if ($reset) { unset($games_average_line); cache_clear_all('propicks', 'cache_propicks' , TRUE); } $do_calculations = TRUE; if (isset($games_average_line[$nid])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_games_average_line', 'cache_propicks'); $games_average_line = unserialize($cache->data); if (isset($games_average_line[$nid])) { $do_calculations = FALSE; } } if ($do_calculations) { $sql = "SELECT p.field_line_value FROM {content_type_pick} p WHERE field_game_nid = %d AND field_line_value IS NOT NULL GROUP BY field_line_value"; $result = db_query($sql, $nid); $lines = array(); while($data = db_fetch_object($result)) { $lines[] = $data->field_line_value; } if (count($lines) != 0) { $average = array_sum($lines)/count($lines); $games_average_line[$nid] = round($average*2)/2; } else { $games_average_line[$nid] = NULL; } cache_set('propicks_games_average_line', 'cache_propicks', serialize($games_average_line)); } return $games_average_line[$nid]; } /* * return a number with + or - sign in front of it */ function propicks_number_with_sign($number, $picked_team = NULL) { if ($picked_team == NULL || $picked_team == '2') { if ($number > 0) { return '+' . $number; } else { return $number; } } elseif ($picked_team == '1') { return propicks_number_with_sign(-$number); } } /* * returns a list of picks for a game and the playing team */ function propicks_get_game_picks($gid, $team = 1) { $sql = "SELECT p.field_win_loss_value, p.field_analyst_uid, p.field_line_value FROM {content_type_pick} p WHERE field_game_nid = %d AND field_win_loss_value = %d"; $result = db_query($sql, $gid, $team); $picks = array(); while($data = db_fetch_object($result)) { $analyst = user_load(array('uid' => $data->field_analyst_uid)); $picks['pick'][] = $data ; $pick['analyst'][] = array('first_name' => $analyst->profile_first_name, 'last_name' => $analyst->profile_last_name, 'organization' => $analyst->profile_organization); } return $picks; } function propicks_get_game_comments($nid, $reset = FALSE) { static $game_comments = array(); if ($reset) { unset($game_comments ); cache_clear_all('propicks', 'cache_propicks' , TRUE); } // determine whether we should do calculations $do_calculations = TRUE; if (isset($game_comments[$nid])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_game_comments', 'cache_propicks'); $game_comments = unserialize($cache->data); if (isset($game_comments[$nid])) { $do_calculations = FALSE; } } if ($do_calculations) { $sql = "SELECT p.field_comment_value, p.field_analyst_uid, p.field_win_loss_value, p.field_line_value, p.field_linepick_value FROM {content_type_pick} p WHERE field_game_nid = %d "; $result = db_query($sql, $nid); $comments = array(); while($data = db_fetch_object($result)) { if ($data->field_comment_value) { $comments[] = $data; } } $game_comments[$nid] = $comments; cache_set('propicks_game_comments', 'cache_propicks', serialize($game_comments)); } return $game_comments[$nid]; } function propicks_get_team_name_by_pick($pick_win_loss, $game, $reset = FALSE) { static $team_name = array(); if ($reset) { unset($team_name); } $do_calculations = TRUE; if ($pick_win_loss == '1') { $nid = $game->field_team_1['0']['nid']; } elseif ($pick_win_loss == '2') { $nid = $game->field_team_2['0']['nid']; } if (isset($team_name[$nid])) { // if data is in var, don't do calculations $do_calculations = FALSE; } if ($do_calculations) { $team_name[$nid] = db_result(db_query("SELECT n.title FROM {node} n WHERE nid = %d ", $nid)); } return $team_name[$nid]; } function propicks_get_analysts_all_picks($uid, $reset = FALSE) { static $analysts_all_picks = array(); if ($reset) { unset($analysts_all_picks); cache_clear_all('propicks', 'cache_propicks' , TRUE); } // determine whether we should do calculations $do_calculations = TRUE; if (isset($analysts_all_picks[$uid])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_analysts_all_picks', 'cache_propicks'); $analysts_all_picks = unserialize($cache->data); if (isset($analysts_all_picks[$uid])) { $do_calculations = FALSE; } } //$do_calculations = TRUE; if ($do_calculations) { $picks = array(); $sql = "SELECT * FROM {content_type_pick} p WHERE field_analyst_uid = %d ORDER BY field_game_nid DESC"; $result = db_query($sql, $uid); $team = array(); while($data = db_fetch_object($result)) { $game = node_load($data->field_game_nid); $team['1'] = node_load($game->field_team_1['0']['nid']); $team['2'] = node_load($game->field_team_2['0']['nid']); if ($data->field_win_loss_value == '1') { $picked_team = $team['1']->title; } elseif ($data->field_win_loss_value == '2') { $picked_team = $team['2']->title; } else { $picked_team = 'N/A'; } if ($data->field_linepick_value == '1') { $picked_team_vs_spread = $team['1']->title; } elseif ($data->field_linepick_value == '2') { $picked_team_vs_spread = $team['2']->title; } elseif ($data->field_linepick_value == '3') { $picked_team_vs_spread = t('TIE'); } else { $picked_team_vs_spread = 'N/A'; } $picks[] = array( 'pick_id' => $data->nid, 'date' => date("M j Y, g:i", $game->field_datestamp_0['0']['value']), 'game' => l($team['1']->title . ' @ ' . $team['2']->title, "node/" . $data->field_game_nid, NULL,NULL,NULL,NULL,FALSE), 'score' => $game->field_score1['0']['value'] . ' - ' . $game->field_score2['0']['value'] , 'line' => $data->field_line_value, 'picked_team' => $picked_team, 'picked_team_vs_spread' => $picked_team_vs_spread, ); } $analysts_all_picks[$uid] = $picks; cache_set('propicks_analysts_all_picks', 'cache_propicks', serialize($analysts_all_picks)); } return $analysts_all_picks[$uid]; } function propicks_get_analyst_accuracy_straight($uid, $date = NULL, $reset = FALSE) { static $users_accuracy; if ($reset) { unset($users_accuracy); cache_clear_all('propicks', 'cache_propicks' , TRUE); } if ($date == NULL) { $date_index = date("Y-m-d", strtotime('+2 days', strtotime("+1 day" . "last Tuesday", time()))); $date_unix = time(); } else { $date_index = date("Y-m-d", strtotime('+2 days', strtotime("+1 day" . "last Tuesday", $date))); $date_unix = $date; } // determine whether we should do calculations $do_calculations = TRUE; if (isset($users_accuracy[$uid][$date_index])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_users_accuracy', 'cache_propicks'); $users_accuracy = unserialize($cache->data); if (isset($users_accuracy[$uid][$date_index])) { $do_calculations = FALSE; } } if ($do_calculations) { $num_counted_picks = 0; $correct = 0; //$sql = "SELECT p.nid FROM {content_type_pick} p WHERE p.field_analyst_uid = %d AND field_win_loss_value IS NOT NULL"; $sql = "SELECT p.nid, g.field_datestamp_0_value FROM {content_type_pick} p LEFT JOIN {content_type_game} g ON p.field_game_nid = g.nid WHERE p.field_analyst_uid = %d AND field_win_loss_value IS NOT NULL"; $result = db_query($sql, $uid); while($data = db_fetch_object($result)) { if ($data->field_datestamp_0_value <= $date_unix) { $num_counted_picks += 1; $pick_correct = propicks_is_pick_correct($data->nid); if ($pick_correct == 1) { $correct += 1; } if ($pick_correct == -1) { $num_counted_picks -= 1; } } } if ($num_counted_picks == '0') { $percentage = '0'; } else { $percentage = round(100*$correct/$num_counted_picks); } $users_accuracy[$uid][$date_index] = array( 'num_counted_picks' => $num_counted_picks, 'percentage' => $percentage, 'correct' => $correct, 'incorrect' => $num_counted_picks - $correct, ); cache_set('propicks_users_accuracy', 'cache_propicks', serialize($users_accuracy)); } return $users_accuracy[$uid][$date_index]; } function propicks_get_analyst_accuracy_vs_spread($uid, $date = NULL, $reset = FALSE) { static $users_accuracy_vs_spread; if ($reset) { unset($users_accuracy_vs_spread); cache_clear_all('propicks', 'cache_propicks' , TRUE); } if ($date == NULL) { $date_index = date("Y-m-d", strtotime('+2 days', strtotime("+1 day" . "last Tuesday", time()))); $date_unix = time(); } else { $date_index = date("Y-m-d", strtotime('+2 days', strtotime("+1 day" . "last Tuesday", $date))); $date_unix = $date; } // determine whether we should do calculations $do_calculations = TRUE; if (isset($users_accuracy_vs_spread[$uid][$date_index])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_users_accuracy_vs_spread', 'cache_propicks'); $users_accuracy_vs_spread = unserialize($cache->data); if (isset($users_accuracy_vs_spread[$uid][$date_index])) { $do_calculations = FALSE; } } if ($do_calculations) { $num_counted_picks = 0; $correct = 0; //$sql = "SELECT p.nid FROM {content_type_pick} p WHERE p.field_analyst_uid = %d AND field_linepick_value IS NOT NULL"; $sql = "SELECT p.nid, g.field_datestamp_0_value FROM {content_type_pick} p LEFT JOIN {content_type_game} g ON p.field_game_nid = g.nid WHERE p.field_analyst_uid = %d AND field_linepick_value IS NOT NULL"; $result = db_query($sql, $uid); while($data = db_fetch_object($result)) { if ($data->field_datestamp_0_value <= $date_unix) { $num_counted_picks += 1; $pick_correct = propicks_is_pick_correct_vs_spread($data->nid); if ($pick_correct == 1) { $correct += 1; } if ($pick_correct == -1) { $num_counted_picks -= 1; } } } if ($num_counted_picks == '0') { $percentage = '0'; } else { $percentage = round(100*$correct/$num_counted_picks); } $users_accuracy_vs_spread[$uid][$date_index] = array( 'num_counted_picks' => $num_counted_picks, 'percentage' => $percentage, 'correct' => $correct, 'incorrect' => $num_counted_picks - $correct, ); cache_set('propicks_users_accuracy_vs_spread', 'cache_propicks', serialize($users_accuracy_vs_spread)); } return $users_accuracy_vs_spread[$uid][$date_index]; } /** * Determine whether a given pick is correct * returns * +1 if correct * 0 if incorrect * -1 if not available */ function propicks_is_pick_correct($pick_id, $reset = FALSE) { static $pick_accuracy = array(); if ($reset) { unset($pick_accuracy); cache_clear_all('propicks', 'cache_propicks' , TRUE); } // determine whether we should do calculations $do_calculations = TRUE; if (isset($pick_accuracy[$pick_id])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_pick_accuracy', 'cache_propicks'); $pick_accuracy = unserialize($cache->data); if (isset($pick_accuracy[$pick_id])) { $do_calculations = FALSE; } } if ($do_calculations) { $data = db_fetch_object(db_query("SELECT p.field_game_nid, p.field_win_loss_value, g.field_score1_value, g.field_score2_value FROM {content_type_pick} p LEFT JOIN {content_type_game} g ON p.field_game_nid = g.nid WHERE p.nid = %d", $pick_id)); if (!$data->field_win_loss_value) { $pick_accuracy[$pick_id] = '-1'; cache_set('propicks_pick_accuracy', 'cache_propicks', serialize($pick_accuracy)); return $pick_accuracy[$pick_id]; } if ($data->field_score1_value == NULL || $data->field_score2_value == NULL) { $pick_accuracy[$pick_id] = '-1'; cache_set('propicks_pick_accuracy', 'cache_propicks', serialize($pick_accuracy)); return $pick_accuracy[$pick_id]; } if ($data->field_win_loss_value == 2) { if ($data->field_score2_value - $data->field_score1_value > 0 ) { $pick_accuracy[$pick_id] = '1'; cache_set('propicks_pick_accuracy', 'cache_propicks', serialize($pick_accuracy)); return $pick_accuracy[$pick_id]; } } if ($data->field_win_loss_value == 1) { if ($data->field_score1_value - $data->field_score2_value > 0 ) { $pick_accuracy[$pick_id] = '1'; cache_set('propicks_pick_accuracy', 'cache_propicks', serialize($pick_accuracy)); return $pick_accuracy[$pick_id]; } } $pick_accuracy[$pick_id] = '0'; cache_set('propicks_pick_accuracy', 'cache_propicks', serialize($pick_accuracy)); return $pick_accuracy[$pick_id]; } else { return $pick_accuracy[$pick_id]; } } function propicks_is_pick_correct_vs_spread($pick_id, $reset = FALSE) { static $pick_accuracy_vs_spread = array(); if ($reset) { unset($pick_accuracy_vs_spread); cache_clear_all('propicks', 'cache_propicks' , TRUE); } // determine whether we should do calculations $do_calculations = TRUE; if (isset($pick_accuracy_vs_spread[$pick_id])) { // if data is in var, don't do calculations $do_calculations = FALSE; } else { // if data is in cache, don't do calculations $cache = cache_get('propicks_pick_accuracy_vs_spread', 'cache_propicks'); $pick_accuracy_vs_spread = unserialize($cache->data); if (isset($pick_accuracy_vs_spread[$pick_id])) { $do_calculations = FALSE; } } if ($do_calculations) { $data = db_fetch_object(db_query("SELECT p.field_game_nid, p.field_line_value, p.field_linepick_value, g.field_score1_value, g.field_score2_value FROM {content_type_pick} p LEFT JOIN {content_type_game} g ON p.field_game_nid = g.nid WHERE p.nid = %d", $pick_id)); //$pick = node_load($pick_id); //$game = node_load($pick->field_game['0']['nid']); if (!$data->field_linepick_value) { $pick_accuracy_vs_spread[$pick_id] = '-1'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } if ($data->field_score1_value == NULL || $data->field_score2_value == NULL) { $pick_accuracy_vs_spread[$pick_id] = '-1'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } if ($data->field_linepick_value == 2) { if ($data->field_score2_value - $data->field_score1_value + $data->field_line_value > 0 ) { $pick_accuracy_vs_spread[$pick_id] = '1'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } } if ($data->field_linepick_value == 1) { if ($data->field_score1_value - $data->field_score2_value - $data->field_line_value > 0 ) { $pick_accuracy_vs_spread[$pick_id] = '1'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } } if (( ( $data->field_linepick_value == 2 && $data->field_score2_value- $data->field_score1_value + $data->field_line_value == 0 ) || ( $data->field_linepick_value == 1 && $data->field_score1_value- $data->field_score2_value - $data->field_line_value == 0 ) )) { $pick_accuracy_vs_spread[$pick_id] = '-1'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } $pick_accuracy_vs_spread[$pick_id] = '0'; cache_set('propicks_pick_accuracy_vs_spread', 'cache_propicks', serialize($pick_accuracy_vs_spread)); return $pick_accuracy_vs_spread[$pick_id]; } else { return $pick_accuracy_vs_spread[$pick_id]; } } function propicks_clear_cache_all() { cache_clear_all('propicks', 'cache_propicks' , TRUE); drupal_set_message(t('All cache for module propicks is cleared')); print theme("page", $output); } function _propicks_array_remove_value($val, &$arr){ $i=array_search($val,$arr); if($i===false)return false; $arr=array_merge(array_slice($arr, 0,$i), array_slice($arr, $i+1)); return true; } /* * returns all percentages by line */ function propicks_get_pick_percentage_by_line($gid, $sort = 'lines') { //calculate aggregate picks for now, later, all aggregates will be retrived from saved variables later // go over all picks, select ones pertaining to the game, average them Win = 1, Loss = 2. $sql = "SELECT p.field_linepick_value, p.field_line_value FROM {content_type_pick} p WHERE field_game_nid = %d AND field_linepick_value IS NOT NULL AND field_linepick_value != '0' AND field_line_value IS NOT NULL "; $result = db_query($sql, $gid); $num_picks = array(); $total = array(); while($data = db_fetch_object($result)) { if (!array_key_exists($data->field_line_value, $num_picks)) { $num_picks[$data->field_line_value] = 1; if ($data->field_linepick_value == 2) { $total[$data->field_line_value] = 1; } else { $total[$data->field_line_value] = 0; } } else { $num_picks[$data->field_line_value] = $num_picks[$data->field_line_value] + 1; if ($data->field_linepick_value == 2) { $total[$data->field_line_value] = $total[$data->field_line_value] + 1; } } } if ($sort == 'num_picks') { asort($num_picks); } if ($sort == 'lines') { ksort($num_picks); } $rows = array(); foreach ($num_picks as $key => $row) { $rows[] = array('line' => $key, 'for_home_team' => $total[$key], 'total_picks' => $num_picks[$key]); } return $rows; } function propicks_get_top_analysts($date = NULL, $pick_type = 'straight', $num = 10) { $sql = "SELECT DISTINCT p.field_analyst_uid FROM {content_type_pick} p"; $result = db_query($sql); $analysts = array(); while($data = db_fetch_object($result)) { if ($pick_type == 'straight') { $accuracy = propicks_get_analyst_accuracy_straight($data->field_analyst_uid, $date); } else { $accuracy = propicks_get_analyst_accuracy_vs_spread($data->field_analyst_uid, $date); } if ($accuracy['num_counted_picks'] > 30) { $analysts[$data->field_analyst_uid] = array( 'accuracy' => $accuracy['percentage'], 'num_picks' => $accuracy['num_counted_picks'], 'correct' => $accuracy['correct'], 'incorrect' => $accuracy['incorrect'], 'uid' => $data->field_analyst_uid ); } } asort($analysts); $a = array(); for ( $i = 0; $i < $num; $i += 1) { $a[] = array_pop($analysts); } return $a; } function propicks_get_analyst_game_straight_pick($analyst_uid, $game_nid) { return db_result(db_query("SELECT p.field_win_loss_value FROM {content_type_pick} p WHERE field_analyst_uid = %d AND field_game_nid = %d AND field_win_loss_value IS NOT NULL AND field_win_loss_value != 0 ", $analyst_uid, $game_nid)); } function propicks_get_analyst_game_line_pick($analyst_uid, $game_nid) { return db_fetch_object(db_query("SELECT p.field_linepick_value, p.field_line_value FROM {content_type_pick} p WHERE field_analyst_uid = %d AND field_game_nid = %d AND field_linepick_value IS NOT NULL AND field_linepick_value != 0 ", $analyst_uid, $game_nid)); } function propicks_game_all_picks_page() { $output = ''; // check arg to be a game ID, if not, return not found if (!is_numeric(arg(1))) { return drupal_not_found(); } $game = node_load(arg(1)); $team1 = node_load($game->field_team_1['0']['nid']); $team2 = node_load($game->field_team_2['0']['nid']); if ($game->type != 'game') { return drupal_not_found(); } if ($game->field_score1['0']['value'] != NULL && $game->field_score2['0']['value'] != NULL) { $score1 = $game->field_score1['0']['value']; $score2 = $game->field_score2['0']['value']; } else { $score1 = NULL; $score2 = NULL; } $overall_percentage_straight = propicks_get_game_straight_picks_percentage($game->nid); $overall_percentage_line = propicks_get_game_all_line_picks_percentage($game->nid); $output .= '
';
$home_team_tick = NULL;
}
elseif ($data->field_win_loss_value == '2') {
$visitor_team_tick = NULL;
$home_team_tick = '
';
}
else {
$visitor_team_tick = NULL;
$home_team_tick = NULL;
}
if ($data->field_linepick_value == '1') {
$visitor_team_tick_line = '
';
$home_team_tick_line = NULL;
}
elseif ($data->field_linepick_value == '2') {
$visitor_team_tick_line = NULL;
$home_team_tick_line = '
';
}
else {
$visitor_team_tick_line = NULL;
$home_team_tick_line = NULL;
}
$row[] = array('data' => $analyst_accuracy['percentage'], 'align' => 'center');
$row[] = array('data' => $analyst_accuracy_vs_spread['percentage'], 'align' => 'center');
$row[] = array('data' => l($analyst->profile_first_name . ' ' . $analyst->profile_last_name, "expert/" . $data->field_analyst_uid, NULL,NULL,NULL,NULL,FALSE) );
$row[] = array('data' => $analyst->profile_organization);
$row[] = array('data' => $visitor_team_tick, 'align' => 'center');
$row[] = array('data' => $home_team_tick, 'align' => 'center');
$row[] = array('data' => $data->field_line_value);
$row[] = array('data' => $visitor_team_tick_line, 'align' => 'center');
$row[] = array('data' => $home_team_tick_line, 'align' => 'center');
$rows[] = $row;
}
drupal_add_js($directory . '/jquery.tablesorter.min.js');
drupal_add_js($directory . '/my_table_sort.js');
$output .= '