From ba0db12a95772cea4f36bee38d152a41955a0269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 2 Dec 2013 11:52:58 +0000 Subject: [PATCH] =?UTF-8?q?Berechtigungen=20und=20Webservice=20Rechte=20we?= =?UTF-8?q?rden=20nun=20mitgepr=C3=BCft=20und=20ggf=20angelegt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/checksystem.php | 170 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 169 insertions(+), 1 deletion(-) diff --git a/system/checksystem.php b/system/checksystem.php index ad5361a7e..efaa1a64d 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -899,5 +899,173 @@ if (!$result=@$db->db_query($sql_query)) echo 'Attribut '.$fulltablename.'.'.$fieldnameDB.' existiert in der DB, aber nicht in diesem Skript!
'; } } + +// ******** Berechtigungen Prüfen ************/ +echo '

Berechtigungen pruefen

'; +$berechtigung_kurzbz=0; +$beschreibung=1; +$berechtigungen = array( + array('admin','Super User Rechte'), + array('assistenz','Assistenz'), + array('basis/addon','Addons verwalten'), + array('basis/ampel','Ampeln Administrieren'), + array('basis/ampeluebersicht','Ampel Übersicht für Leiter'), + array('basis/berechtigung','Berechtigungsverwaltung'), + array('basis/betriebsmittel','Betriebsmittel'), + array('basis/cms','CMS Administration'), + array('basis/cms_review','CMS Review Berechtigung (nur für admin Reviewer! Normale Reviewer bekommen Benutzerfunktion review)'), + array('basis/cms_sperrfreigabe','Berechtigung zum Freigeben von gesperrtem Content'), + array('basis/cronjob','Cronjobverwaltung'), + array('basis/dms','DMS Download'), + array('basis/fhausweis','Verwaltungstools für FH Ausweis – Kartentausch, Bildpruefung, Druck'), + array('basis/firma','Firmenverwaltung'), + array('basis/firma:begrenzt','Firmenverwaltung'), + array('basis/infoscreen','Infoscreenverwaltung'), + array('basis/moodle','basis/moodle'), + array('basis/news','Newsverwaltung'), + array('basis/notiz','Notizen'), + array('basis/organisationseinheit','Organisationseinheiten Verwalten'), + array('basis/ort','Raum-/Ortverwaltung'), + array('basis/person','Personen Zusammenlegen, Stg-Wiederholer anlegen, etc'), + array('basis/service','Services Administrieren (SLAs)'), + array('basis/statistik','Statistiken Administrieren'), + array('basis/studiengang','Studiengangsverwaltung'), + array('basis/testtool','Administrationseite, Gebiete löschen/zurücksetzen'), + array('basis/variable','Variablenverwaltung'), + array('inout/incoming','Incomingverwaltung'), + array('inout/outgoing','Outgoingverwaltung'), + array('inout/uebersicht','Verbandsanzeige fuer Incoming/Outgoing im FAS'), + array('lehre','Berechtigung fuer CIS-Seite'), + array('lehre/abgabetool','Projektabgabetool, Studentenansicht'), + array('lehre/abgabetool:download','Download von Projektarbeitsabgaben'), + array('lehre/freifach','Freifachverwaltung'), + array('lehre/lehrfach','Lehrfachverwaltung'), + array('lehre/lehrfach:begrenzt','Lehrfachverwaltung - nur aktiv aenderbar, nur aktive LF werden angezeigt'), + array('lehre/lehrveranstaltung','Lehrveranstaltungsverwaltung'), + array('lehre/lehrveranstaltung:begrenzt','nur die Felder Lehre, Sort, Zeugnis, BA/DA, FBK und LVInfo dürfen geändert werden (eventuelle Aufteilung in einzelne Berechtigungen??)'), + array('lehre/lvplan','Tempus'), + array('lehre/reihungstest','Reihungstestverwaltung'), + array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'), + array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'), + array('lehre/studienordnung','Studienordnung'), + array('lehre/vorrueckung','Lehreinheitenvorrückung'), + array('lv-plan','Stundenplan'), + array('mitarbeiter','FAS Mitarbeitermodul'), + array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'), + array('mitarbeiter/stammdaten','Stammdaten der Mitarbeiter'), + array('mitarbeiter/urlaube','Mit diesem Recht werden im CIS die Urlaube von allen Mitarbeiter sichtbar'), + array('mitarbeiter/zeitsperre','Zeitsperren- und Urlaubsverwaltung'), + array('news','News eintragen'), + array('planner','Planner Verwaltung'), + array('preinteressent','Verwaltung der Preinteressenten'), + array('raumres','Raumreservierung'), + array('soap/lv','Recht für LV Webservice'), + array('soap/lvplan','Recht für LV-Plan Webservice'), + array('soap/mitarbeiter','Recht für Mitarbeiter-Webservice'), + array('soap/ort','Recht für Ort Webservice'), + array('soap/student','Recht für Student Webservice'), + array('soap/studienordnung','Recht für Studienordnung Webservice'), + array('student/bankdaten','Bankdaten des Studenten'), + array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'), + array('student/stammdaten','Stammdaten der Studenten'), + array('student/vorrueckung','Studentenvorrückung'), + array('system/developer','Anzeige zusätzlicher Developerinfos'), + array('system/loginasuser','Berechtigung zum Einloggen als anderer User'), + array('user','Normale User ohne besonere Rechte'), + array('veranstaltung','Berechtigungen fuer Veranstaltungen wie Jahresplan'), + array('wawi/berichte','Alle Berichte anzeigen'), + array('wawi/bestellung','Bestellungen verwalten'), + array('wawi/bestellung_advanced','Bestellungen editieren nach dem Abschicken'), + array('wawi/budget','Budgeteingabe'), + array('wawi/delete_advanced','Loeschen von freigegebenen Bestellungen'), + array('wawi/firma','Firmenverwaltung abgespeckt'), + array('wawi/freigabe','Bestellungen freigeben, entweder oe_kurzbz oder kostenstelle_id muss gesetzt sein'), + array('wawi/freigabe_advanced','Berechtigung zum Freigeben von ALLEN Bestellungen'), + array('wawi/inventar','Inventar Administration'), + array('wawi/inventar:begrenzt','Inventarverwaltung'), + array('wawi/konto','Kontoverwaltung'), + array('wawi/kostenstelle','Kostenstellenverwaltung'), + array('wawi/rechnung','Rechnungen verwalten'), + array('wawi/rechnung_freigeben','Rechnungen Freigeben (bei Gutschriften)'), + array('wawi/rechnung_transfer','Rechnungen - Eintragen des TransferDatums'), + array('wawi/storno','Bestellung stornieren') +); + +foreach($berechtigungen as $row) +{ + $qry = "SELECT * FROM system.tbl_berechtigung + WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz]); + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)==0) + { + // Nicht vorhanden -> anlegen + $qry_insert="INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES(". + $db->db_add_param($row[$berechtigung_kurzbz]).','. + $db->db_add_param($row[$beschreibung]).');'; + + if($db->db_query($qry_insert)) + echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzugefügt'; + else + echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzufügen nicht möglich'; + } + } +} +// ******** Pruefen ob die Webservice Berechtigungen alle gesetzt sind ********** + +echo '

