Subversion-Projekte lars-tiefland.em_wm

Revision

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