From 08ab82f610cd615d7a82823dbc6580405a9de62f Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Wed, 14 May 2014 15:07:32 +0000 Subject: [PATCH] =?UTF-8?q?Neues=20Recht=20"basis/vilesci"=20als=20Grundre?= =?UTF-8?q?cht,=20um=20Vilesci=20=C3=BCberhaupt=20=C3=B6ffnen=20zu=20k?= =?UTF-8?q?=C3=B6nnen.=20checksystem.php:=20Jeder=20User=20und=20jede=20Fu?= =?UTF-8?q?nktion,=20der=20bisher=20ein=20(g=C3=BCltiges)=20schreibrecht?= =?UTF-8?q?=20in=20Vilesci=20hatte,=20erh=C3=A4lt=20das=20Recht=20basis/vi?= =?UTF-8?q?lesci=20wenn=20er=20aktiv=20ist.=20lehre/lehrveranstaltung=5Fde?= =?UTF-8?q?tails.php:=20Benutzerberechtigungen=20hinzugef=C3=BCgt=20benutz?= =?UTF-8?q?erberechtigung=5Fdetails.php:=20Grundlegende=20=C3=9Cberarbeitu?= =?UTF-8?q?ng=20des=20Skripts=20vilesci=5Fmenu=5Fmain.inc.php:=20"Rollen"?= =?UTF-8?q?=20ins=20Men=C3=BC=20eingef=C3=BCgt=20und=20nicht=20mehr=20inne?= =?UTF-8?q?rhalb=20der=20Rechteverwaltung=20benutzer.class.php:=20Optional?= =?UTF-8?q?er=20Parameter=20"aktiv"=20bei=20funktion=20"search"=20benutzer?= =?UTF-8?q?berechtigung.class.php:=20ORDER=20BY=20bei=20Funktion=20loadBen?= =?UTF-8?q?utzerRollen=20sprache.class.php:=20Tippfehler=20ausgebessert=20?= =?UTF-8?q?index.php:=20Flexcroll=20entfernt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lvplan/index.php | 4 - include/benutzer.class.php | 15 +- include/benutzerberechtigung.class.php | 2 +- include/sprache.class.php | 2 +- include/tw/vilesci_menu_main.inc.php | 2 + system/checksystem.php | 28 +++ vilesci/lehre/lehrveranstaltung_details.php | 22 +- .../benutzerberechtigung_details.php | 237 ++++++++++++------ .../benutzerberechtigung_uebersicht.php | 112 ++++----- vilesci/top.php | 10 +- 10 files changed, 277 insertions(+), 157 deletions(-) diff --git a/cis/private/lvplan/index.php b/cis/private/lvplan/index.php index 0bdde11ac..247cad8df 100644 --- a/cis/private/lvplan/index.php +++ b/cis/private/lvplan/index.php @@ -113,8 +113,6 @@ $num_rows_lektor=$db->db_num_rows($result_lektor);*/ Lehrveranstaltungsplan - - \n"; + //$reloadstr .= "\n"; } @@ -137,12 +139,12 @@ if(isset($_POST['schick'])) else $errorstr .= "Datensatz konnte nicht gespeichert werden!".$ber->errormsg; } - if ($ber->new) + /*if ($ber->new) { $reloadstr .= "\n"; - } + }*/ } else { @@ -158,13 +160,14 @@ foreach($b->result as $berechtigung) { $rolle_arr[] = $berechtigung->rolle_kurzbz; } - +sort($rolle_arr); $b->getBerechtigungen(); foreach($b->result as $berechtigung) { $berechtigung_arr[] = $berechtigung->berechtigung_kurzbz; + $berechtigung_beschreibung_arr[] = $berechtigung->beschreibung; } - +//var_dump($berechtigung_arr); $st = new studiensemester(); $st->getAll(); foreach($st->studiensemester as $studiensemester) @@ -187,11 +190,22 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) { $uid = $_REQUEST['uid']; + $bn = new benutzerberechtigung(); + $bn->getBerechtigungen($uid); + foreach($bn->berechtigungen as $berechtigung) + { + $berechtigung_user_arr[] = $berechtigung->berechtigung_kurzbz; + } + //$berechtigung_user_arr[] = array_unique($berechtigung_user_arr[]); + //var_dump($berechtigung_user_arr); $ben = new benutzer(); if (!$ben->load($uid)) die('Benutzer existiert nicht'); $rights->loadBenutzerRollen($uid); + $name = new benutzer(); + $name->load($uid); + $htmlstr .= "Berechtigungen von ".$name->nachname." ".$name->vorname." (".$uid.")\n"; } elseif(isset($_REQUEST['funktion_kurzbz']) && $_REQUEST['funktion_kurzbz']!='') { @@ -202,32 +216,32 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) die('Funktion existiert nicht'); $rights->loadBenutzerRollen(null, $funktion_kurzbz); + $htmlstr .= "Berechtigungen der Funktion ".$funktion->beschreibung."\n"; } - - $htmlstr .= "Berechtigungen ".$uid.$funktion_kurzbz."\n"; - $htmlstr .= '      Filter: + //$htmlstr .= "Berechtigungen von ".$name->nachname." ".$name->vorname." (".$uid.")".$funktion_kurzbz."\n"; + /*$htmlstr .= '      Filter: Alle | nur WaWi | ohne WaWi - '; - $htmlstr .= "\n"; - $htmlstr .= "\n"; + ';*/ + $htmlstr .= "
\n"; + $htmlstr .= "\n"; $htmlstr .= " - - - - - - - - - - - - - \n"; + + + + + + + + + + + + + \n"; foreach($rights->berechtigungen as $b) { switch($filter) @@ -243,44 +257,47 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) break; default: break; } + $htmlstr .= " \n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; - $htmlstr .= " \n"; + //Rolle - $htmlstr .= " \n"; //Berechtigung - $htmlstr .= " \n"; //Art - $htmlstr .= " \n"; + $htmlstr .= " \n"; //Organisationseinheit - $htmlstr .= " \n"; //Kostenstelle - $htmlstr .= " \n"; //Studiensemester - $htmlstr .= " \n"; + $htmlstr .= " \n";*/ - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " "; + $htmlstr .= " "; $htmlstr .= "\n"; + $htmlstr .= " \n"; + } + $htmlstr .= " \n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; - $htmlstr .= " \n"; + //Rolle - $htmlstr .= " \n"; //Berechtigung_kurzbz - $htmlstr .= " \n"; //Art - $htmlstr .= " \n"; + $htmlstr .= " \n"; //Organisationseinheit - $htmlstr .= " \n"; //Kostenstelle - $htmlstr .= " \n"; //Studiensemester - $htmlstr .= " \n"; + $htmlstr .= " \n";*/ - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " "; $htmlstr .= "\n"; + $htmlstr .= " \n"; - $htmlstr .= "
RolleBerechtigungArtOrganisationseinheitKostenstelleSemesterNegStartEnde
RolleBerechtigungArtOrganisationseinheitKostenstelleNegGültig abGültig bis
negativ?'checked="checked"':'')." onchange='markier(\"".$b->benutzerberechtigung_id."\")'>negativ?'checked="checked"':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\")'>
\n"; + + $htmlstr .= "\n"; } $htmlstr .= "
".$errorstr."
\n"; @@ -428,19 +448,47 @@ $htmlstr .= "
".$errorstr."
\n"; Berechtigung - Details + + + + @@ -489,7 +570,7 @@ $htmlstr .= "
".$errorstr."
\n"; diff --git a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php index 0ee35919c..e1e0aec29 100644 --- a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php +++ b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php @@ -19,34 +19,49 @@ * 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 */ 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'); echo ' Berechtigungen Uebersicht - - + + -

