Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 54 | Revision 66 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?
        define("IN_ADMIN", true);
        require("include/common.php");
        $mode=($_POST["mode"])?$_POST["mode"]:"new";
        $id=intval(($_POST["id"])?$_POST["id"]:0);
        $g_name=addslashes(($_POST["g_name"])?$_POST["g_name"]:"");
        $g=Gruppe::listeGruppe(0,0);
        $g_anz=$g->numRows();
        $g_max=$config->groups;
        switch ($mode)
        {
                case "edit":
                        $title="Gruppe $id ändern";
                        $new_mode="update";
                        break;
                case "new":
                        $title="neue Gruppe eingeben";
                        $new_mode="save";
                        break;
                case "delete":
                case "ask":
                        $title="Gruppe $id löschen";
                        $new_mode="delete";
                        break;
                case "save":
                        $title="neue Gruppe speichern";
                        $new_mode="save";
                        break;
                case "update":
                        $title="Gruppe $id speichern";
                        $new_mode="update";
                        break;
        }
        $smarty->assign("title", $title);
        $smarty->assign("mode", $mode);
        $smarty->assign("id", $id);
        $a=User_login(true);
        if ($a->getAuth())
        {
                if($u->u_type!=1 && $mode!="edit")
                {
                        $meld="Ein Fehler ist aufgetreten!";
                        $db_meld="Nur Administratoren haben Zugriff auf diese Funktion!";
                        $smarty->assign("meld", $meld);
                        $smarty->assign("db_meld", $db_meld);
                        $smarty->assign("error", true);
                        $smarty->display("meld.tpl");
                        exit;   
                }
                if ($g_anz>=$g_max && $mode=="new")
                {
                        $smarty->assign("meld","Ein Fehler ist aufgetreten!");
                        $smarty->assign("db_meld","In dieser $config->type sind nur $g_max Gruppen zulässig!");
                        $smarty->assign("error",true);
                        $smarty->display("meld.tpl");
                        exit;
                }
                $gruppe=new Gruppe($id);
                if ($mode=="save" || $mode=="update")
                {
                        $gruppe->update($g_name);
                }
                
                function fill_form()
                {
                        global $db, $smarty, $id, $new_mode, $title, $gruppe;
                        $smarty->assign("id", $id);
                        $smarty->assign("g_name", $gruppe->g_name);
                        $smarty->assign("mode", $new_mode);
                        $smarty->display("edit_groups.tpl");
                }
        
                if ($mode=="edit" OR $mode=="new")
                {
                        fill_form();
                }
                else
                {
                        switch ($mode)
                        {
                                case "save":
                                case "delete":
                                case "update":
                                        $res=$gruppe->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";
                                                }
                                                $logger->info("Gruppe $gruppe->g_name erfolgreich $akt");
                                                $smarty->assign("meld", "Datensatz erfolgreich $akt!");
                                                $smarty->assign("db_meld", "");
                                                $smarty->assign("error", false);
                                                $smarty->assign("save",($mode=="save")?true:false);
                                                $smarty->assign("upd",($mode!="save")?true:false);
                                                $smarty->assign("weiter",($mode=="save")?"eine weitere Gruppe eingeben":"eine weitere Gruppe ändern/löschen");
                                                $smarty->assign("script", "liste_groups.php");
                                        }
                                        $smarty->display("meld.tpl");
                                        break;
                                case "ask":
                                        $smarty->assign("title", $title);
                                        $smarty->assign("art", "Gruppe");
                                        $smarty->assign("id", $id);
                                        $smarty->assign("name",$gruppe->g_name);
                                        $smarty->display("del.tpl");
                                        break;
                                default:
                                        $smarty->assign("meld","Ein Fehler ist aufgetreten!");
                                        $smarty->assign("db_meld", "Ungültiger Modus!");
                                        $smarty->assign("error", true);
                                        $smarty->display("meld.tpl");
                        }
                }
        }
?>