From bdf7b1333cd8b5a140106745300db69de182b902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 14 Jul 2009 12:32:31 +0000 Subject: [PATCH] --- cis/private/lvplan/index.php | 1 + include/benutzerberechtigung.class.php | 212 ++++++++++---- include/berechtigung.class.php | 97 ++++++- system/hextobase64.php | 239 ++++++--------- system/update12-20.php | 2 + .../benutzerberechtigung_details.php | 274 ++++++++---------- .../benutzerberechtigung_uebersicht.php | 25 +- vilesci/stammdaten/berechtigungrolle.php | 160 ++++++++++ 8 files changed, 644 insertions(+), 366 deletions(-) create mode 100644 vilesci/stammdaten/berechtigungrolle.php diff --git a/cis/private/lvplan/index.php b/cis/private/lvplan/index.php index 10f055227..b2f7bd135 100644 --- a/cis/private/lvplan/index.php +++ b/cis/private/lvplan/index.php @@ -202,6 +202,7 @@ function MM_jumpMenu(targ,selObj,restore){ //v3.0 + diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php index 125cf62b6..3eb48d353 100644 --- a/include/benutzerberechtigung.class.php +++ b/include/benutzerberechtigung.class.php @@ -73,7 +73,47 @@ class benutzerberechtigung extends basis_db */ public function load($benutzerberechtigung_id) { - return false; + if(!is_numeric($benutzerberechtigung_id) || $benutzerberechtigung_id=='') + { + $this->errormsg = 'benutzerberechtigung_id ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM system.tbl_benutzerrolle WHERE benutzerberechtigung_id='$benutzerberechtigung_id'"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->benutzerberechtigung_id = $benutzerberechtigung_id; + $this->rolle_kurzbz = $row->rolle_kurzbz; + $this->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $this->uid = $row->uid; + $this->funktion_kurzbz = $row->funktion_kurzbz; + $this->oe_kurzbz = $row->oe_kurzbz; + $this->art = $row->art; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->start = $row->start; + $this->ende = $row->ende; + $this->negativ = ($row->negativ=='t'?true:false); + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + + return true; + } + else + { + $this->errormsg = 'Es wurde kein Eintrag mit dieser ID gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Berechtigung'; + return false; + } } /** @@ -89,24 +129,9 @@ class benutzerberechtigung extends basis_db return false; } - if(mb_strlen($this->fachbereich_kurzbz)>16) + if(mb_strlen($this->berechtigung_kurzbz)>32) { - $this->errormsg = 'fachbereich_kurzbz darf nicht laenger als 16 Zeichen sein'; - return false; - } - if($this->studiengang_kz!='' && !is_numeric($this->studiengang_kz)) - { - $this->errormsg = 'Studiengangskennzahl muss eine gueltige Zahl sein'; - return false; - } - if(mb_strlen($this->berechtigung_kurzbz)>16) - { - $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 16 Zeichen sein'; - return false; - } - if($this->berechtigung_kurzbz=='') - { - $this->errormsg = 'Berechtigung_kurzbz muss angegeben werden'; + $this->errormsg = 'Berechtigung_kurzbz darf nicht laenger als 32 Zeichen sein'; return false; } if(mb_strlen($this->uid)>32) @@ -114,12 +139,42 @@ class benutzerberechtigung extends basis_db $this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein'; return false; } - if($this->uid=='') + + if($this->rolle_kurzbz=='' && $this->berechtigung_kurzbz=='') { - $this->errormsg = 'UID muss angegeben werden'; + $this->errormsg = 'Es muss entweder eine Rolle oder eine Berechtigung angegeben werden'; + return false; + } + + if($this->rolle_kurzbz!='' && $this->berechtigung_kurzbz!='') + { + $this->errormsg = 'Rolle und Berechtigung kann nicht gleichzeitig angegeben werden'; + return false; + } + + if($this->uid=='' && $this->funktion_kurzbz=='') + { + $this->errormsg = 'Ess muss entweder eine UID oder eine Funktion_kurzbz angegeben werden'; + return false; + } + + if($this->uid!='' && $this->funktion_kurzbz!='') + { + $this->errormsg = 'UID und Funktion_kurzbz kann nicht gleichzeitig angegeben werden'; + return false; + } + + if($this->funktion_kurzbz!='' && $this->oe_kurzbz!='') + { + $this->errormsg = 'Wenn eine Funktion_kurzbz angegeben wird, darf keine Organisationseinheit eingetragen sein'; + return false; + } + + if($this->art=='') + { + $this->errormsg = 'Art darf nicht leer sein'; return false; } - return true; } @@ -135,68 +190,125 @@ class benutzerberechtigung extends basis_db if(!$this->validate()) return false; - /* if($this->new) { - $qry = 'INSERT INTO public.tbl_benutzerberechtigung (art, fachbereich_kurzbz, studiengang_kz, berechtigung_kurzbz, - uid, studiensemester_kurzbz, start, ende) - VALUES('.$this->addslashes($this->art).','. - $this->addslashes($this->fachbereich_kurzbz).','. - $this->addslashes($this->studiengang_kz).','. + $qry = 'INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz, + oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon, insertamum, insertvon) + VALUES('.$this->addslashes($this->rolle_kurzbz).','. $this->addslashes($this->berechtigung_kurzbz).','. $this->addslashes($this->uid).','. + $this->addslashes($this->funktion_kurzbz).','. + $this->addslashes($this->oe_kurzbz).','. + $this->addslashes($this->art).','. $this->addslashes($this->studiensemester_kurzbz).','. $this->addslashes($this->start).','. - $this->addslashes($this->ende).');'; + $this->addslashes($this->ende).','. + ($this->negativ?'true':'false').','. + $this->addslashes($this->updateamum).','. + $this->addslashes($this->updatevon).','. + $this->addslashes($this->insertamum).','. + $this->addslashes($this->insertvon).');'; } else { - $qry = 'UPDATE public.tbl_benutzerberechtigung SET'. + $qry = 'UPDATE system.tbl_benutzerrolle SET'. + ' rolle_kurzbz='.$this->addslashes($this->rolle_kurzbz).','. + ' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz).','. + ' uid='.$this->addslashes($this->uid).','. + ' funktion_kurzbz='.$this->addslashes($this->funktion_kurzbz).','. + ' oe_kurzbz='.$this->addslashes($this->oe_kurzbz).','. ' art='.$this->addslashes($this->art).','. - ' fachbereich_kurzbz='.$this->addslashes($this->fachbereich_kurzbz).','. - ' studiengang_kz='.$this->addslashes($this->studiengang_kz).','. - ' berechtigung_kurzbz='.$this->addslashes($this->berechtigung_kurzbz).','. - ' uid='.$this->addslashes($this->uid).','. ' studiensemester_kurzbz='.$this->addslashes($this->studiensemester_kurzbz).','. ' start='.$this->addslashes($this->start).','. - ' ende='.$this->addslashes($this->ende). + ' ende='.$this->addslashes($this->ende).','. + ' negativ='.($this->negativ?'true':'false').','. + ' updateamum='.$this->addslashes($this->updateamum).','. + ' updatevon='.$this->addslashes($this->updatevon). " WHERE benutzerberechtigung_id='".addslashes($this->benutzerberechtigung_id)."'"; } - if(p g_query($this->conn,$qry)) + if($this->db_query($qry)) { //Log schreiben return true; } else { - $this->errormsg = 'Fehler beim Speichern der Benutzerberechtigung:'.$qry; + $this->errormsg = 'Fehler beim Speichern der Benutzerberechtigung:'.$qry.$this->db_last_error(); return false; } - */ - return false; } /** - * Speichert Benutzerberechtigung in die Datenbank - * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - * angelegt, ansonsten der Datensatz upgedated + * Loescht einen Eintrag aus der Tabelle benutzerrolle + * @param benutzerberechtigung_id * @return true wenn erfolgreich, false im Fehlerfall */ - function delete($benutzerberechtigung_id) + public function delete($benutzerberechtigung_id) { - /* - // Berechtigungen holen - $sql_query="DELETE from tbl_benutzerberechtigung where benutzerberechtigung_id = '".$benutzerberechtigung_id."'"; - - if(!p g_query($this->conn, $sql_query)) + if(!is_numeric($benutzerberechtigung_id) || $benutzerberechtigung_id=='') { - $this->errormsg='Fehler beim löschen'; + $this->errormsg = 'benutzerberechtigung_id ist ungültig'; return false; - }*/ - return false; + } + + // Berechtigungen loeschen + $sql_query="DELETE FROM system.tbl_benutzerrolle where benutzerberechtigung_id = '$benutzerberechtigung_id'"; + + if(!$this->db_query($sql_query)) + { + $this->errormsg='Fehler beim Löschen'; + return false; + } + return true; } + /** + * Laedt die Benutzerrollen zu einer UID + * + * @param unknown_type $uid + */ + public function loadBenutzerRollen($uid=null, $funktion_kurzbz=null) + { + $qry = 'SELECT * FROM system.tbl_benutzerrolle WHERE '; + + if(!is_null($uid)) + $qry.= " uid='".addslashes($uid)."'"; + elseif(!is_null($funktion_kurzbz)) + $qry.= " funktion_kurzbz='".addslashes($funktion_kurzbz)."'"; + else + { + $this->errormsg = 'Entweder UID oder funktion_kurzbz muss uebergeben werden'; + return false; + } + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new benutzerberechtigung(); + + $obj->benutzerberechtigung_id = $row->benutzerberechtigung_id; + $obj->rolle_kurzbz = $row->rolle_kurzbz; + $obj->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $obj->uid = $row->uid; + $obj->funktion_kurzbz = $row->funktion_kurzbz; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->art = $row->art; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->start = $row->start; + $obj->ende = $row->ende; + $obj->negativ = ($row->negativ=='t'?true:false); + $obj->udpateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + + $this->berechtigungen[] = $obj; + } + } + } + /** * Laedt die Berechtigungen eines Users * @param $uid diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php index d6a07d973..1fcd6036d 100644 --- a/include/berechtigung.class.php +++ b/include/berechtigung.class.php @@ -23,7 +23,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php'); class berechtigung extends basis_db { - public $berechtigungen=array(); + public $result=array(); public $new; public $rolle_kurzbz; @@ -85,6 +85,7 @@ class berechtigung extends basis_db $obj->berechtigung_kurzbz = $row->berechtigung_kurzbz; $obj->rolle_kurzbz = $row->rolle_kurzbz; + $obj->art = $row->art; $obj->beschreibung = $row->beschreibung; $this->result[] = $obj; @@ -97,5 +98,99 @@ class berechtigung extends basis_db return false; } } + + /** + * Laedt die Berechtigungen + * + * @return boolean + */ + public function getBerechtigungen() + { + $this->result=array(); + $qry = 'SELECT * FROM system.tbl_berechtigung ORDER BY berechtigung_kurzbz'; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new berechtigung(); + + $obj->berechtigung_kurzbz = $row->berechtigung_kurzbz; + $obj->beschreibung = $row->beschreibung; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Berechtigungen'; + return false; + } + } + + /** + * Loescht eine rolleberechtigung zuordnung + * + * @param $rolle_kurzbz + * @param $berechtigung_kurzbz + */ + public function deleteRolleBerechtigung($rolle_kurzbz, $berechtigung_kurzbz) + { + $qry = "DELETE FROM system.tbl_rolleberechtigung WHERE rolle_kurzbz='".addslashes($rolle_kurzbz)."' AND berechtigung_kurzbz='".addslashes($berechtigung_kurzbz)."';"; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Löschen der Zuordnung:'.$this->db_last_error(); + return false; + } + } + + /** + * Speichert eine RolleBerechtigung Zuordnung + * + */ + public function saveRolleBerechtigung() + { + $qry = "SELECT 1 FROM system.tbl_rolleberechtigung + WHERE rolle_kurzbz='".addslashes($this->rolle_kurzbz)."' + AND berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."'"; + + if($this->db_query($qry)) + { + if($this->db_num_rows()>0) + { + //Update + $qry = "UPDATE system.tbl_rolleberechtigung SET art='".addslashes($this->art)."' WHERE rolle_kurzbz='".addslashes($this->rolle_kurzbz)."' AND berechtigung_kurzbz='".addslashes($this->berechtigung_kurzbz)."';"; + } + else + { + //Insert + $qry = "INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art) VALUES('". + addslashes($this->rolle_kurzbz)."','". + addslashes($this->berechtigung_kurzbz)."','". + addslashes($this->art)."');"; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error(); + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Speichern der Zuteilung:'.$this->db_last_error(); + return false; + } + } } ?> \ No newline at end of file diff --git a/system/hextobase64.php b/system/hextobase64.php index 426944d2f..72b8f2617 100644 --- a/system/hextobase64.php +++ b/system/hextobase64.php @@ -48,8 +48,11 @@ function hexstr($hex) $string=''; if (!$len=mb_strlen($hex,'UTF-8')) return $string; - for ($i=0;$i\n"; flush(); - $db = new basis_db(); if (!$db->db_query('BEGIN')) die('Error:'.$db->db_last_error()."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); @@ -75,21 +76,16 @@ echo "tbl_akte...".date('Y-m-d H:i:s')."
\n"; flush(); //Akte -$beg=microtime(true); -$beg1=$beg; $qry = "SELECT akte_id, inhalt FROM public.tbl_akte where inhalt is not null and inhalt>''; \n"; if($result = $db->db_query($qry)) { echo "
\nRecords...".$db->db_num_rows($result)."
\n"; flush(); - $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->inhalt=convert($row->inhalt); - $qry = "UPDATE public.tbl_akte SET inhalt='".$row->inhalt."' WHERE akte_id='".$row->akte_id."'; "; + $qry = "UPDATE public.tbl_akte SET inhalt='".$row->inhalt."' WHERE akte_id='".addslashes($row->akte_id)."'; "; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -97,25 +93,18 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); - echo $row->akte_id."($erg sec), "; + echo $row->akte_id.", "; flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\ntbl_akte...ENDE $erg sec ".$db->db_last_error()."
\n"; +#$db->db_free_result($result); +echo "
\ntbl_akte...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -123,22 +112,17 @@ echo "
\n"; echo "tbl_person...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; -$qry = "SELECT foto, person_id FROM public.tbl_person WHERE foto is not null and foto>''; \n"; +$qry = "SELECT foto, person_id FROM public.tbl_person WHERE foto is not null and foto>'' ; \n"; if($result = $db->db_query($qry)) { - echo "
\nRecords...".$db->db_num_rows($result)."
\n"; flush(); $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->foto=convert($row->foto); - $qry = "UPDATE public.tbl_person SET foto='".$row->foto."' WHERE person_id='".$row->person_id."'; \n"; + $qry = "UPDATE public.tbl_person SET foto='".$row->foto."' WHERE person_id='".addslashes($row->person_id)."'; \n"; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -146,25 +130,18 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); - echo $row->person_id."($erg sec), "; + echo $row->person_id.", "; flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\ntbl_person...ENDE $erg sec ".$db->db_last_error()."
\n"; +#$db->db_free_result($result); +echo "
\ntbl_person...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -174,9 +151,7 @@ echo "
\n"; echo "tbl_frage_sprache bild+audio...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; -$qry = "SELECT bild,audio, frage_id, sprache FROM testtool.tbl_frage_sprache WHERE (bild is not null and bild >'') or (audio is not null and audio >''); \n"; +$qry = "SELECT bild,audio, frage_id, sprache FROM testtool.tbl_frage_sprache WHERE (bild is not null and bild >'') or (audio is not null and audio >'') ; \n"; if($result = $db->db_query($qry)) { echo "
\nRecords...".$db->db_num_rows($result)."
\n"; @@ -185,11 +160,10 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); $row->bild=convert($row->bild); $row->audio=convert($row->audio); - $qry = "UPDATE testtool.tbl_frage_sprache SET audio=".($row->audio?"'".$row->audio."'":'null')." ,bild=".($row->bild?"'".$row->bild."'":'null')." WHERE frage_id='".$row->frage_id."' AND sprache='".$row->sprache."'; \n"; + $qry = "UPDATE testtool.tbl_frage_sprache SET audio=".($row->audio?"'".$row->audio."'":'null')." ,bild=".($row->bild?"'".$row->bild."'":'null')." WHERE frage_id='".addslashes($row->frage_id)."' AND sprache='".addslashes($row->sprache)."'; \n"; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -197,25 +171,18 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->frage_id."($erg sec), "; -# flush(); + echo $row->frage_id.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\ntbl_frage_sprache bild+audio...ENDE $erg sec ".$db->db_last_error()."
\n"; +#$db->db_free_result($result); +echo "
\ntbl_frage_sprache bild+audio...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -224,9 +191,7 @@ echo "
\n"; echo "testtool.tbl_vorschlag_sprache bild+audio...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; -$qry = "SELECT bild,audio, vorschlag_id, sprache FROM testtool.tbl_vorschlag_sprache WHERE (bild is not null and bild>'') or (audio is not null and audio>''); \n"; +$qry = "SELECT bild,audio, vorschlag_id, sprache FROM testtool.tbl_vorschlag_sprache WHERE (bild is not null and bild>'') or (audio is not null and audio>'') ; \n"; # --->$qry = "SELECT bild, frage_id, sprache FROM testtool.tbl_vorschlag_sprache WHERE bild is not null and bild>''"; if($result = $db->db_query($qry)) { @@ -236,11 +201,9 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->bild=convert($row->bild); $row->audio=convert($row->audio); - $qry = "UPDATE testtool.tbl_vorschlag_sprache SET bild=".($row->bild?"'".$row->bild."'":'null').", audio=".($row->audio?"'".$row->audio."'":'null')." WHERE vorschlag_id='".$row->vorschlag_id."' AND sprache='".$row->sprache."'; \n"; + $qry = "UPDATE testtool.tbl_vorschlag_sprache SET bild=".($row->bild?"'".$row->bild."'":'null').", audio=".($row->audio?"'".$row->audio."'":'null')." WHERE vorschlag_id='".addslashes($row->vorschlag_id)."' AND sprache='".addslashes($row->sprache)."'; \n"; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -248,25 +211,17 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->vorschlag_id."($erg sec), "; -# flush(); + echo $row->vorschlag_id.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\ntesttool.tbl_vorschlag_sprache bild + audio...ENDE $erg sec ".$db->db_last_error()."
\n"; +echo "
\ntesttool.tbl_vorschlag_sprache bild + audio...".date('Y-m-d H:i:s')." ENDE ".date('Y-m-d H:i:s')." ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -275,9 +230,6 @@ echo "
\n"; echo "kommune.tbl_wettbewerb icon...".date('Y-m-d H:i:s')."
\n"; flush(); - -$beg=microtime(true); -$beg1=$beg; $qry = "SELECT icon, wettbewerb_kurzbz FROM kommune.tbl_wettbewerb WHERE icon is not null and icon>''; \n"; if($result = $db->db_query($qry)) { @@ -288,8 +240,6 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->icon=convert($row->icon); $qry = "UPDATE kommune.tbl_wettbewerb SET icon='".$row->icon."' WHERE wettbewerb_kurzbz='".addslashes($row->wettbewerb_kurzbz)."'; \n"; $res=$db->db_query($qry); @@ -299,25 +249,18 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->wettbewerb_kurzbz."($erg sec), "; -# flush(); + echo $row->wettbewerb_kurzbz.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\nkommune.tbl_wettbewerb icon...ENDE $erg sec ".$db->db_last_error()."
\n"; +#$db->db_free_result($result); +echo "
\nkommune.tbl_wettbewerb icon...".date('Y-m-d H:i:s')." ENDE ".date('Y-m-d H:i:s')." ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -326,8 +269,6 @@ echo "
\n"; echo "kommune.tbl_wettbewerb logo...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; $qry = "SELECT logo, team_kurzbz FROM kommune.tbl_team WHERE logo is not null and logo>''; \n"; if($result = $db->db_query($qry)) { @@ -338,8 +279,6 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->logo=convert($row->logo); $qry = "UPDATE kommune.tbl_team SET logo='".$row->logo."' WHERE team_kurzbz='".addslashes($row->team_kurzbz)."'"; $res=$db->db_query($qry); @@ -349,25 +288,17 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->team_kurzbz."($erg sec), "; -# flush(); + echo $row->team_kurzbz.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\nkommune.tbl_wettbewerb logo...ENDE $erg sec ".$db->db_last_error()."
\n"; +echo "
\nkommune.tbl_wettbewerb logo...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -376,8 +307,6 @@ echo "
\n"; echo "public.tbl_sprache flagge ...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; $qry = "SELECT flagge, sprache FROM public.tbl_sprache WHERE flagge is not null and flagge>''; \n"; if($result = $db->db_query($qry)) { @@ -387,10 +316,8 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->flagge=convert($row->flagge); - $qry = "UPDATE public.tbl_sprache SET flagge='".$row->flagge."' WHERE sprache='".$row->sprache."'; \n"; + $qry = "UPDATE public.tbl_sprache SET flagge='".$row->flagge."' WHERE sprache='".addslashes($row->sprache)."'; \n"; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -398,26 +325,18 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " $i : $erg sec
\n"; + echo "
\n"; flush(); } - - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->sprache."($erg sec), "; -# flush(); + echo $row->sprache.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\npublic.tbl_sprache flagge...ENDE $erg sec ".$db->db_last_error()."
\n"; +echo "
\npublic.tbl_sprache flagge...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -426,8 +345,6 @@ echo "
\n"; echo "public.tbl_erhalter logo ...".date('Y-m-d H:i:s')."
\n"; flush(); -$beg=microtime(true); -$beg1=$beg; $qry = "SELECT logo, erhalter_kz FROM public.tbl_erhalter WHERE logo is not null and logo>''; \n"; if($result = $db->db_query($qry)) { @@ -437,10 +354,8 @@ if($result = $db->db_query($qry)) $i=0; while($row = $db->db_fetch_object($result)) { - $beg2=microtime(true); - $row->logo=convert($row->logo); - $qry = "UPDATE public.tbl_erhalter SET logo='".$row->logo."' WHERE erhalter_kz='".$row->erhalter_kz."'"; + $qry = "UPDATE public.tbl_erhalter SET logo='".$row->logo."' WHERE erhalter_kz='".addslashes($row->erhalter_kz)."'"; $res=$db->db_query($qry); if(!$rows=$db->db_affected_rows($res)) { @@ -448,25 +363,51 @@ if($result = $db->db_query($qry)) $db->db_query('ROLLBACK'); die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); } - $db->db_free_result($res); - - $rest=$i%$next_row_counter; - if ($i>0 && !$rest) + + if ($i>0 && !$i%$next_row_counter) { - $erg=number_format( (microtime(true) - $beg1 ),3); - $beg1=microtime(true); - echo " : $next_row_counter Anederungen : $erg sec
\n"; + echo "
\n"; flush(); } - $erg=number_format( (microtime(true) - $beg2 ),3); -# echo $row->erhalter_kz."($erg sec), "; -# flush(); + echo $row->erhalter_kz.", "; + flush(); $i++; } } -$db->db_free_result($result); -$erg=number_format( (microtime(true) - $beg ),3); -echo "
\npublic.tbl_erhalter logo...ENDE $erg sec ".$db->db_last_error()."
\n"; +echo "
\npublic.tbl_erhalter logo...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; +flush(); + +echo "
\n"; + +$qry = "SELECT bild, veranstaltungskategorie_kurzbz FROM campus.tbl_veranstaltungskategorie WHERE bild is not null and bild>''; \n"; +if($result = $db->db_query($qry)) +{ + echo "
\nRecords...".$db->db_num_rows($result)."
\n"; + flush(); + + $i=0; + while($row = $db->db_fetch_object($result)) + { + $row->bild=convert($row->bild); + $qry = "UPDATE campus.tbl_veranstaltungskategorie SET bild='".$row->bild."' WHERE veranstaltungskategorie_kurzbz='".addslashes($row->veranstaltungskategorie_kurzbz)."'"; + $res=$db->db_query($qry); + if(!$rows=$db->db_affected_rows($res)) + { + $err=$db->db_last_error(); + $db->db_query('ROLLBACK'); + die("Error :" .$err."
\n".$qry."
\n".' line '. __LINE__ .' ; file ' . __FILE__); + } + if ($i>0 && !$i%$next_row_counter) + { + echo "
\n"; + flush(); + } + echo $row->veranstaltungskategorie_kurzbz.", "; + flush(); + $i++; + } +} +echo "
\npublic.tbl_erhalter logo...".date('Y-m-d H:i:s')." ENDE ".$db->db_last_error()."
\n"; flush(); echo "
\n"; @@ -477,5 +418,5 @@ else echo "
\nAktualisierung abgeschlossen ".date('Y-m-d H:i:s').""; #$db->db_query('ROLLBACK'); - + ?> \ No newline at end of file diff --git a/system/update12-20.php b/system/update12-20.php index 930fec69f..d97664506 100644 --- a/system/update12-20.php +++ b/system/update12-20.php @@ -276,6 +276,8 @@ if(!@$db->db_query('SELECT * FROM system.tbl_berechtigung LIMIT 1;')) GRANT SELECT ON system.tbl_rolle TO GROUP ".DB_CIS_USER_GROUP."; GRANT SELECT ON system.tbl_rolleberechtigung TO GROUP ".DB_CIS_USER_GROUP."; + GRANT SELECT, UPDATE ON system.tbl_benutzerrolle_benutzerberechtigung_id_seq TO GROUP ".DB_FAS_USER_GROUP."; + GRANT SELECT, UPDATE ON system.tbl_benutzerrolle_benutzerberechtigung_id_seq TO GROUP ".DB_CIS_USER_GROUP."; GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_benutzerrolle TO GROUP ".DB_FAS_USER_GROUP."; GRANT SELECT, INSERT, UPDATE, DELETE ON system.tbl_berechtigung TO GROUP ".DB_FAS_USER_GROUP."; diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php index 03791dc14..9dfdba24e 100644 --- a/vilesci/stammdaten/benutzerberechtigung_details.php +++ b/vilesci/stammdaten/benutzerberechtigung_details.php @@ -21,8 +21,7 @@ * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ - require_once('../../config/vilesci.config.inc.php'); - + require_once('../../config/vilesci.config.inc.php'); require_once('../../include/globals.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/studiengang.class.php'); @@ -33,44 +32,37 @@ require_once('../../include/person.class.php'); require_once('../../include/benutzer.class.php'); + $user = get_uid(); - $reloadstr = ""; // neuladen der liste im oberen frame - $htmlstr = ""; - $errorstr = ""; //fehler beim insert - $sel = ""; - $chk = ""; - $fb_arr = array(); - $sg_arr = array(); - $b_arr = array(); + $reloadstr = ''; // neuladen der liste im oberen frame + $htmlstr = ''; + $errorstr = ''; //fehler beim insert + $sel = ''; + $chk = ''; + $oe_arr = array(); + $rolle_arr = array(); + $berechtigung_arr = array(); $st_arr = array(); - $benutzerberechtigung_id = ""; - $art = ""; - $fachbereich_kurzbz = ""; - $studiengang_kz =""; - $studiengang_kurzbz = ""; - $berechtigung_kurzbz = ""; - $uid = ""; - $studiensemester_kz = ""; - $start = ""; - $ende = ""; + $benutzerberechtigung_id = ''; + $art = ''; + $oe_kurzbz = ''; + $studiengang_kurzbz = ''; + $berechtigung_kurzbz = ''; + $uid = ''; + $studiensemester_kz = ''; + $start = ''; + $ende = ''; $neu = false; + $negativ = false; - if(isset($_POST["del"])) + if(isset($_POST['del'])) { - $benutzerberechtigung_id = $_POST["benutzerberechtigung_id"]; - $art = $_POST["art"]; - $fachbereich_kurzbz = $_POST["fachbereich_kurzbz"]; - $studiengang_kz = $_POST["studiengang_kz"]; - $berechtigung_kurzbz = $_POST["berechtigung_kurzbz"]; - $uid = $_POST["uid"]; - $studiensemester_kurzbz = $_POST["studiensemester_kurzbz"]; - $start = $_POST["start"]; - $ende = $_POST["ende"]; + $benutzerberechtigung_id = $_POST['benutzerberechtigung_id']; $ber = new benutzerberechtigung(); if(!$ber->delete($benutzerberechtigung_id)) - $errorstr .= "Datensatz konnte nicht gelöscht werden!"; + $errorstr .= 'Datensatz konnte nicht gelöscht werden!'; $reloadstr .= " @@ -323,36 +337,6 @@ function unmarkier(id) document.getElementById(id).style.background = "#eeeeee"; } -function unchanged() -{ - document.studiengangform.reset(); - document.studiengangform.schick.disabled = true; - document.getElementById("submsg").style.visibility="hidden"; - checkmail(); - checkdate(document.studiengangform.bescheidvom); - checkdate(document.studiengangform.titelbescheidvom); - checkrequired(document.studiengangform.kurzbz); - checkrequired(document.studiengangform.bezeichnung); - checkrequired(document.studiengangform.studiengang_kz); -} - -function checkmail() -{ - if((document.studiengangform.email.value != "")&&(!emailCheck(document.studiengangform.email.value))) - { - //document.studiengangform.schick.disabled = true; - document.studiengangform.email.className="input_error"; - return false; - } - else - { - document.studiengangform.email.className = "input_ok"; - //document.studiengangform.schick.disabled = false; - //document.getElementById("submsg").style.visibility="visible"; - return true; - } -} - function checkdate(feld) { if ((feld.value != "") && (!dateCheck(feld))) @@ -384,27 +368,9 @@ function checkrequired(feld) return true; } } - -function submitable() +function setnull(id) { - mail = checkmail(); - date1 = checkdate(document.studiengangform.bescheidvom); - date2 = checkdate(document.studiengangform.titelbescheidvom); - required1 = checkrequired(document.studiengangform.kurzbz); - required2 = checkrequired(document.studiengangform.bezeichnung); - required3 = checkrequired(document.studiengangform.studiengang_kz); - - if((!mail) || (!date1) || (!date2) || (!required1) || (!required2) || (!required3)) - { - document.studiengangform.schick.disabled = true; - document.getElementById("submsg").style.visibility="hidden"; - } - else - { - document.studiengangform.schick.disabled = false; - document.getElementById("submsg").style.visibility="visible"; - - } + document.getElementById(id).selectedIndex=0; } diff --git a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php index 6bfb11751..5a4ea200b 100644 --- a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php +++ b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php @@ -20,28 +20,29 @@ * 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/basis_db.class.php'); - if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - - - require_once('../../include/functions.inc.php'); + require_once('../../config/vilesci.config.inc.php'); + require_once('../../include/functions.inc.php'); require_once('../../include/studiengang.class.php'); + if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + $htmlstr = ""; - $sql_query = "select distinct(tbl_benutzerberechtigung.uid), tbl_person.nachname, tbl_person.vorname from tbl_benutzerberechtigung, tbl_benutzer, tbl_person where tbl_benutzerberechtigung.uid = tbl_benutzer.uid and tbl_benutzer.person_id = tbl_person.person_id order by tbl_benutzerberechtigung.uid"; + $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 + ORDER BY tbl_benutzerrolle.uid"; if(!$erg=$db->db_query($sql_query)) { - $htmlstr='Fehler beim laden der Berechtigungen'; + $htmlstr='Fehler beim Laden der Berechtigungen'; } else { - //$htmlstr = "\n"; + $htmlstr .= "
Rollen Administrieren
"; $htmlstr .= "
"; $htmlstr .= "
 "; $htmlstr .= "
"; @@ -67,7 +68,7 @@ ?> -Studiengänge Uebersicht +Berechtigungen Uebersicht diff --git a/vilesci/stammdaten/berechtigungrolle.php b/vilesci/stammdaten/berechtigungrolle.php new file mode 100644 index 000000000..392e0d601 --- /dev/null +++ b/vilesci/stammdaten/berechtigungrolle.php @@ -0,0 +1,160 @@ + + * 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/berechtigung.class.php'); + require_once('../../include/benutzerberechtigung.class.php'); + + $user = get_uid(); + + /* + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + + if(!$rechte->isBerechtigt('admin')) + die('Sie müssen Administratorrechte besitzen, um diese Seite anzuzeigen'); + */ +?> + + +Berechtigungen Uebersicht + + + + + + + +

Berechtigung - Rolle - Übersicht

+ +rolle_kurzbz = $rolle_kurzbz; + $berechtigung->berechtigung_kurzbz = $berechtigung_kurzbz; + $berechtigung->art = $art; + + if($berechtigung->saveRolleBerechtigung()) + { + echo 'Zuteilung gespeichert'; + } + else + { + echo 'Fehler beim Speichern der Zuteilung:',$berechtigung->errormsg; + } + } + } + + if(isset($_GET['delete'])) + { + $berechtigung = new berechtigung(); + if(!$berechtigung->deleteRolleBerechtigung($rolle_kurzbz, $berechtigung_kurzbz)) + echo 'Fehler beim Löschen: ',$berechtigung->errormsg; + else + echo 'Berechtigung gelöscht!'; + } + + echo '
Zurück'; + echo '

RolleBerechtigung "',$rolle_kurzbz,'":

'; + + $berechtigung = new berechtigung(); + $berechtigung->getBerechtigungen(); + + echo '
'; + echo ''; + echo ''; + echo ' '; + echo ' '; + echo ''; + + + echo '
+ + + + + + + + + '; + + $berechtigung = new berechtigung(); + $berechtigung->getRolleBerechtigung($rolle_kurzbz); + + foreach($berechtigung->result as $rolle) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo '
KurzbzArtBeschreibung
',$rolle->berechtigung_kurzbz,'',$rolle->art,'',$rolle->beschreibung,'entfernen
'; + +} +else +{ + //Tabelle mit Rollen anzeigen + $berechtigung = new berechtigung(); + $berechtigung->getRollen(); + + echo '

Rollen:

'; + echo ' + + + + + + + '; + + foreach($berechtigung->result as $rolle) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo '
KurzbzBeschreibungBerechtigungen zuordnen
',$rolle->rolle_kurzbz,'',$rolle->beschreibung,'bearbeiten
'; +} +?> + + +