Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 74 | Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
68 lars 1
<?
2
	define("IN_ADMIN", true);
3
	require("include/common.php");
4
	$mode=($_POST["mode"])?$_POST["mode"]:"new";
5
	$id=intval(($_POST["id"])?$_POST["id"]:0);
6
	$g_m1=intval(($_POST["g_m1"])?$_POST["g_m1"]:0);
7
	$g_m2=intval(($_POST["g_m2"])?$_POST["g_m2"]:0);
8
	$g_g1=intval(($_POST["g_g1"])?$_POST["g_g1"]:0);
9
	$g_g2=intval(($_POST["g_g2"])?$_POST["g_g2"]:0);
10
	$g_location=intval(($_POST["g_location"])?$_POST["g_location"]:0);
11
	$g_type=intval(($_POST["g_typ"])?$_POST["g_typ"]:-1);
12
	$g_name=addslashes(($_POST["g_name"])?$_POST["g_name"]:"");
13
	$month=intval(($_POST["Month"])?$_POST["Month"]:-1);
14
	$day=intval(($_POST["Day"])?$_POST["Day"]:-1);
15
	$hour=intval(($_POST["Hour"])?$_POST["Hour"]:-1);
16
	$g=Spiele::listSpiele(0,0);
17
	$g_anz=$g->numRows();
18
	$g_max=2*$config->groups*$config->teams_per_group;
19
	if ($hour >=0 AND $day > 0 AND $month > 0)
20
	{
21
		$g_date=mktime($hour, 0, 0, $month, $day, 2006);
22
	}
23
	if ($g_anz>=$g_max && $mode=="new")
24
	{
25
		$smarty->assign("meld","Ein Fehler ist aufgetreten!");
26
		$smarty->assign("db_meld","In dieser $config->type sind nur $g_max Spiele zulässig!");
27
		$smarty->assign("error",true);
28
		$smarty->display("meld.tpl");
29
		exit;
30
	}
31
	$smarty->assign("mode", $mode);
32
	$smarty->assign("id", $id);
33
	$a=User_login(true);
34
	if ($a->getAuth())
