// ======== (org) onAfterProcess v6.24.2021 / ======== (org) onAfterProcess // get season $targetYearID = {tally_contest_points___season_id}; $targetDivision = {tally_contest_points___division_id}; $seasonDivID = {tally_contest_points___season_div_id}; // get season ID $myDb = JFactory::getDbo(); $myQuery = $myDb->getQuery(true); $myQuery ->select('season_id') ->from('fm_season_bridge') ->where('id = ' . $myDb->quote($targetYearID)); $myDb->setQuery($myQuery); $seasonID = $myDb->loadResult(); // get results based on user selected target division calculation method ------------------------------ START CASE ---------------------------------------------- switch($targetDivision){ case "1" : // NASS *************************** // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.nass_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "2" : // SUFF *************************** // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.suff_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "3" : // NASS OFD // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.nassof_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "4" : // SUFF OFD ************************** // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.suffof_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "5" : // LI OFD ----------------------------------------------------- // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.liof_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "6" : // WNY -------------------------------------------------------------------- // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.wny_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "7" : // NNY // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.nny_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; case "8" : // juniors // get list of all teams in one season that ran in a specific division event $db = FabrikWorker::getDbo (false, 2); $query = $db->getQuery(true); $query->SELECT ('DISTINCT teams.last_name'); $query->FROM ('fm_event_results AS results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND results.time <> ' . $db->quote('') . 'AND projrounds.jr_cm_ = ' . $db->quote(1)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $teamList = $db->loadObjectList(); break; } // --------------------- END CASE ------------------------------------- // create simple array of teams $teamArr = array(); foreach ($teamList as $team) { $teamArr[] = $team->last_name; } // delete all previous contest point entries for this seasonDivID ------------------------ $db = JFactory::getDBO(); $q='DELETE FROM fm_team_contest_points WHERE season_div_id = ' .$db->Quote($seasonDivID); // var_dump($name,$q);exit; $db->setQuery($q); $db->query(); // ---------------------- // create array of team totals foreach ($teamArr as $team) { // get teams and total points $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->SELECT ('team, points'); $query->FROM ('fm_season_team_points'); $query->WHERE ('season_division_id = ' . $db->quote($seasonDivID) ); $db->setQuery($query); $teamTotalsArr = $db->loadObjectList(); // ------------------------------------------------ // get teams contest points $currentTeam = $team; // create event-type array $eventTypeARR = array("1", "4", "7", "6", "2" , "9" , "15" , "5"); // tally each event for this team this season foreach ($eventTypeARR as $eventType) { $db = FabrikWorker::getDbo(false, 2); $query = $db->getQuery(true); $query->SELECT ('results.points'); $query->FROM ('fm_event_results as results'); $query->WHERE ('projects.season_id = ' . $db->quote($seasonID) . 'AND teams.last_name = ' . $db->quote($currentTeam) . 'AND events.cfp = ' . $db->quote('Counts For Points') . 'AND results.points <> ' . $db->quote('') . 'AND etypes.id = ' . $db->quote($eventType)); $query->JOIN ('LEFT', 'world_tracks_events AS events ON (results.event_id = events.id)'); $query->JOIN ('LEFT', 'world_tracks_projects_rounds AS projrounds ON (events.projectround_id = projrounds.id)'); $query->JOIN ('LEFT', 'world_tracks_projects AS projects ON (projrounds.project_id = projects.id)'); $query->JOIN ('LEFT', 'world_tracks_seasons AS seasons ON (projects.season_id = seasons.id)'); $query->JOIN ('LEFT', 'world_tracks_rounds AS rounds ON (projrounds.round_id = rounds.id)'); $query->JOIN ('LEFT', 'world_tracks_eventtypes AS etypes ON (events.type = etypes.id)'); $query->JOIN ('LEFT', 'world_tracks_individuals AS teams ON (results.individual_id = teams.id)'); $db->setQuery($query); $pointsList = $db->loadObjectList(); // create simple array of points $pointsArr = array(); foreach ($pointsList as $points) { $pointsArr[] = $points->points; } // add up all of team's points for this contest $eventPoints = array_sum($pointsArr); // insert team contest points into fm_team_contest_points $db = JFactory::getDBO(); $InsertQuery="INSERT INTO fm_team_contest_points (season_div_id, event_type, team, points) VALUES ('$seasonDivID', '$eventType','$team','$eventPoints')"; $db->setQuery($InsertQuery); $db->query(); } // end for each event type --------------------------------- } // end foreach team

Our Mission

NYS Drill Teams is a professional league of volunteer firefighters from across NY State who compete in firematic competitions. These competitions are geared towards honing basic firefighting proficiencies, developing and fostering teamwork, character-building, commitment, discipline, physical fitness and conditioning. Participation in the league complements each fire department's primary function of emergency response to fires, medical emergencies, and other calamities, while instilling members with a life-long commitment to serving their community as highly skilled volunteer firefighters.

Official Facebook