fhiiqm/ma_fkt_ed.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 21 Dec 2012 15:31:50 +0100
changeset 33 f1a8785434e4
parent 30 d02d02efc55a
child 40 6f4b105daa24
permissions -rw-r--r--
+ MA-Telefon-Liste, Edit MA, Telefon + Report dezentrale Anlagen + Report MA - Beziehungen

<?php

/**
 * @author Bettina Schwarzer
 * @copyright 2011
 */

    error_reporting(E_ALL ^ E_NOTICE);
    
    session_start();
    if (! isset($_SESSION["userid"]))
    { 
        include_once ("inc/func_lib.inc.php");	
        login($_SERVER["PHP_SELF"]);
        exit;
    }
    
    if (is_null($_SESSION["recht"]) || (!is_null($_SESSION["recht"]) && !in_array("fmr",$_SESSION["recht"]) && !in_array("fme",$_SESSION["recht"])))
    {
        header("Location: start.php");
        exit;
    }    
    
    include_once($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/inc/dbconnect.inc.php");
    include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/func_lib.inc.php");
    if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
    
    $fkt = $_POST["fkt"];
    $fkt["fid"] = $fkt["func"]; // kein autocomplete bei Funktion
    if (!$fkt["pid"]) $fkt["pid"] = $_GET["p"];
//    if (!$fkt["fid"]) $fkt["fid"] = $_GET["f"];
    $mfid = $_GET[i];

    $zeil = $_GET["z"];
    if (!$zeil) $zeil = 25; // Anzahl der gezeigten Zeilen
    $start = $_GET["st"];   // Start bei DS $start+1
    if (!$start) $start=0;
	$sort   = $_GET["s"];   // Sortierung nach Spalte
    $dir    = $_GET["d"];   // Sortierrichtung
    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
    $filter = $_GET["b"];   // Filterbegriff
    // $_GET-Parameter zurück zur Funktionenliste mit den selben Einstellungen wie zuvor
    $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil";
	$ok		= $_POST["ok"];
    $sub    = $_POST["eintragen"];
    $del    = $_POST["del"];

    $dup    = $_POST["dup"];
    if (!$dup) $dup = $_GET["dp"];
    $copy   = $_GET["c"];

    if ($dup)
    {   // Info duplizieren
        $tab = "MA_Funktion";
        $key = "mf_ID";
        $val =  $mfid;
//        $ret=1;
        $ret = duplicate_record ($tab, $key, $val);
        if ($ret)
        {
            $addr = $_SERVER["PHP_SELF"] . "?i=$ret&c=1";
            header("Location: $addr");
            exit;
        }
        else $duptext = " - Fehler beim Duplizieren von ". $fkt["persknr"] . " und " .$fkt["fkt_ID"];
    }    
//    print_r($fkt); echo "<br />";
    
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <link type="text/css" href="/fhiiqm/css/db.css" rel="Stylesheet" media="screen"/>	
    <link type="text/css" href="/fhiiqm/css/db_print.css" rel="Stylesheet" media="print"/>	
<!--
    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness/jquery-ui-1.8.16.custom.css" rel="Stylesheet" />	
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.6.2.min.js"></script>
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.16.custom.min.js"></script>
-->
    <link type="text/css" href="/fhiiqm/css/jquery/ui-lightness-1.8.21/jquery-ui-1.8.21.custom.css" rel="Stylesheet" />	
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="/fhiiqm/js/jquery/jquery-ui-1.8.21.custom.min.js"></script>
    <title>Mitarbeiter - Funktionen</title>
 </head>
 
 <body>

<?php
    echo "&nbsp;";  
    echo "<div class=\"float-br smaller\" valign='top'>";
    echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
    echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
    echo "<div class=\"float-r\"><img src=\"img/reseller_account_template.png\" border=\"0\" alt=\"Mitarbeiter-Funktion\" title=\"Mitarbeiter-Funktion\"/></div>\n";
?>

    <div align='center'>
<!--    <style type="text/css">
        .ui-datepicker {
            font-size: 11px;
            background-color: #AEE7E7
            }
    </style>
-->
    <script>
      $(document).ready(function() {
        $("#persknr").focus();
        $("#persknr").autocomplete({
                source: "/fhiiqm/inc/ma_list_ac.inc.php",
    			minLength: 2,
                select: function(event,ui){$("#pid").val(ui.item.id);}
    		});
/*        $("#func").autocomplete({
                source: "/fhiiqm/inc/fkt_list_ac.inc.php",
    			minLength: 1,
                select: function(event,ui){$("#fid").val(ui.item.id);}
    		});
*/
        $("#von").datepicker({
            dateFormat: 'yy-mm-dd',
            yearRange: '2000:2020',
            changeMonth: true,
			changeYear: true,
            firstDay: 1,
            dayNamesMin: ['So','Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa' ],
            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'] 
        });
        $("#bis").datepicker({
            dateFormat: 'yy-mm-dd',
            yearRange: '2000:2025',
            changeMonth: true,
			changeYear: true,
            firstDay: 1,
            dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
            monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'] 
        });
//        $("input[id='filter']").addClass("long50");
        });
    </script>
    
    <?php
        if ($copy) $duptext = " (Kopie)"; else $duptext = "";
        echo "<h3>Zuordnung von Funktionen zu Mitarbeitern$duptext<h3>";
        
        echo "</div>\n";    
        
        if (!$ok || (!isset($fkt) && !$fkt) || !$fkt["pid"] || !$fkt["fid"] || (!$sub && !$del)) 
        {
            if ($mfid && !$fkt["fid"])
            {
                $sql = "SELECT ma.persknr, fkt_bereich, fkt_von, fkt_bis, fkt_bem, CONCAT(nachname,', ',vorname) AS vname, fkt_bez, ma.fkt_ID  
                        FROM fhiiqm.MA_Funktion ma INNER JOIN 
                        fhiiqm.Mitarbeiter m ON ma.persknr=m.persknr INNER JOIN
                        fhiiqm.Funktion f ON ma.fkt_ID=f.fkt_ID
                        WHERE mf_ID = $mfid";
                if ($result = $dbc -> queryObjectArray($sql))
                {
                    foreach ($result as $row)
                    {
                        $fkt["pid"] = $row->persknr;
                        $fkt["persknr"] = $row->vname;
//                        $fkt["func"] = $row->fkt_bez;     // nur wenn autocomplete fuer Funktion genutzt wird
                        $fkt["func"] = $row->fkt_ID;
                        $fkt["ber"] = $row->fkt_bereich;
                        $fkt["von"] = $row->fkt_von;
                        $fkt["bis"] = $row->fkt_bis;
                        $fkt["bem"] = $row->fkt_bem;
                    } 
                }
            }
            include ($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/ma_fkt_form.inc.php");     
        }
        else
        {
            // Daten Loeschen, speichern
            echo "<div align='center'>\n";
            
            if ($del)
            {
                $sql="DELETE FROM MA_Funktion WHERE mf_ID=$mfid";
                $resd = $dbc -> execute($sql);
                if ($resd) echo "<p class='green'><b>DELETE: Daten  zu '".$fkt["persknr"]."' und '".$fkt["func"]."' wurde erfolgreich gel&ouml;scht.</b></p>\n";
                else echo "<p class='red'><b>DELETE: Daten  zu '".$fkt["persknr"]."' und '".$fkt["func"]."' konnten nicht gel&ouml;scht werden.</b></p>\n";
            }
            else
            {
                // Eingabedaten validieren
                if (!$fkt["von"])
                    $fvon = null;
                elseif (!$fvon = new DateTime_s($fkt["von"])) 
                    $fvon = null;
                if (!$fkt["bis"])
                    $fbis = null;
                elseif (!$fbis = new DateTime_s($fkt["bis"])) 
                    $fbis = null;
                if ($fkt["ber"]) $fkt["ber"] = substr($fkt["ber"],0,50); else $fkt["ber"]=null;
                if ($fkt["bem"]) $fkt["bem"] = substr($fkt["bem"],0,100); else $fkt["bem"]=null;
    /*
                echo "MA = ".$fkt["pid"] ." - ". $fkt["persknr"] . ", Funktion= ".$fkt["fid"] ." - ".  $fkt["func"] . ", Bereich = " . $fkt["ber"] . 
                        ", von = ".$fkt["von"] .", bis = ".$fkt["bis"] .", bem = ".$fkt["bem"] ."<br />\n";
                echo "fvon = $fvon, fbis = $fbis<br />\n";
    */            
                if ($fkt["pid"] && $fkt["fid"])
                {
                    $sql="SELECT COUNT(*) FROM MA_Funktion WHERE persknr=" . $fkt["pid"] . " AND fkt_ID='" . $fkt["fid"] ."'";
                    $result = $dbc ->querySingleItem($sql);
                    if ($result || $mfid)
                    {   // UPDATE
                        $stmt = $dbc -> stmtinit();
                        if (is_object($stmt))
                        {
                            $stmt -> prepare("UPDATE fhiiqm.MA_Funktion SET
                                        persknr = ?,
                                        fkt_ID = ?,
                                        fkt_bereich = ?,
                                        fkt_von = ?,
                                        fkt_bis = ?,
                                        fkt_bem = ? 
                                        WHERE mf_ID = $mfid");
                            $stmt -> bind_param('isssss',$fkt["pid"],$fkt["fid"],$fkt["ber"], $fvon, $fbis, $fkt["bem"]);
                            $res = $stmt -> execute();
    //                            print_r($stmt);
                            if ($stmt->error) echo "error: " . $stmt->errno." -> ".$stmt->error . "<br><br>\n";
                            if ($res)
                                echo "<p class='green'><b>UPDATE: Daten  zu '".$fkt["persknr"]."' und '".$fkt["func"]."' wurde erfolgreich gespeichert.</b></p>\n";
                            else
                                echo "<p class='red'><b>UPDATE: Daten  zu '".$fkt["persknr"]."' und '".$fkt["func"]."' konnte nicht gespeichert werden!</b></p>\n";
                       }
                    }
                    else
                    {   // INSERT
                            $stmt = $dbc -> stmtinit();
                        if (is_object($stmt))
                        {
                            $stmt -> prepare("INSERT INTO fhiiqm.MA_Funktion (persknr,fkt_ID,fkt_bereich,fkt_von,fkt_bis,fkt_bem) VALUES(?,?,?,?,?,?)");
                            $stmt -> bind_param('isssss',$fkt["pid"],$fkt["fid"],$fkt["ber"], $fvon, $fbis, $fkt["bem"]);
                            $res = $stmt -> execute();
                            if ($stmt->error) echo "error: " . $stmt->errno." -> ".$stmt->error . "<br><br>\n";
                            if ($res)
                                echo "<p class='green'><b>INSERT: Zuordnung  von '".$fkt["func"]."' zu '".$fkt["persknr"]."' wurde erfolgreich gespeichert.</b></p>\n";
                            else
                                echo "<p class='red'><b>INSERT: Zuordnung  von '".$fkt["func"]."' zu '".$fkt["persknr"]."' konnte nicht gespeichert werden!</b></p>\n";
                        }
                        
                    }
                }
            }
        echo "</div>\n";    
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_fkt_flist.php?$getp\" target=\"_self\" title=\"Funktionen\">Zur Funktionenliste</a></p>\n";    
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"ma_fkt_ed.php\" target=\"_self\" title=\"Funktion erfassen\">Weitere Funktion erfassen</a></p>\n";    
        }   
    ?>

 </body>
 </html>