35
	{
36
		if($u->u_type!=1 && $mode!="edit")
37
		{
38
			$meld="Ein Fehler ist aufgetreten!";
39
			$db_meld="Nur Administratoren haben Zugriff auf diese Funktion!";
40
			$smarty->assign("meld", $meld);
41
			$smarty->assign("db_meld", $db_meld);
42
			$smarty->assign("error", true);
43
			$smarty->display("meld.tpl");
44
			exit;
45
		}
46
		$game=new Spiele($id);
47
		$t=new Typ($g_type);
48
		$sql_t="SELECT count(*) AS anzahl FROM games WHERE g_type=$g_type";
49
		$res_t=$db->query($sql_t);
50
		$row_t=$res_t->fetchRow();
51
		$anz=$row_t["anzahl"];
52
		if ($mode=="save" || $mode=="update")
53
		{
54
			$game->update($g_name, $g_m1, $g_m2, $g_g1, $g_g2, $g_location, $g_date, $g_type);
55
		}
56
 
57
		function fill_form()
58
		{
59
			global $db, $smarty, $id, $new_mode, $g_date, $title, $game;
60
			$t_namen[]="Bitte wählen!";
61
			$t_ids[]=-1;
62
			$typ_namen[]="Bitte wählen!";
63
			$typ_ids[]=-1;
64
			$l_namen[]="Bitte wählen!";
65
			$l_ids[]=-1;
66
			$g_l=Gruppe::listeGruppe(0,0);
67
			while($row_g=$g_l->fetchRow())
68
			{
69
				$g_id=$row_g["g_id"];
70
				$g_name=$row_g["g_name"];
71
				$t_namen[]="---------- Gruppe $g_name ----------";
72
				$t_ids[]=-1;
73
				$sql_t="SELECT * FROM teams WHERE t_group=$g_id";
74
				$t_l=$db->query($sql_t);
75
				while ($row_t=$t_l->fetchRow())
76
				{
77
					$t_name=$row_t["t_name"];
78
					$t_aus=$row_t["t_aus"];
79
					$t_id=$row_t["t_id"];
80
					$t_namen[]=$t_name;
81
					$t_ids[]=$t_id;
82
				}
83
			}
84
			$l_l=Ort::listeOrt(0,0);
85
			while ($row_l=$l_l->fetchRow())
86
			{
87
				$l_name=$row_l["l_name"];
88
				$l_id=$row_l["l_id"];
89
				$l_namen[]=$l_name;
90
				$l_ids[]=$l_id;
91
			}
92
			$typ_l=Typ::listeTyp(0,0);
93
			while ($row_typ=$typ_l->fetchRow())
94
			{
95
				$typ_name=$row_typ["t_name"];
96
				$typ_id=$row_typ["t_id"];
97
				$typ_namen[]=$typ_name;
98
				$typ_ids[]=$typ_id;
99
			}
100
			$smarty->assign("id", $id);
101
			$smarty->assign("g_date", (!($g_date))?$game->g_date:$g_date);
102
			$smarty->assign("g_name", ($game->g_name));
103
			$smarty->assign("akt_typ_id", $game->g_type);
104
			$smarty->assign("akt_m1_id", $game->g_m1);
105
			$smarty->assign("akt_m2_id", $game->g_m2);
106
			$smarty->assign("akt_l_id", $game->g_location);
107
			$smarty->assign("g_g1", $game->g_g1);
108
			$smarty->assign("g_g2", $game->g_g2);
109
			$smarty->assign("t_namen", $t_namen);
110
			$smarty->assign("t_ids", $t_ids);
111
			$smarty->assign("typ_namen", $typ_namen);
112
			$smarty->assign("typ_ids", $typ_ids);
113
			$smarty->assign("l_ids", $l_ids);
114
			$smarty->assign("l_namen", $l_namen);
115
			$smarty->assign("mode", $new_mode);
116
			$smarty->assign("title", $title);
117
			$smarty->assign("extra", ($new_mode=="save")?"disabled=\"disabled\"":"");
118
			$smarty->display("edit_games.tpl");
119
		}
120
 
121
		switch ($mode)
122
		{
123
			case "edit":
124
				$title="Spiel $id ändern";
125
				$new_mode="update";
126
				break;
127
			case "new":
128
				$title="neues Spiel eingeben";
129
				$new_mode="save";
130
				break;
131
			case "delete":
132
			case "ask":
133
				$title="Spiel $id löschen";
134
				$new_mode="delete";
135
				break;
136
			case "save":
137
				$title="neues Spiel speichern";
138
				$new_mode="save";
139
				break;
140
			case "update":
141
				$title="Spiel $id speichern";
142
				$new_mode="update";
143
				break;
144
		}
145
		if ($mode=="edit" OR $mode=="new")
146
		{
147
			fill_form();
148
		}
149
		else
150
		{
151
			switch ($mode)
152
			{
153
				case "save":
154
				case "delete":
155
				case "update":
156
					if (!checkdate($month, $day, $config->year))
157
					{
158
						$meld="Ein Fehler ist aufgetreten!";
159
						$db_meld="$day.$month.$config->year ist kein gültiges Datum!";
160
						$error=true;
161
						$smarty->assign("db_meld", $db_meld);
162
						$smarty->assign("error", $error);
163
						$smarty->assign("meld", $meld);
164
						fill_form();
165
					}
166
					else
167
					{
168
						if (($mode=="save" && $anz >=$t->t_max) || ($mode=="update" && $anz>$t->t_max))
169
						{
170
								$meld="Ein Fehler ist aufgetreten!";
171
								$db_meld="Es kann nur $t->t_max Spiele vom Typ \"$t->t_name\" geben! Bitte den Typ oder ein vorhandenes Spiel ändern!";
172
							$error=true;
173
							$smarty->assign("db_meld", $db_meld);
174
							$smarty->assign("error", $error);
175
							$smarty->assign("meld", $meld);
176
							fill_form();
177
						}
178
						else
179
						{
180
							$res=$game->save($mode);
181
							if (true == DB::isError($res))
182
							{
183
								$smarty->assign("meld", "Ein Fehler ist aufgetreten!");
184
								$smarty->assign("db_meld", $res->getUserInfo());
185
								$smarty->assign("error", true);
186
							}
187
							else
188
							{
189
								if ($mode=="save")
190
								{
191
									$akt="hinzugefügt";
192
								}
193
								elseif ($mode=="update")
194
								{
195
									$akt="geändert";
196
								}
197
								else
198
								{
199
									$akt="gelöscht";
200
								}
201
								$smarty->assign("title", $title);
202
								$smarty->assign("meld", "Datensatz erfolgreich $akt!");
203
								$smarty->assign("db_meld", "");
204
								$smarty->assign("error", false);
205
								if ($mode=="update")
206
								{
207
									if ($game->g_type!=4)
208
									{
209
										if($game->g_g1 < $game->g_g2)
210
										{
211
											$m_id=$game->g_m1;
212
										}
213
										else
214
										{
215
											$m_id=$game->g_m2;
216
										}
217
										$sql="UPDATE teams SET t_aus='$game->g_type' WHERE t_id=$m_id";
218
										$res=$db->query($sql);
219
										if(DB::isError($res))
220
										{
221
											$smarty->assign("meld", "Ein Fehler ist aufgetreten!");
222
											$smarty->assign("db_meld", $db->getUserInfo);
223
											$smarty->assign("error", true);
224
										}
225
									}
226
								}
227
							}
228
							$smarty->display("meld.tpl");
229
						}
230
					}
231
					break;
232
				case "ask":
233
					$smarty->assign("title", $title);
234
					$smarty->assign("art", "Spiel");
235
					$smarty->assign("id", $id);
236
					$smarty->assign("name",$game->g_name);
237
					$smarty->display("del.tpl");
238
					break;
239
				default:
240
					$smarty->assign("title", $title);
241
					$smarty->assign("meld","Ein Fehler ist aufgetreten!");
242
					$smarty->assign("db_meld", "Ungültiger Modsu!");
243
					$smarty->assign("error", true);
244
					$smarty->display("meld.tpl");
245
			}
246
		}
247
	}
248
?>