Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 33 | Revision 38 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?
        define("IN_ADMIN", true);
        require("include/common.php");
        $mode=isset($_POST["mode"])?$_POST["mode"]:"";
        $id=intval(isset($_POST["id"])?$_POST["id"]:0);
        $g_m1=intval(isset($_POST["g_m1"])?$_POST["g_m1"]:-1);
        $g_m2=intval(isset($_POST["g_m2"])?$_POST["g_m2"]:-1);
        $g_g1=intval(isset($_POST["g_g1"])?$_POST["g_g1"]:-1);
        $g_g2=intval(isset($_POST["g_g2"])?$_POST["g_g2"]:-1);
        $g_location=intval(isset($_POST["g_location"])?$_POST["g_location"]:-1);
        $g_type=intval(isset($_POST["g_typ"])?$_POST["g_typ"]:-1);
        $g_name=addslashes(isset($_POST["g_name"])?$_POST["g_name"]:"");
        $month=intval(isset($_POST["Month"])?$_POST["Month"]:-1);
        $day=intval(isset($_POST["Day"])?$_POST["Day"]:-1);
        $hour=intval(isset($_POST["Hour"])?$_POST["Hour"]:-1);
        $game=new Spiele($id);
        $t=new Typ($g_type);
        $sql_t="SELECT count(*) AS anzahl FROM games WHERE g_type=$g_type";
        $res_t=$db->query($sql_t);
        $row_t=$res_t->fetchRow(DB_FETCHMODE_ASSOC);
        $anz=$row_t["anzahl"];
        if ($hour >=0 AND $day > 0 AND $month > 0)
        {
                $g_date=mktime($hour, 0, 0, $month, $day, 2006);
        }
        function fill_form()
        {
                global $db, $smarty, $id, $new_mode, $g_date, $title, $game;
                $t_namen[]="Bitte wählen!";
                $t_ids[]=-1;
                $typ_namen[]="Bitte wählen!";
                $typ_ids[]=-1;
                $l_namen[]="Bitte wählen!";
                $l_ids[]=-1;
                $g_l=Gruppe::listeGruppe(0,0);
                while($row_g=$g_l->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $g_id=$row_g["g_id"];
                        $g_name=$row_g["g_name"];
                        $t_namen[]="---------- Gruppe $g_name ----------";
                        $t_ids[]=-1;
                        $sql_t="SELECT * FROM teams WHERE t_group=$g_id";
                        $t_l=$db->query($sql_t);
                        while ($row_t=$t_l->fetchRow(DB_FETCHMODE_ASSOC))
                        {
                                $t_name=$row_t["t_name"];
                                $t_id=$row_t["t_id"];
                                $t_namen[]=$t_name;
                                $t_ids[]=$t_id;
                        }
                }
                $l_l=Ort::listeOrt(0,0);
                while ($row_l=$l_l->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $l_name=$row_l["l_name"];
                        $l_id=$row_l["l_id"];
                        $l_namen[]=$l_name;
                        $l_ids[]=$l_id;
                }
                $typ_l=Typ::listeTyp(0,0);
                while ($row_typ=$typ_l->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $typ_name=$row_typ["t_name"];
                        $typ_id=$row_typ["t_id"];
                        $typ_namen[]=$typ_name;
                        $typ_ids[]=$typ_id;
                }
                $smarty->assign("id", $id);
                $smarty->assign("g_date", (!isset($g_date))?$game->g_date:$g_date);
                $smarty->assign("g_name", ($game->g_name));
                $smarty->assign("akt_typ_id", $game->g_type);
                $smarty->assign("akt_m1_id", $game->g_m1);
                $smarty->assign("akt_m2_id", $game->g_m2);
                $smarty->assign("akt_l_id", $game->g_location);
                $smarty->assign("g_g1", $game->g_g1);
                $smarty->assign("g_g2", $game->g_g2);
                $smarty->assign("t_namen", $t_namen);
                $smarty->assign("t_ids", $t_ids);
                $smarty->assign("typ_namen", $typ_namen);
                $smarty->assign("typ_ids", $typ_ids);
                $smarty->assign("l_ids", $l_ids);
                $smarty->assign("l_namen", $l_namen);
                $smarty->assign("mode", $new_mode);
                $smarty->assign("title", $title);
                $smarty->display("edit_games.tpl");
        }
        
        switch ($mode)
        {
                case "edit":
                        $title="Spiel $id ändern";
                        $new_mode="update";
                        break;
                case "new":
                        $title="neues Spiel eingeben";
                        $new_mode="save";
                        break;
                case "del":
                case "ask":
                        $title="Spiel $id löschen";
                        $new_mode="update";
                        break;
                case "save":
                        $title="neues Spiel speichern";
                        $new_mode="update";
                        break;
                case "update":
                        $title="Spiel $id speichern";
                        $new_mode="update";
                        break;
        }
        if ($mode=="edit" OR $mode=="new")
        {
                fill_form();
        }
        else
        {
                switch ($mode)
                {
                        case "save":
                        case "del":
                        case "update":
                                if (!checkdate($month, $day, $config->year))
                                {
                                        $meld="Ein Fehler ist aufgetreten!";
                                        $db_meld="$day.$month.$config->year ist kein gültiges Datum!";
                                        $error=true;
                                        $smarty->assign("db_meld", $db_meld);
                                        $smarty->assign("error", $error);
                                        $smarty->assign("meld", $meld);
                                        fill_form();
                                }
                                else
                                {
                                        if ($mode=="save" && $anz>=$t->t_max)
                                        {
                                                $meld="Ein Fehler ist aufgetreten!";
                                                $db_meld="Es kann nur $t->t_max Spiele vom Typ \"$t->t_name\" geben! Bitte den Typ oder ein vorhandenes Spiel ändern!";
                                                $error=true;
                                                $smarty->assign("db_meld", $db_meld);
                                                $smarty->assign("error", $error);
                                                $smarty->assign("meld", $meld);
                                                fill_form();
                                        }
                                        else
                                        {
                                                $g=new Spiele($id);
                                                $g->update($g_name, $g_m1, $g_m2, $g_g1, $g_g2, $g_location, $g_date, $g_type);
                                                $res=$g->save($mode);
                                                if (true == DB::isError($res))
                                                {
                                                        $smarty->assign("meld", "Ein Fehler ist aufgetreten!");
                                                        $smarty->assign("db_meld", $res->getUserInfo());
                                                        $smarty->assign("error", true);
                                                }
                                                else
                                                {
                                                        if ($mode=="save")
                                                        {
                                                                $akt="hinzugefügt";
                                                        }
                                                        elseif ($mode=="update")
                                                        {
                                                                $akt="geändert";
                                                        }
                                                        else
                                                        {
                                                                $akt="gelöscht";
                                                        }
                                                        $smarty->assign("meld", "Datensatz erfolgreich $akt!");
                                                        $smarty->assign("db_meld", "");
                                                        $smarty->assign("error", false);
                                                }
                                                $smarty->display("meld.tpl");
                                        }
                                }
                                break;
                        case "ask":
                                $smarty->assign("title", $title);
                                $smarty->assign("art", "Spiel");
                                $smarty->assign("id", $id);
                                $smarty->assign("name",$game->g_name);
                                $smarty->display("del.tpl");
                                break;
                        default:
                                $smarty->assign("meld","Ein Fehler ist aufgetreten!");
                                $smarty->assign("db_meld", "Ungültiger Modsu!");
                                $smarty->assign("error", true);
                                $smarty->display("meld.tpl");
                }
        }
?>