<?php
require_once(WCF_DIR.'lib/action/AbstractAction.class.php');

/**
 * Löscht eine Saison
 *
 * @author		Markus Gerdelmann
 * @copyright	2007/2008 MDMAN
 * @license 	GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
 * @package		de.mdman.racing.league
 */

class RacingLeagueDeleteSaisonAction extends AbstractAction {
	
	public $saisonID = 0;
	public $ID = 0;

	public function execute() {
	parent::execute();
	
		if (isset($_REQUEST["saisonID"]))		$this->saisonID = intval($_REQUEST["saisonID"]);

		// hier wird eine Saison gelöscht
		if ($this->saisonID > 0) {
			$sql = "DELETE FROM `wcf".WCF_N."_racing_settings`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			$res = WCF::getDB()->sendQuery($sql);
			$row = WCF::getDB()->getAffectedRows($res);

			$sql = "DELETE FROM `wcf".WCF_N."_racing_group`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);

			$sql = "DELETE FROM `wcf".WCF_N."_racing_points`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
			
			$sql = "DELETE FROM `wcf".WCF_N."_racing_teams`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);

			$sql = "DELETE FROM `wcf".WCF_N."_racing_user_to_team`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
			
			$sql = "DELETE FROM `wcf".WCF_N."_racing_races`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
		
			$sql = "DELETE FROM `wcf".WCF_N."_racing_results`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
			
			$sql = "DELETE FROM `wcf".WCF_N."_racing_results_team`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
			
			$sql = "DELETE FROM `wcf".WCF_N."_racing_punish`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);
			
			$sql = "DELETE FROM `wcf".WCF_N."_racing_punish_to_team`
					WHERE `saisonID` = '".escapeString($this->saisonID)."'
					";			
			WCF::getDB()->sendQuery($sql);

			if (WCF::getSession()->getVar('activeSaisonID') == $this->saisonID) {
				WCF::getSession()->unregister('activeSaisonID');
		
				$sql = "SELECT *
						FROM `wcf".WCF_N."_racing_settings`
						ORDER BY `saisonID` ASC
						";
				$row = WCF::getDB()->getFirstRow($sql);
				$this->ID = $row["saisonID"];
			}
			
			if ($row > 0) {				
				WCF::getTPL()->append('userMessages', WCF::getTPL()->fetch('racingLeagueDeleteSuccess'));
			}
			else {
				WCF::getTPL()->append('userMessages', WCF::getTPL()->fetch('racingLeagueDeleteError'));
			}
			
			// Hier wird wieder eine Saison aktivert.
			if ($this->ID != 0) {
			WCF::getSession()->register('activeSaisonID', $this->ID);
			}												
		}	

		$this->executed();
		
		HeaderUtil::redirect('index.php?form=RacingLeagueSaisons'.SID_ARG_2ND_NOT_ENCODED);
		exit;
	}
}
?>