mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
438 lines
14 KiB
PHP
438 lines
14 KiB
PHP
<?php
|
|
/* Copyright (C) 2006 Technikum-Wien
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
|
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
|
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
|
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
|
*/
|
|
require_once('../../config/vilesci.config.inc.php');
|
|
require_once('../../include/functions.inc.php');
|
|
require_once('../../include/ort.class.php');
|
|
require_once('../../include/benutzerberechtigung.class.php');
|
|
require_once('../../include/organisationseinheit.class.php');
|
|
require_once('../../include/standort.class.php');
|
|
|
|
if (!$db = new basis_db())
|
|
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
|
|
|
$user = get_uid();
|
|
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
|
|
if(!$rechte->isBerechtigt('basis/ort', null, 's'))
|
|
die($rechte->errormsg);
|
|
|
|
$organisationseinheit = new organisationseinheit();
|
|
$organisationseinheit->getAll();
|
|
$oe_arr = array();
|
|
foreach ($organisationseinheit->result as $oe)
|
|
{
|
|
$oe_arr[$oe->oe_kurzbz] = $oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung;
|
|
}
|
|
|
|
$lehre = (isset($_GET['selectlehre'])?true:'');
|
|
$reservieren = (isset($_GET['selectreservieren'])?true:'');
|
|
$aktiv = (isset($_GET['sendform'])?(isset($_GET['selectaktiv'])?true:''):true);
|
|
$standort_id = (isset($_GET['standort_id'])?$_GET['standort_id']:'');
|
|
$gebaeudeteil = (isset($_GET['selectgebaeudeteil'])?$_GET['selectgebaeudeteil']:'');
|
|
$oe_kurzbz = (isset($_GET['oe_kurzbz'])?$_GET['oe_kurzbz']:'');
|
|
|
|
// Speichern der Daten
|
|
if(isset($_POST['ort_kurzbz']))
|
|
{
|
|
// Die Aenderungen werden per Ajax Request durchgefuehrt,
|
|
// daher wird nach dem Speichern mittels exit beendet
|
|
|
|
//Lehre Feld setzen
|
|
if(isset($_POST['lehre']))
|
|
{
|
|
if(!$rechte->isBerechtigt('basis/ort', null, 'sui'))
|
|
die($rechte->errormsg);
|
|
|
|
$lv_obj = new ort();
|
|
if($lv_obj->load($_POST['ort_kurzbz']))
|
|
{
|
|
$lv_obj->lehre=($_POST['lehre']=='true'?false:true);
|
|
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
|
$lv_obj->updatevon = $user;
|
|
if($lv_obj->save(false))
|
|
exit('true');
|
|
else
|
|
exit('Fehler beim Speichern:'.$lv_obj->errormsg);
|
|
}
|
|
else
|
|
exit('Fehler beim Laden der LV:'.$lv_obj->errormsg);
|
|
}
|
|
|
|
//Reservieren Feld setzen
|
|
if(isset($_POST['reservieren']))
|
|
{
|
|
if(!$rechte->isBerechtigt('basis/ort', null, 'sui'))
|
|
die($rechte->errormsg);
|
|
$lv_obj = new ort();
|
|
if($lv_obj->load($_POST['ort_kurzbz']))
|
|
{
|
|
$lv_obj->reservieren=($_POST['reservieren']=='true'?false:true);
|
|
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
|
$lv_obj->updatevon = $user;
|
|
if($lv_obj->save(false))
|
|
exit('true');
|
|
else
|
|
exit('Fehler beim Speichern:'.$lv_obj->errormsg);
|
|
}
|
|
else
|
|
exit('Fehler beim Laden der LV:'.$lv_obj->errormsg);
|
|
}
|
|
|
|
//Aktiv Feld setzen
|
|
if(isset($_POST['aktiv']))
|
|
{
|
|
if(!$rechte->isBerechtigt('basis/ort', null, 'sui'))
|
|
die($rechte->errormsg);
|
|
$lv_obj = new ort();
|
|
if($lv_obj->load($_POST['ort_kurzbz']))
|
|
{
|
|
$lv_obj->aktiv=($_POST['aktiv']=='true'?false:true);
|
|
$lv_obj->updateamum = date('Y-m-d H:i:s');
|
|
$lv_obj->updatevon = $user;
|
|
if($lv_obj->save(false))
|
|
exit('true');
|
|
else
|
|
exit('Fehler beim Speichern:'.$lv_obj->errormsg);
|
|
}
|
|
else
|
|
exit('Fehler beim Laden der LV:'.$lv_obj->errormsg);
|
|
}
|
|
}
|
|
|
|
$htmlstr = '<a href="raum_details.php" target="detail_raum">Neuer Raum </a><br>';
|
|
|
|
|
|
$htmlstr .= '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
|
|
|
$htmlstr.= ' Lehre<INPUT type="checkbox" name="selectlehre" id="selectlehre" '.($lehre=='true'?'checked':'').'>';
|
|
$htmlstr.= ' Reservieren<INPUT type="checkbox" name="selectreservieren" id="selectreservieren" '.($reservieren=='true'?'checked':'').'>';
|
|
$htmlstr.= ' Aktiv<INPUT type="checkbox" name="selectaktiv" id="selectaktiv" '.($aktiv=='true'?'checked':'').'>';
|
|
$htmlstr.= '<br>';
|
|
|
|
// Select Standort ID
|
|
$htmlstr.= 'Standort <SELECT name="standort_id">
|
|
<OPTION value="">-- keine Auswahl --</OPTION>';
|
|
|
|
$standort = new standort();
|
|
if($standort->getStandorteWithTyp('Intern'))
|
|
{
|
|
foreach($standort->result as $row)
|
|
{
|
|
if($row->standort_id == $standort_id)
|
|
$selected = 'selected';
|
|
else
|
|
$selected = '';
|
|
|
|
$htmlstr.='<OPTION value="'.$row->standort_id.'" '.$selected.'>'.$row->kurzbz.'</OPTION>';
|
|
}
|
|
}
|
|
$htmlstr.= '</SELECT>';
|
|
|
|
// Input Gebäudeteil
|
|
$htmlstr.= ' Gebäudeteil <INPUT type="text" name="selectgebaeudeteil" id="selectgebaeudeteil" value="'.$gebaeudeteil.'" style="width: 30px">';
|
|
|
|
// Select oe_kurzbz
|
|
$oe=new organisationseinheit();
|
|
$oe->getAll();
|
|
$htmlstr.=' Organisationseinheit <SELECT name="oe_kurzbz">';
|
|
$htmlstr.='<OPTION value="">-- keine Auswahl --</option>';
|
|
foreach($oe->result as $row_oe)
|
|
{
|
|
if($row_oe->oe_kurzbz == $oe_kurzbz)
|
|
$selected = 'selected';
|
|
else
|
|
$selected = '';
|
|
|
|
$htmlstr .= '<OPTION value="'.$row_oe->oe_kurzbz.'" '.$selected.'>'.$row_oe->organisationseinheittyp_kurzbz.' '.$row_oe->bezeichnung.'</OPTION>';
|
|
}
|
|
$htmlstr.='</SELECT>';
|
|
|
|
$htmlstr.= '<input type="hidden" name="sendform">';
|
|
$htmlstr .= '<br><br><input type="submit" value="Anzeigen">';
|
|
$htmlstr .= '</form>';
|
|
|
|
$tooltiptext = '
|
|
<div class="tooltiptext">
|
|
<div class="table">
|
|
<div class="table-caption">Sie können die folgenden Optionen zum filtern verwenden</div>
|
|
<div class="tr">
|
|
<div class="td"><code>|</code> oder <code>OR</code></div>
|
|
<div class="td">Logisches "oder"</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>&&</code> oder <code>AND</code></div>
|
|
<div class="td">Logisches "und"</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>/\d/</code></div>
|
|
<div class="td">Regular Expression</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>< <= >= ></code></div>
|
|
<div class="td">Alphabetisches oder numerisches größer/kleiner gleich</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>!</code> oder <code>!=</code></div>
|
|
<div class="td">Verneinung (not)</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>"</code> oder <code>=</code></div>
|
|
<div class="td">Exake übereinstimmung</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code> - </code> oder <code> to </code></div>
|
|
<div class="td">Bereichssuche (Leerzeichen beachten)</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>?</code></div>
|
|
<div class="td">Platzhalter für ein einzelnes Zeichen (nicht Leerzeichen)</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>+</code></div>
|
|
<div class="td">Platzhalter für mehrere Zeichen (nicht Leerzeichen)</div>
|
|
</div>
|
|
<div class="tr">
|
|
<div class="td"><code>~</code></div>
|
|
<div class="td">Unscharfe suche</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
';
|
|
|
|
if (isset($_GET['sendform']))
|
|
{
|
|
$htmlstr .= '
|
|
<table class="tablesorter" id="t1">
|
|
<thead>
|
|
<tr>
|
|
<th><button type="button" class="resetsaved" title="Reset Filter">Reset Filter</button>
|
|
<span class="tooltip"><img src="../../skin/images/information.png" height="20px" name="infoicon"/>
|
|
'.$tooltiptext.'
|
|
</span>
|
|
</th>
|
|
<th>Kurzbezeichnung</th>
|
|
<th>Bezeichnung</th>
|
|
<th>Planbezeichnung</th>
|
|
<th>Max. Person</th>
|
|
<th>Arbeitsplaetze</th>
|
|
<th>Quadratmeter</th>
|
|
<th>Organisationseinheit</th>
|
|
<th>Lehre</th>
|
|
<th>Reservieren</th>
|
|
<th>Aktiv</th>
|
|
<th>Kosten</th>
|
|
<th>Stockwerk</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
|
|
$sg = new ort();
|
|
if (!$sg->getOrte($lehre, $reservieren, $aktiv, $standort_id, $gebaeudeteil, $oe_kurzbz))
|
|
die($sg->errormsg);
|
|
|
|
foreach ($sg->result as $twraum)
|
|
{
|
|
$htmlstr .= " <tr>\n";
|
|
$htmlstr .= ' <td><a href="raum_details.php?type=raumtyp&ort_kurzbz='.$twraum->ort_kurzbz.'" target="detail_raum" title="Raumtyp zuteilen" ><img src="../../skin/images/entitlement-pot.png" height="20px"/></a></td>';
|
|
$htmlstr .= " <td><a href='raum_details.php?ort_kurzbz=".$twraum->ort_kurzbz."' target='detail_raum'>".$twraum->ort_kurzbz."</a></td>\n";
|
|
$htmlstr .= " <td>".$twraum->bezeichnung."</td>\n";
|
|
$htmlstr .= " <td>".$twraum->planbezeichnung."</td>\n";
|
|
$htmlstr .= " <td>".$twraum->max_person."</td>\n";
|
|
$htmlstr .= " <td>".$twraum->arbeitsplaetze."</td>\n";
|
|
$htmlstr .= " <td>".$twraum->m2."</td>\n";
|
|
$htmlstr .= " <td>".(isset($oe_arr[$twraum->oe_kurzbz])?$oe_arr[$twraum->oe_kurzbz]:'')."</td>\n";
|
|
|
|
// Lehre boolean setzen
|
|
|
|
$htmlstr .= " <td style='white-space:nowrap;' align='center'><div style='display: none'>".($twraum->lehre==true?"t":"f")."</div> <a href='#Lehre' onclick='changeboolean(\"".$twraum->ort_kurzbz."\",\"lehre\"); return false'>";
|
|
$htmlstr .= " <input type='hidden' id='lehre".$twraum->ort_kurzbz."' value='".($twraum->lehre==true?"true":"false")."'>";
|
|
$htmlstr .= " <img id='lehreimg".$twraum->ort_kurzbz."' title='Lehre' src='../../skin/images/".($twraum->lehre==true?"true.png":"false.png")."' height='20'>";
|
|
$htmlstr .= " </a></td>";
|
|
|
|
// Reservieren boolean setzen
|
|
|
|
$htmlstr .= " <td style='white-space:nowrap;' align='center'><div style='display: none'>".($twraum->reservieren==true?"t":"f")."</div> <a href='#Reservieren' onclick='changeboolean(\"".$twraum->ort_kurzbz."\",\"reservieren\"); return false'>";
|
|
$htmlstr .= " <input type='hidden' id='reservieren".$twraum->ort_kurzbz."' value='".($twraum->reservieren==true?"true":"false")."'>";
|
|
$htmlstr .= " <img id='reservierenimg".$twraum->ort_kurzbz."' title='Reservieren' src='../../skin/images/".($twraum->reservieren==true?"true.png":"false.png")."' style='margin:0;' height='20'>";
|
|
$htmlstr .= " </a></td>";
|
|
|
|
// Aktiv boolean setzen
|
|
|
|
$htmlstr .= " <td style='white-space:nowrap;' align='center'><div style='display: none'>".($twraum->aktiv==true?"t":"f")."</div> <a href='#Aktiv' onclick='changeboolean(\"".$twraum->ort_kurzbz."\",\"aktiv\"); return false'>";
|
|
$htmlstr .= " <input type='hidden' id='aktiv".$twraum->ort_kurzbz."' value='".($twraum->aktiv==true?"true":"false")."'>";
|
|
$htmlstr .= " <img id='aktivimg".$twraum->ort_kurzbz."' title='Aktiv' src='../../skin/images/".($twraum->aktiv==true?"true.png":"false.png")."' style='margin:0;' height='20'>";
|
|
$htmlstr .= " </a></td>";
|
|
|
|
$htmlstr .= " <td>".$twraum->kosten."</td>\n";
|
|
$htmlstr .= " <td>".$twraum->stockwerk."</td>\n";
|
|
|
|
$htmlstr .= " </tr>\n";
|
|
}
|
|
$htmlstr .= "</tbody></table>\n";
|
|
}
|
|
|
|
|
|
?>
|
|
<html>
|
|
<head>
|
|
<title>Räume Übersicht</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
|
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
|
|
|
|
<?php
|
|
include('../../include/meta/jquery.php');
|
|
include('../../include/meta/jquery-tablesorter.php');
|
|
?>
|
|
|
|
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
|
<style>
|
|
table.tablesorter tbody td
|
|
{
|
|
margin: 0;
|
|
padding: 0;
|
|
vertical-align: middle;
|
|
}
|
|
div.table {
|
|
display: table;
|
|
border-collapse:collapse;
|
|
}
|
|
div.tr {
|
|
display:table-row;
|
|
}
|
|
div.table-caption {
|
|
display:table-caption;
|
|
}
|
|
div.td {
|
|
display:table-cell;
|
|
border:thin solid black;
|
|
padding:5px;
|
|
}
|
|
/* Tooltip container */
|
|
.tooltip
|
|
{
|
|
position: relative;
|
|
display: inline;
|
|
}
|
|
.tooltip .tooltiptext
|
|
{
|
|
visibility: hidden;
|
|
width: 400px;
|
|
background-color: #555;
|
|
color: #fff;
|
|
text-align: center;
|
|
border-radius: 6px;
|
|
padding: 5px 0;
|
|
|
|
/* Position the tooltip */
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: -5px;
|
|
left: 105%;
|
|
}
|
|
/* Show the tooltip text when you mouse over the tooltip container */
|
|
.tooltip:hover .tooltiptext
|
|
{
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
</style>
|
|
<script language="JavaScript" type="text/javascript">
|
|
$(document).ready(function()
|
|
{
|
|
$("#t1").tablesorter(
|
|
{
|
|
sortList: [[3,0]],
|
|
widgets: ["saveSort", "zebra", "filter", "stickyHeaders"],
|
|
headers: { 0: { filter: false, sorter: false }},
|
|
widgetOptions : { filter_saveFilters : true,
|
|
filter_functions : {
|
|
// Add select menu to this column
|
|
8 : {
|
|
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
|
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
|
},
|
|
9 : {
|
|
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
|
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
|
},
|
|
10 : {
|
|
"True" : function(e, n, f, i, $r, c, data) { return /t/.test(e); },
|
|
"False" : function(e, n, f, i, $r, c, data) { return /f/.test(e); }
|
|
}
|
|
}}
|
|
});
|
|
|
|
$('.resetsaved').click(function()
|
|
{
|
|
$("#t1").trigger("filterReset");
|
|
location.reload(forceGet);
|
|
return false;
|
|
});
|
|
});
|
|
|
|
function changeboolean(ort_kurzbz, name)
|
|
{
|
|
value=document.getElementById(name+ort_kurzbz).value;
|
|
|
|
var dataObj = {};
|
|
dataObj["ort_kurzbz"]=ort_kurzbz;
|
|
dataObj[name]=value;
|
|
|
|
$.ajax({
|
|
type:"POST",
|
|
url:"raum_uebersicht.php",
|
|
data:dataObj,
|
|
success: function(data)
|
|
{
|
|
if(data=="true")
|
|
{
|
|
//Image und Value aendern
|
|
if(value=="true")
|
|
value="false";
|
|
else
|
|
value="true";
|
|
document.getElementById(name+ort_kurzbz).value=value;
|
|
document.getElementById(name+"img"+ort_kurzbz).src="../../skin/images/"+value+".png";
|
|
}
|
|
else
|
|
alert("ERROR:"+data)
|
|
},
|
|
error: function() { alert("error"); }
|
|
});
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<h2>Räume Übersicht</h2>
|
|
|
|
<?php
|
|
echo $htmlstr;
|
|
?>
|
|
|
|
</body>
|
|
</html>
|