Webservice Berechtigungen pruefen

'; + +// berechtigung_kurzbz,methode,klasse +$berechtigung_kurzbz=0; +$methode=1; +$klasse=2; +$webservicerecht = array( + array('soap/studienordnung','load_lva_oe','lehrveranstaltung'), + array('soap/studienordnung','load','lehrveranstaltung'), + array('soap/studienordnung','deleteStudienplanLehrveranstaltung','studienplan'), + array('soap/studienordnung','containsLehrveranstaltung','studienplan'), + array('soap/studienordnung','loadLehrveranstaltungStudienplanByLvId','studienplan'), + array('soap/studienordnung','saveStudienplanLehrveranstaltung','studienplan'), + array('soap/studienordnung','loadStudienordnung','studienordnung'), + array('soap/studienordnung','delete','lvregel'), + array('soap/studienordnung','save','lvregel'), + array('soap/studienordnung','load','lvregel'), + array('soap/studienordnung','loadLVRegelTypen','lvregel'), + array('soap/studienordnung','load_lva','lehrveranstaltung'), + array('soap/studienordnung','getAll','lehrtyp'), + array('soap/studienordnung','getAll','organisationseinheit'), + array('soap/studienordnung','getLVRegelTree','lvregel'), + array('soap/studienordnung','save','studienplan'), + array('soap/studienordnung','save','studienordnung'), + array('soap/studienordnung','loadStudienplanSTO','studienplan'), + array('soap/studienordnung','loadStudienordnungSTG','studienordnung') +); + +foreach($webservicerecht as $row) +{ + $qry = "SELECT * FROM system.tbl_webservicerecht + WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz])." + AND methode=".$db->db_add_param($row[$methode])." + AND klasse=".$db->db_add_param($row[$klasse]); + + if($result = $db->db_query($qry)) + { + if($db->db_num_rows($result)==0) + { + // Nicht vorhanden -> anlegen + $qry_insert="INSERT INTO system.tbl_webservicerecht (berechtigung_kurzbz, methode, insertamum, insertvon, klasse) VALUES(". + $db->db_add_param($row[$berechtigung_kurzbz]).','. + $db->db_add_param($row[$methode]).','. + "now(),'checksystem',". + $db->db_add_param($row[$klasse]).');'; + + if($db->db_query($qry_insert)) + echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzugefügt'; + else + echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzufügen nicht möglich'; + } + } +} + echo ''; -?>