Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 59 | Revision 65 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

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