fhiiqm/tel_ed.php
author Bettina Schwarzer <schwarzer@fhi-berlin.mpg.de>
Fri, 16 Nov 2012 10:40:03 +0100
changeset 32 c2d325791e24
child 33 f1a8785434e4
permissions -rw-r--r--
+ Mitarbeiter - Telefon

<?php

/**
 * @author Bettina Schwarzer, Fritz-Haber-Institut
 * @copyright 11/2012
 * 
 * Edit Telefon
 */

    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");
	if (!isset($dbc) || !$dbc) $dbc = new dbconnection();

    $sub = $_POST["eintragen"];
    $del = $_POST["del"];
    $tf  = $_POST["tf"];
    $okn = $_POST["okn"];
    $ok  = $_POST["ok"];
    if (!$okn) $ok=0;
    $tid = urldecode($_GET["i"]); // Telefon

	$sort   = $_GET["s"];   // Sortierung nach Spalte
    $dir    = $_GET["d"];   // Sortierrichtung
    $fnum   = $_GET["f"];   // Spaltennummer, nach der aktuell gefiltert wird
    $filter =  $_GET["b"];  // Filterbegriff 
    $zeil = $_GET["z"];     // Anzahl der gezeigten Zeilen
    $start = $_GET["st"];   // Start bei DS $start+1
    $getp = "s=$sort&d=$dir&f=$fnum&b=$filter&st=$start&z=$zeil"; // Parameter Listenanzeige
    
//    print_r ($tf); echo ", i= $tid<br />sub = $sub<br /><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 href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/> 
   	<link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/> 
	<title>Telefon bearbeiten</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/group.png\" border=\"0\" alt=\"Mitarbeiter bearbeiten\" title=\"Mitarbeiter bearbeiten\"/></div>\n";

    if ($tid) $text = "editieren"; else $text = "erfassen";
    echo "<div align=\"center\">";
    echo "<h3>Telefon $text</h3>";
    echo "</div>\n";
    if ((!$sub && !$del) || !$ok) 
    {
        
        if ($tid && (!$sub || !$del) && !isset($tf))
        {
            $sql = "SELECT telefon_nr, telefon_typ, raum_ID FROM Telefon WHERE telefon_nr='$tid'";
            if ($result = $dbc -> queryObjectArray($sql))
            {
                foreach ($result as $row)
                {
                    $tf['tel'] = $row->telefon_nr;
                    $tf['typ'] = $row->telefon_typ;
                    $tf['raum'] = $row->raum_ID;
                }    
            }
            // Haus
            if ($tf['raum'])
            {
                $sql = "SELECT geb_ID FROM Raum 
                        WHERE raum_ID = " . $tf['raum']; 
                $tf['geb'] = $dbc -> querySingleItem($sql);
            }   
        }
        $okn = true;
        if (!$tf) $tf['geb'] = 'A';
?>
        <div align="center">
        <h5>* - Felder sind erforderlich!</h5>
        </div>
        <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post" enctype="application/x-www-form-urlencoded" name="form_ma">
        <div align="center"> 
        <table width="60%" border="0" cellspacing="3" cellpadding="3">
        	<tr>
        	   <td>Telefon *</td>
        	   <td><input name="tf[tel]" type="text" size="30" maxlength="30" value="<?php echo $tf['tel']; ?>" />
                <?php
        			     if (isset($tf['tel']) && $tf['tel']<'!')
        				{
        					echo "<br><span class=\"red\">Telefon-Nummer ist erforderlich!</span>\n";
        					$okn = false;
        				}
                ?>
                </td>
            </tr>
        	<tr>
        	   <td>Telefontyp *</td>
        	   <td><select name="tf[typ]">
                <?php
                	$sql = "SHOW COLUMNS FROM Telefon WHERE Field = 'telefon_typ'";
                	if ($result = $dbc->queryRow($sql))
                	{ 
                		foreach ($result as $row)
                			$arr=explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$row[1]));
                		foreach ($arr as $typ)
                		{
                			if ($typ == $tf["typ"])
                				echo "<option selected value=\"$typ\">$typ</option>\n";
                			else
                				echo "<option value=\"$typ\">$typ</option>\n";
                		}
                	}
                ?>
                    </select>
                </td>
            </tr>
            <tr><td>Ort</td>
                <td valign="top">Haus&nbsp;
                     <select name="tf[geb]" onchange="this.form.submit();">
                    <?php 
                        if ($tf['geb'] == -1) $select = " selected "; else $select = "";
                        echo "<option $select value=\"-1\"></option>\n";
                        $sql = "SELECT geb_ID, geb_name FROM `fhiiqm`.`Haus` ORDER BY 1";
                        if ($result = $dbc->queryObjectArray($sql))
                        {
                            foreach ($result as $row)
                            {
                                if ($row->geb_ID == $tf['geb'])
            					   echo "<option selected value=\"$row->geb_ID\">$row->geb_ID: $row->geb_name</option>\n";
            				    else
            					   echo "<option value=\"$row->geb_ID\">$row->geb_ID: $row->geb_name</option>\n";
                            }
                    }
                    ?>
                    </select>
                    &nbsp;&nbsp;Raum&nbsp;            
                     <select name="tf[raum]">
                    <?php 
                        if ($tf['raum'] == -1) $select = " selected "; else $select = "";
                        echo "<option $select value=\"-1\"></option>\n";
                        $sql = "SELECT raum_ID, raum_nr, raum_name FROM `fhiiqm`.`Raum` WHERE geb_ID='" . $tf['geb'] ."' ORDER BY 2";
                        if ($result = $dbc->queryObjectArray($sql))
                        {
                            foreach ($result as $row)
                            {
                                if ($row->raum_ID == $tf['raum'])
            					   echo "<option selected value=\"$row->raum_ID\">$row->raum_nr $row->raum_name</option>\n";
            				    else
            					   echo "<option value=\"$row->raum_ID\">$row->raum_nr $row->raum_name</option>\n";
                            }
                    }
                    ?>
                    </select>
                </td>
            </tr>
                <input type="hidden" name="okn" value="<?php echo $okn; ?>" />

