Erweiterte Filter Benutzerberechtigung

This commit is contained in:
kindlm
2017-04-28 12:03:20 +02:00
parent c47dfef9bc
commit c910000a9a
@@ -16,24 +16,28 @@
* 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 >
* Manfred Kindl <manfred.kindl@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 >
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/berechtigung.class.php');
echo '<html>
<head>
<title>Berechtigungen Uebersicht</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" href="../../skin/tablesort.css" type="text/css"/>
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
echo '
<script language="JavaScript" type="text/javascript">
function checkLength()
{
@@ -48,12 +52,26 @@ function checkLength()
}
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0],[1,0],[2,0]],
widgets: ["zebra"],
headers: {4:{sorter:false}}
});
$("#t1").tablesorter(
{
sortList: [[0,0],[1,0],[2,0]],
widgets: ["zebra"],
headers: {4:{sorter:false}}
});
$("#t2").tablesorter(
{
sortList: [[1,0],[2,0],[3,0],[4,0]],
widgets: ["zebra"],
headers: {8:{sorter:false}},
emptyTo: "emptyMax"
});
$("#t3").tablesorter(
{
sortList: [[1,0],[2,0],[3,0]],
widgets: ["zebra"],
headers: {8:{sorter:false}},
emptyTo: "emptyMax"
});
});
</script>
@@ -73,24 +91,69 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/berechtigung'))
die('Sie haben keine Berechtigung für diese Seite');
die($rechte->errormsg);
$htmlstr = "";
if(isset($_GET['searchstr']))
$searchstr = $_GET['searchstr'];
else
$searchstr = '';
$searchstr = (isset($_GET['searchstr'])?$_GET['searchstr']:'');
$benutzerart = (isset($_GET['benutzerart'])?$_GET['benutzerart']:'');
$benutzeraktiv = (isset($_GET['aktiv'])?$_GET['aktiv']:'aktiv');
$berechtigung_kurzbz = (isset($_GET['berechtigung_kurzbz'])?$_GET['berechtigung_kurzbz']:'');
$rolle_kurzbz = (isset($_GET['rolle_kurzbz'])?$_GET['rolle_kurzbz']:'');
$htmlstr='
<table width="100%">
<tr>
<td>
<form accept-charset="UTF-8" name="search" method="GET" onsubmit="return checkLength();">
BenutzerIn suchen:
<input type="text" id="searchbox" name="searchstr" size="30" value="'.$searchstr.'" placeholder="Name oder UID eingeben">
<input type="submit" value="Suchen">
</form>
<form accept-charset="UTF-8" name="searchbenutzer" method="GET" onsubmit="return checkLength();">
BenutzerIn suchen:
<input type="text" id="searchbox" name="searchstr" size="30" value="'.$searchstr.'" placeholder="Name oder UID eingeben">
<select id="benutzerart" name="benutzerart">
<option value="" '.($benutzerart == ''?'selected':'').'>Alle BenutzerInnen</option>
<option value="mitarbeiter" '.($benutzerart == 'mitarbeiter'?'selected':'').'>MitarbeiterInnen</option>
<option value="studierende" '.($benutzerart == 'studierende'?'selected':'').'>Studierende</option>
</select>
<select id="aktiv" name="aktiv">
<option value="" '.($benutzeraktiv == ''?'selected':'').'>Aktiv und Inaktiv</option>
<option value="aktiv" '.($benutzeraktiv == 'aktiv'?'selected':'').'>Aktiv</option>
<option value="inaktiv" '.($benutzeraktiv == 'inaktiv'?'selected':'').'>Inaktiv</option>
</select>
<input type="submit" value="Suchen">
</form><hr>
<form accept-charset="UTF-8" name="searchrechte" method="GET">
Berechtigung:
<select id="berechtigung_kurzbz" name="berechtigung_kurzbz">
<option value=""></option>';
$berechtigung = new berechtigung();
$berechtigung->getBerechtigungen();
foreach($berechtigung->result as $berechtigung)
{
if ($berechtigung_kurzbz == $berechtigung->berechtigung_kurzbz)
$selected = 'selected="selected"';
else
$selected = '';
$htmlstr .= '<option value="'.$berechtigung->berechtigung_kurzbz.'" title="'.$berechtigung->beschreibung.'" '.$selected.'>'.$berechtigung->berechtigung_kurzbz.'</option>';
}
$htmlstr .= '</select>
<input type="submit" value="Suchen">
</form><hr>
<form accept-charset="UTF-8" name="searchrollen" method="GET">
Rollen:
<select id="rolle_kurzbz" name="rolle_kurzbz">
<option value=""></option>';
$rollen = new berechtigung();
$rollen->getRollen();
foreach($rollen->result as $rolle)
{
if ($rolle_kurzbz == $rolle->rolle_kurzbz)
$selected = 'selected="selected"';
else
$selected = '';
$htmlstr .= '<option value="'.$rolle->rolle_kurzbz.'" title="'.$rolle->beschreibung.'" '.$selected.'>'.$rolle->rolle_kurzbz.'</option>';
}
$htmlstr .= '</select>
<input type="submit" value="Suchen">
</form><hr>
</td>
</tr>
</table>
@@ -101,28 +164,69 @@ if(isset($_GET['searchstr']))
{
$benutzer = new benutzer();
$searchItems = explode(' ',$searchstr);
$benutzer->search($searchItems,"",null);
if ($benutzeraktiv == 'aktiv')
$benutzer->search($searchItems,"",true);
if ($benutzeraktiv == 'inaktiv')
$benutzer->search($searchItems,"",false);
if ($benutzeraktiv == '')
$benutzer->search($searchItems,"",null);
if(count($benutzer->result)!=0)
{
$htmlstr .= "<table id='t1' class='tablesorter'><thead><tr>\n";
$htmlstr .= "<th>Nachname</th><th>Vorname</th><th>UID</th><th>Aktiv</th><th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
$htmlstr .= "<th>Nachname</th><th>Vorname</th><th>UID</th><th>Aktiv</th><th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
foreach($benutzer->result as $row)
{
$benutzerrolle = new benutzerberechtigung();
$benutzerrolle->loadBenutzerRollen($row->uid);
$aktiv = new benutzer();
$aktiv->load($row->uid);
if ($benutzerart == 'mitarbeiter' && $row->mitarbeiter_uid != '')
{
if ($benutzerart == 'mitarbeiter' && $row->mitarbeiter_uid != '')
{
$benutzerrolle = new benutzerberechtigung();
$benutzerrolle->loadBenutzerRollen($row->uid);
$aktiv = new benutzer();
$aktiv->load($row->uid);
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".($aktiv->bnaktiv?"Ja":"Nein")."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."</a></td>\n";
$htmlstr .= " </tr>\n";
}
}
elseif ($benutzerart == 'studierende' && $row->mitarbeiter_uid == '')
{
$benutzerrolle = new benutzerberechtigung();
$benutzerrolle->loadBenutzerRollen($row->uid);
$aktiv = new benutzer();
$aktiv->load($row->uid);
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".($aktiv->bnaktiv?"Ja":"Nein")."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."</a></td>\n";
$htmlstr .= " </tr>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".($aktiv->bnaktiv?"Ja":"Nein")."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."</a></td>\n";
$htmlstr .= " </tr>\n";
}
elseif ($benutzerart == '')
{
$benutzerrolle = new benutzerberechtigung();
$benutzerrolle->loadBenutzerRollen($row->uid);
$aktiv = new benutzer();
$aktiv->load($row->uid);
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".($aktiv->bnaktiv?"Ja":"Nein")."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."</a></td>\n";
$htmlstr .= " </tr>\n";
}
}
$htmlstr .= "</tbody></table>\n";
}
@@ -132,7 +236,156 @@ if(isset($_GET['searchstr']))
}
}
echo $htmlstr;
//Berechtigungen suchen und Tabelle anzeigen
if($berechtigung_kurzbz != '')
{
$berechtigungen = new benutzerberechtigung();
$berechtigungen->getBenutzerFromBerechtigung($berechtigung_kurzbz);
if(isset($berechtigungen->result) && count($berechtigungen->result) != 0)
{
$htmlstr .= "<table id='t2' class='tablesorter'><thead><tr>\n";
$htmlstr .= "<th>Berechtigung</th><th>Rolle</th><th>Funktion</th><th>Nachname</th><th>Vorname</th><th>UID</th><th>Art</th><th>Benutzer Aktiv</th><th>Status</th><th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
foreach($berechtigungen->result as $row)
{
$benutzer = new benutzer();
$benutzer->load($row->uid);
$heute = strtotime(date('Y-m-d'));
if ($row->ende!='' && strtotime($row->ende) < $heute)
{
$color1 = '#f79c9c';
$color2 = '#cc0202';
}
elseif ($row->start!='' && strtotime($row->start) > $heute)
{
$color1 = '#faf7b9';
$color2 = '#cfde00';
}
else
{
$color1 = '#d1fab9';
$color2 = '#00de00';
}
$status='<div style="
width: 10px;
height: 10px;
background: '.$color1.';
background-image: -webkit-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -moz-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -ms-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -o-linear-gradient(top, '.$color1.', '.$color2.');
background-image: linear-gradient(to bottom, '.$color1.', '.$color2.');
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
border: solid #999 1px;
text-decoration: none;
"></div>';
$htmlstr .= ' <tr>';
$htmlstr .= ' <td>'.$row->berechtigung_kurzbz.'</td>';
$htmlstr .= ' <td>'.($row->rolle_kurzbz != ''?$row->rolle_kurzbz:'').'</td>';
$htmlstr .= ' <td>'.($row->funktion_kurzbz != ''?$row->funktion_kurzbz:'').'</td>';
$htmlstr .= ' <td>'.($benutzer->nachname != ''?$benutzer->nachname:'').'</td>';
$htmlstr .= ' <td>'.($benutzer->vorname != ''?$benutzer->vorname:'').'</td>';
$htmlstr .= ' <td>'.($row->uid != ''?$row->uid:'').'</td>';
$htmlstr .= ' <td>'.$row->art.'</td>';
$htmlstr .= ' <td>'.(isset($row->uid)?$benutzer->bnaktiv?'Ja':'Nein':'').'</td>';
$htmlstr .= ' <td align="center">'.$status.'</td>';
if ($row->uid != '')
$htmlstr .= ' <td><a href="benutzerberechtigung_details.php?uid='.$row->uid.'" target="vilesci_detail">Benutzerrechte bearbeiten</a></td>';
elseif ($row->funktion_kurzbz != '')
$htmlstr .= ' <td><a href="benutzerberechtigung_details.php?funktion_kurzbz='.$row->funktion_kurzbz.'" target="vilesci_detail">Funktionsrechte bearbeiten</a></td>';
elseif ($row->rolle_kurzbz != '')
$htmlstr .= ' <td><a href="berechtigungrolle.php?rolle_kurzbz='.$row->rolle_kurzbz.'" target="vilesci_detail">Rollenrechte bearbeiten</a></td>';
$htmlstr .= ' </tr>';
}
$htmlstr .= '</tbody></table>';
}
else
{
$htmlstr .= "Für diese Berechtigung sind keine Einträge vorhanden";
}
}
//Rollen suchen und Tabelle anzeigen
if($rolle_kurzbz != '')
{
$rollen = new benutzerberechtigung();
$rollen->getBenutzerFromRolle($rolle_kurzbz);
if(isset($rollen->result) && count($rollen->result) != 0)
{
$htmlstr .= "<table id='t3' class='tablesorter'><thead><tr>\n";
$htmlstr .= "<th>Rolle</th><th>Funktion</th><th>Nachname</th><th>Vorname</th><th>UID</th><th>Art</th><th>Benutzer Aktiv</th><th>Status</th><th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
foreach($rollen->result as $row)
{
$benutzer = new benutzer();
$benutzer->load($row->uid);
$heute = strtotime(date('Y-m-d'));
if ($row->ende!='' && strtotime($row->ende) < $heute)
{
$color1 = '#f79c9c';
$color2 = '#cc0202';
}
elseif ($row->start!='' && strtotime($row->start) > $heute)
{
$color1 = '#faf7b9';
$color2 = '#cfde00';
}
else
{
$color1 = '#d1fab9';
$color2 = '#00de00';
}
$status='<div style="
width: 10px;
height: 10px;
background: '.$color1.';
background-image: -webkit-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -moz-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -ms-linear-gradient(top, '.$color1.', '.$color2.');
background-image: -o-linear-gradient(top, '.$color1.', '.$color2.');
background-image: linear-gradient(to bottom, '.$color1.', '.$color2.');
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
border: solid #999 1px;
text-decoration: none;
"></div>';
$htmlstr .= ' <tr>';
$htmlstr .= ' <td>'.$row->rolle_kurzbz.'</td>';
$htmlstr .= ' <td>'.($row->funktion_kurzbz != ''?$row->funktion_kurzbz:'').'</td>';
$htmlstr .= ' <td>'.($benutzer->nachname != ''?$benutzer->nachname:'').'</td>';
$htmlstr .= ' <td>'.($benutzer->vorname != ''?$benutzer->vorname:'').'</td>';
$htmlstr .= ' <td>'.($row->uid != ''?$row->uid:'').'</td>';
$htmlstr .= ' <td>'.$row->art.'</td>';
$htmlstr .= ' <td>'.(isset($row->uid)?$benutzer->bnaktiv?'Ja':'Nein':'').'</td>';
$htmlstr .= ' <td align="center">'.$status.'</td>';
$htmlstr .= ' <td><a href="benutzerberechtigung_details.php?uid='.$row->uid.'" target="vilesci_detail">Rechte bearbeiten</a></td>';
$htmlstr .= ' </tr>';
}
$htmlstr .= '</tbody></table>';
}
else
{
$htmlstr .= "Für diese Berechtigung sind keine Einträge vorhanden";
}
}
echo $htmlstr;
?>