Benutzerberechtigungen Übersicht

'; +

Benutzerberechtigungen Übersicht

'; if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -71,66 +86,49 @@ $htmlstr=' -
-
- Bitte Suchbegriff eingeben: - + + BenutzerIn suchen: +
-
- UID   - -
-
'; - -$htmlstr .= "
Rollen Administrieren
"; +//Benutzer suchen und Tabelle anzeigen if(isset($_GET['searchstr'])) { - - $sql_query = "SELECT distinct(tbl_benutzerrolle.uid), tbl_person.nachname, tbl_person.vorname - FROM system.tbl_benutzerrolle, public.tbl_benutzer, public.tbl_person - WHERE tbl_benutzerrolle.uid = tbl_benutzer.uid - AND tbl_benutzer.person_id = tbl_person.person_id - "; - if($searchstr!='') - { - $sql_query.= " and ( - nachname ~* '".addslashes($searchstr)."' OR - vorname ~* '".addslashes($searchstr)."' OR - alias ~* '".addslashes($searchstr)."' OR - nachname || ' ' || vorname = '".addslashes($searchstr)."' OR - vorname || ' ' || nachname = '".addslashes($searchstr)."' OR - tbl_benutzerrolle.uid ~* '".addslashes($searchstr)."' )"; - } - $sql_query.= " ORDER BY tbl_benutzerrolle.uid"; - - if(!$erg=$db->db_query($sql_query)) - { - $htmlstr='Fehler beim Laden der Berechtigungen'; - } - - else - { - $htmlstr .= "\n"; - $htmlstr .= " "; - $htmlstr .= " \n"; - $i = 0; - while($row=$db->db_fetch_object($erg)) - { - //$htmlstr .= " \n"; + $benutzer = new benutzer(); + $searchItems = explode(' ',$searchstr); + $benutzer->search($searchItems,"",null); + + if(count($benutzer->result)!=0) + { + $htmlstr .= "
UIDVornameNachname
\n"; + $htmlstr .= ""; + $htmlstr .= "\n"; + + foreach($benutzer->result as $row) + { + $benutzerrolle = new benutzerberechtigung(); + $benutzerrolle->loadBenutzerRollen($row->uid); + $aktiv = new benutzer(); + $aktiv->load($row->uid); + $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " \n"; - $i++; - } - $htmlstr .= "
NachnameVornameUIDAktivAktion
".$row->uid."".$row->vorname."".$row->nachname."".$row->nachname."".$row->vorname."".$row->uid."".($aktiv->bnaktiv?"Ja":"Nein")."".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."
\n"; + } + $htmlstr .= "\n"; + } + else + { + $htmlstr .= "Es wurden keine Übereinstimmungen mit Ihrem Suchbegriff gefunden"; } } diff --git a/vilesci/top.php b/vilesci/top.php index 7434dc9e7..09e203dae 100644 --- a/vilesci/top.php +++ b/vilesci/top.php @@ -37,15 +37,7 @@ $berechtigung=new benutzerberechtigung(); $berechtigung->getBerechtigungen($uid); - if (!($berechtigung->isBerechtigt('admin') || - $berechtigung->isBerechtigt('support') || - $berechtigung->isBerechtigt('preinteressent') || - $berechtigung->isBerechtigt('lehre') || - $berechtigung->isBerechtigt('basis/statistik') || - $berechtigung->isBerechtigt('basis/fhausweis') || - $berechtigung->isBerechtigt('wawi/inventar') || - $berechtigung->isBerechtigt('assistenz') || - $berechtigung->isBerechtigt('lv-plan') )) + if (!($berechtigung->isBerechtigt('basis/vilesci', null, 's'))) die ('Keine Berechtigung!'); ?>