<?php
	  	if ($sub || $del)
        {
		  	if ($sub)
                $frage = "Alle Angaben ok?";
            elseif ($del)
                $frage = "Telefon wirklich l&ouml;schen?";
			echo "<tr>
			  <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
			        <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
			        if ($ok)  echo "checked=\"checked\""; 
			echo " /></td>\n</tr>\n";
        }
        if (!is_null($_SESSION["recht"]) && in_array("fme",$_SESSION["recht"]))
        {
            echo "
           	<tr><td>&nbsp;</td>\n
            	<td><input  class=\"button\" type=\"submit\" name=\"eintragen\" value=\"  eintragen  \" />";
            if ($tid)
            {
                echo "&nbsp;&nbsp;&nbsp;<input class=\"buttonr\" type=\"submit\" value=\"l&ouml;schen\" name=\"del\" title=\"delete\" />";
//                echo "&nbsp;&nbsp;&nbsp;<input class=\"button\" type=\"submit\" value=\"duplizieren\" name=\"dup\" title=\"delete\" />";
            }    
           	echo "</td></tr>\n";
        }
        echo "</table>\n";
        echo "</div>\n";
    echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"tel_flist.php?$getp\" target=\"_self\" title=\"Telefon-Liste\">&laquo; zur Telefon-Liste</a></p>\n"; 
    echo "</form>\n";
    }
    else
    {
        echo "<div align='center'>\n";
        
        if ($del)
        {   // Telefon-Nr. auch in MA_Telefon loeschen 
            $sql = "DELETE FROM Telefon WHERE telefon_nr ='$tid'";
            $retdi = $dbc -> execute($sql);
            if ($retdi)
            {
                echo "<p class='green'><b>DELETE: TelefonNr. '".$tf["tel"] ."' wurde erfolgreich gel&ouml;scht (auch die Mitarbeiterzuordnung).</b></p>\n";
            }                
            else
            {
                echo "<p class='red'><b>DELETE: TelefonNr. '".$tf["tel"] ."' konnte nicht gel&ouml;scht werden!</b></p>\n";
                echo "sql = $sql<br />";
                echo "error DELETE: " . $dbc->error . "<br />";
            }
            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/tel_dat_show.inc.php");
        }
        else //INSERT oder UPDATE
        {
            $stmt = $dbc -> stmtinit();
            if (is_object($stmt))
            {
                if ($tf["raum"] == "-1") $tf["raum"] = 'NULL'; 
                if ($tid) //UPDATE
                {
                    $stmt -> prepare("UPDATE Telefon SET
                                        telefon_nr = ?, 
                                        telefon_typ = ?,
                                        raum_ID = ?
                                        WHERE telefon_nr = '$tid'");
                    $stmt -> bind_param('sss',$tf["tel"],$tf["typ"],$tf["raum"]);
                    $result = $stmt -> execute();
                    if ($stmt->error) echo "error UPDATE Telefon: " . $stmt->error . "<br><br>\n";
                }
                else
                {
                    $stmt -> prepare("INSERT INTO Telefon (telefon_nr, telefon_typ, raum_ID) VALUES (?,?,?)");
                    $stmt -> bind_param('sss',$tf["tel"],$tf["typ"],$tf["raum"]);
                    $result = $stmt -> execute();
                    if ($stmt->error) echo "error INSERT Telefon: " . $stmt->error . "<br><br>\n";
                }    
            }
            if ($result) // INSERT/UPDATE Telefon
            {
                //Eingabe Daten erfolgreich 
                    echo "<p class='green'><b>Telefondaten zu '" . $tf['tel']. "' wurden erfolgreich gespeichert.</b></p>\n";
                    echo "<br /><br />\n";
            }
            else
            {
                    echo "<p class='red'><b>Telefondaten zu '" . $tf['tel']. "' wurden nicht gespeichert.</b></p>\n";
                    echo "error: ". $dbc -> error;    
                    echo "<br /><br />\n";                
            }
            include ($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/tel_dat_show.inc.php");
        }
        echo "</div>";
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"tel_flist.php?$getp\" target=\"_self\" title=\"Telefonliste\">Telefonliste</a></p>\n"; 
        echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"".$_SERVER["PHP_SELF"]."\" target=\"_self\" title=\"Telefon erfassen\">Neue Telefon-Nummer erfassen</a></p>\n";    
    }
?>