function getMatches($numberofmatches, $projectid, $teamid, $selectiondate, $ordering = 'DESC', $round = 0, $matchstatus, $bUseFavteams)
 {
     $result = array();
     $query_SELECT = ' SELECT matches.*, r.roundcode as roundcode, r.id as roundid, r.name as roundname, "dummy", ' . ' jl.name AS project_name, ' . ' t1.name AS home_name, ' . ' t1.middle_name AS home_middlename, ' . ' t1.short_name AS home_shortname, ' . ' t2.name AS away_name, ' . ' t2.middle_name AS away_middlename, ' . ' t2.short_name AS away_shortname, ' . ' c1.logo_small AS home_icon, ' . ' c2.logo_small AS away_icon, ' . ' t1.id AS team1_id, ' . ' t2.id AS team2_id, ' . ' jl.id AS project_id, ' . ' matches.id AS match_id, ' . ' pt1.division_id ';
     $query_FROM = ' FROM #__joomleague_match AS matches ' . ' INNER JOIN #__joomleague_project_team AS pt1 ON pt1.id = matches.projectteam1_id ' . ' INNER JOIN #__joomleague_project_team AS pt2 ON pt2.id = matches.projectteam2_id ' . ' INNER JOIN #__joomleague_team AS t1 ON pt1.team_id = t1.id ' . ' INNER JOIN #__joomleague_team AS t2 ON pt2.team_id = t2.id ' . ' INNER JOIN #__joomleague_round AS r ON matches.round_id = r.id ' . ' INNER JOIN #__joomleague_project AS jl ON pt1.project_id = jl.id ' . ' INNER JOIN #__joomleague_club AS c1 ON c1.id = t1.club_id ' . ' INNER JOIN #__joomleague_club AS c2 ON c2.id = t2.club_id ';
     $query_WHERE = " WHERE matches.published=1 ";
     switch ($matchstatus) {
         case 0:
             $query_WHERE .= " AND matches.match_date >=  STR_TO_DATE('" . $selectiondate . "', '%Y-%m-%d-%H:%i') ";
             $query_WHERE .= " AND ( matches.match_date + INTERVAL (jl.game_regular_time+jl.halftime*(jl.game_parts-1)) MINUTE ) < NOW() ";
             break;
         case 1:
             $query_WHERE .= " AND ( matches.match_date BETWEEN  STR_TO_DATE('" . $selectiondate . "', '%Y-%m-%d-%H:%i') AND NOW() ) ";
             break;
         case 2:
             $query_WHERE .= " AND ( matches.match_date + INTERVAL (jl.game_regular_time+jl.halftime*(jl.game_parts-1)) MINUTE ) >= NOW() ";
             break;
         case 3:
             $query_WHERE .= " AND matches.match_date >= NOW() ";
             break;
         case 4:
             $query_WHERE .= " AND matches.match_date >= STR_TO_DATE('" . $selectiondate . "', '%Y-%m-%d-%H:%i')";
             break;
     }
     if ($round != 0) {
         $query_WHERE .= " AND r.id = {$round}";
     }
     if ($projectid != -1 && $projectid != '') {
         if (count($projectid) > 1 || is_array($projectid)) {
             $projects = implode(",", $projectid);
         } else {
             $projects = $projectid;
         }
         $query_WHERE .= " AND pt1.project_id IN (" . $projects . ")";
     }
     if ($teamid != -1 && $teamid != '' && is_array($teamid)) {
         if ($teamid[0] != "") {
             if (count($teamid) > 1 || is_array($teamid)) {
                 $teams = implode(",", $teamid);
             } else {
                 $teams = $teamid;
             }
             $query_WHERE .= " AND (pt1.team_id IN (" . $teams . ")";
             $query_WHERE .= " OR pt2.team_id IN (" . $teams . "))";
         }
     }
     if ($bUseFavteams) {
         $teams = modJoomleagueTickerHelper::getFavs($projectid);
         $query_WHERE .= " AND (pt1.team_id IN (" . $teams . ")";
         $query_WHERE .= " OR pt2.team_id IN (" . $teams . "))";
     }
     $query_END = " ORDER BY matches.match_date {$ordering}, matches.match_number\n\t\t\t\t\t\t\t\tDESC LIMIT " . $numberofmatches;
     $database = JFactory::getDBO();
     $database->setQuery($query_SELECT . $query_FROM . $query_WHERE . $query_END);
     $result = $database->loadObjectList();
     return $result;
 }