From c742ab7b426d29400460ce30adaa1e0b9a55b6a8 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 10 Jun 2015 19:46:45 +0200 Subject: [PATCH 01/61] Erste Version --- include/service.class.php | 1 - include/vorlage.class.php | 295 +++++++++++++- system/checksystem.php | 71 +++- .../dokumentvorlagen_verwaltung.php | 374 ++++++++++++++++++ 4 files changed, 734 insertions(+), 7 deletions(-) create mode 100644 vilesci/stammdaten/dokumentvorlagen_verwaltung.php diff --git a/include/service.class.php b/include/service.class.php index 69a8d3f26..da78bc8a5 100755 --- a/include/service.class.php +++ b/include/service.class.php @@ -203,7 +203,6 @@ class service extends basis_db ) AS a GROUP BY service_id,oe_kurzbz,bezeichnung,beschreibung,ext_id,content_id ORDER BY anzahl DESC,bezeichnung,oe_kurzbz"; - echo $qry; if($result = $this->db_query($qry)) { diff --git a/include/vorlage.class.php b/include/vorlage.class.php index d338d107d..c2a700fbf 100644 --- a/include/vorlage.class.php +++ b/include/vorlage.class.php @@ -34,11 +34,18 @@ class vorlage extends basis_db public $new; //Tabellenspalten - public $vorlage_kurzbz; // varchar(16) - public $studiengang_kz; // integer - public $version; // smallint - public $text; // text - public $mimetype; // varchar(64) + public $vorlage_kurzbz; // varchar(16) + public $studiengang_kz; // integer + public $version; // smallint + public $text; // text + public $mimetype; // varchar(64) + public $bezeichnung; // varchar(64) + public $anmerkung; // text + public $style; // text + public $berechtigung; // varchar(32)[] + public $oe_kurzbz; // varchar(32) + public $vorlagestudiengang_id; // bigint + public $anmerkung_vorlagestudiengang; // text /** * Konstruktor @@ -47,7 +54,285 @@ class vorlage extends basis_db { parent::__construct(); } + + /** + * Laedt eine Vorlage + * @param $vorlage_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function loadVorlage($vorlage_kurzbz) + { + $qry = "SELECT * FROM public.tbl_vorlage WHERE vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz); + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->vorlage_kurzbz = $row->vorlage_kurzbz; + $this->bezeichnung = $row->bezeichnung; + $this->anmerkung = $row->anmerkung; + $this->mimetype = $row->mimetype; + return true; + } + else + { + $this->errormsg = 'Eintrag wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Speichert eine Vorlage + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function saveVorlage($new=null) + { + if(is_null($new)) + $new = $this->new; + + if($new) + { + $qry = "INSERT INTO public.tbl_vorlage(vorlage_kurzbz, bezeichnung, anmerkung, mimetype) VALUES(". + $this->db_add_param($this->vorlage_kurzbz).','. + $this->db_add_param($this->bezeichnung).','. + $this->db_add_param($this->anmerkung).','. + $this->db_add_param($this->mimetype).');'; + } + else + { + $qry = 'UPDATE public.tbl_vorlage + SET bezeichnung='.$this->db_add_param($this->bezeichnung).', + anmerkung='.$this->db_add_param($this->anmerkung).', + mimetype='.$this->db_add_param($this->mimetype).', + WHERE vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).';'; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error(); + return false; + } + } + + /** + * Liefert alle Vorlagen + * @param $order Sortierreihenfolge. Default:vorlage_kurzbz + */ + public function getAllVorlagen($order='vorlage_kurzbz') + { + $qry ="SELECT * FROM public.tbl_vorlage ORDER BY ".$order.";"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new vorlage(); + $obj->vorlage_kurzbz = $row->vorlage_kurzbz; + $obj->bezeichnung = $row->bezeichnung; + $obj->anmerkung = $row->anmerkung; + $obj->mimetype = $row->mimetype; + + $this->result[]= $obj; + } + } + else + return false; + } + + /** + * Laedt die Vorlage zu einer OE + * @param $vorlage_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function loadVorlageOE($vorlagestudiengang_id) + { + $qry = "SELECT * FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id=".$this->db_add_param($vorlagestudiengang_id); + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->vorlagestudiengang_id = $row->vorlagestudiengang_id; + $this->vorlage_kurzbz = $row->vorlage_kurzbz; + $this->studiengang_kz = $row->studiengang_kz; + $this->version = $row->version; + $this->text = $row->text; + $this->oe_kurzbz = $row->oe_kurzbz; + $this->style = $row->style; + $this->berechtigung = $row->berechtigung; + $this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; + return true; + } + else + { + $this->errormsg = 'Eintrag wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Laedt alle Versionen einer Vorlage + * @param $vorlage_kurzbz + * @param $oe_kurzbz Optional. Gibt nur die Vorlagen zu dieser OE aus. + * @return true wenn ok, false im Fehlerfall + */ + public function getAllVersions($vorlage_kurzbz=null, $oe_kurzbz=null) + { + $qry = "SELECT + * + FROM + public.tbl_vorlagestudiengang + WHERE + 1=1"; + if(!is_null($vorlage_kurzbz) && $vorlage_kurzbz!='') + { + $qry.=" AND vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz); + } + if(!is_null($oe_kurzbz) && $oe_kurzbz!='') + { + $qry.=" AND oe_kurzbz=".$this->db_add_param($oe_kurzbz); + } + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new vorlage(); + $obj->vorlagestudiengang_id = $row->vorlagestudiengang_id; + $obj->vorlage_kurzbz = $row->vorlage_kurzbz; + $obj->studiengang_kz = $row->studiengang_kz; + $obj->version = $row->version; + $obj->text = $row->text; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->style = $row->style; + $obj->berechtigung = $row->berechtigung; + $obj->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; + + $this->result[]= $obj; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + + /** + * Speichert die Vorlage zu einer OE + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function saveVorlageOE($new=null) + { + if($new == null) + $new = $this->new; + + if($new) + { + $qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang) VALUES(". + $this->db_add_param($this->vorlage_kurzbz).','. + $this->db_add_param($this->studiengang_kz).','. + $this->db_add_param($this->version).','. + $this->db_add_param($this->text).','. + $this->db_add_param($this->oe_kurzbz).','. + $this->db_add_param($this->style).','. + $this->db_add_param($this->berechtigung).','. + $this->db_add_param($this->anmerkung_vorlagestudiengang).');'; + } + else + { + $qry = 'UPDATE public.tbl_vorlagestudiengang + SET vorlage_kurzbz='.$this->db_add_param($this->vorlage_kurzbz).', + studiengang_kz='.$this->db_add_param($this->studiengang_kz).', + version='.$this->db_add_param($this->version).', + text='.$this->db_add_param($this->text).', + oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', + style='.$this->db_add_param($this->style).', + berechtigung='.$this->db_add_param($this->berechtigung).', + anmerkung_vorlagestudiengang='.$this->db_add_param($this->anmerkung_vorlagestudiengang).' + WHERE vorlagestudiengang_id='.$this->db_add_param($this->vorlagestudiengang_id).';'; + } + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern: '.$this->db_last_error(); + return false; + } + } + + /** + * Löscht die Vorlagestudiengagn + * @param type $vorlagestudiengang_id ID der Vorlage + */ + public function deleteVorlagestudiengang($vorlagestudiengang_id) + { + $qry = 'DELETE FROM public.tbl_vorlagestudiengang WHERE vorlagestudiengang_id='.$this->db_add_param($vorlagestudiengang_id).';'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Vorlage konnte nicht gelöscht werden'; + return false; + } + } + /** + * Liefert die hoechste Version der Vorlage + * + * @param $oe_kurzbz Organisationseinheit der Vorlage + * @param $vorlage_kurzbz Name der Vorlage + */ + public function getMaxVersion($oe_kurzbz, $vorlage_kurzbz) + { + $qry = "SELECT + max(version) maxversion + FROM + public.tbl_vorlagestudiengang + WHERE + vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)." + AND + oe_kurzbz=".$this->db_add_param($oe_kurzbz); + + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + return $row->maxversion; + else + return 0; + } + else + { + $this->errormsg='Fehler beim Ermitteln der hoechsten Version'; + return false; + } + } + + /** * Liefert die aktuelle Vorlage * diff --git a/system/checksystem.php b/system/checksystem.php index f90c147d1..2e86a8d33 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -3146,6 +3146,75 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Gruppe CMS_LOCK anlegen (benoetigt fuer das Sperren von CMS-Content) +if($result = @$db->db_query("SELECT 1 FROM public.tbl_gruppe WHERE gruppe_kurzbz='CMS_LOCK' LIMIT 1")) +{ + if($db->db_num_rows($result)==0) + { + $qry = " + INSERT INTO public.tbl_gruppe(gruppe_kurzbz,studiengang_kz,semester,bezeichnung,beschreibung,sichtbar,lehre,aktiv,sort,mailgrp,generiert,insertamum,insertvon,orgform_kurzbz,content_visible,gesperrt,zutrittssystem) VALUES('CMS_LOCK',0,NULL,'CMS_LOCK','Sperrgruppe CMS',FALSE,TRUE,TRUE,NULL,FALSE,FALSE,now(),'checksystem',NULL,WAHR,FALSE,FALSE); + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_gruppe '.$db->db_last_error().'
'; + else + echo ' public.tbl_gruppe: Gruppe CMS_LOCK angelegt (benoetigt fuer das Sperren von CMS-Content)
'; + } +} + +// DMS-Kategorie Akte anlegen und mit CMS_LOCK sperren +if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz='Akte' LIMIT 1")) +{ + if($db->db_num_rows($result)==0) + { + $qry = " + INSERT INTO campus.tbl_dms_kategorie(kategorie_kurzbz,bezeichnung,beschreibung,parent_kategorie_kurzbz) VALUES('Akte','Akten','Akten zu Personen',NULL); + INSERT INTO campus.tbl_dms_kategorie_gruppe(kategorie_kurzbz,gruppe_kurzbz,insertamum,insertvon) VALUES('Akte','CMS_LOCK',now(),'checksystem'); + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_dms_kategorie '.$db->db_last_error().'
'; + else + echo ' campus.tbl_dms_kategorie: Kategorie Akte angelegt und mit Gruppe CMS_LOCK gesperrt
'; + } +} + +// DMS-Kategorie notiz anlegen und mit CMS_LOCK sperren +if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE kategorie_kurzbz='notiz' LIMIT 1")) +{ + if($db->db_num_rows($result)==0) + { + $qry = " + INSERT INTO campus.tbl_dms_kategorie(kategorie_kurzbz,bezeichnung,beschreibung,parent_kategorie_kurzbz) VALUES('notiz','Notizen',NULL,NULL); + INSERT INTO campus.tbl_dms_kategorie_gruppe(kategorie_kurzbz,gruppe_kurzbz,insertamum,insertvon) VALUES('notiz','CMS_LOCK',now(),'checksystem'); + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_dms_kategorie '.$db->db_last_error().'
'; + else + echo ' campus.tbl_dms_kategorie: Kategorie Notiz angelegt und mit Gruppe CMS_LOCK gesperrt
'; + } +} + +// Spalte style, berechtigung und anmerkung_vorlagestudiengang fuer public.tbl_vorlagestudiengang und neues Recht basis/dokumente fuer die Dokumentenverwaltung +if(!$result = @$db->db_query("SELECT style FROM public.tbl_vorlagestudiengang")) +{ + $qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN style text; + ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN berechtigung varchar(32)[]; + ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN anmerkung_vorlagestudiengang text; + + INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/dokumente','Verwaltung der Dokumentvorlagen'); + + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_vorlagestudiengang TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_vorlagestudiengang: '.$db->db_last_error().'
'; + else + echo '
public.tbl_vorlagestudiengang: Neue Spalten style, berechtigung und anmerkung_vorlagestudiengang hinzugefuegt. Neues Recht basis/dokumente angelegt'; +} + + echo '


'; $tabellen=array( @@ -3359,7 +3428,7 @@ $tabellen=array( "public.tbl_tag" => array("tag"), "public.tbl_variable" => array("name","uid","wert"), "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"), - "public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz"), + "public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz","style","berechtigung","anmerkung_vorlagestudiengang"), "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id"), "testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"), "testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"), diff --git a/vilesci/stammdaten/dokumentvorlagen_verwaltung.php b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php new file mode 100644 index 000000000..cb2f1d1fa --- /dev/null +++ b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php @@ -0,0 +1,374 @@ + + */ +/** + * Dokumentvorlagen + * + * - Anlegen und Bearbeiten von Dokumentvorlagen + * + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/vorlage.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/organisationseinheit.class.php'); +require_once('../../include/studiengang.class.php'); + +if (!$db = new basis_db()) +{ + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); +} + +$user = get_uid(); +$oe_kurzbz = (isset($_REQUEST['oe_kurzbz']) ? $_REQUEST['oe_kurzbz'] : null); +$vorlage_kurzbz = (isset($_REQUEST['vorlage_kurzbz']) ? $_REQUEST['vorlage_kurzbz'] : null); +$vorlagestudiengang_id = (isset($_REQUEST['vorlagestudiengang_id']) ? $_REQUEST['vorlagestudiengang_id'] : null); +$neu = (isset($_REQUEST['neu']) ? true : false); + +$studiengang = new studiengang(); +$studiengang->load('0'); +$default_oe = $studiengang->oe_kurzbz; + + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('basis/dokumente')) +{ + die($rechte->errormsg); +} + +echo ' + + + + Dokumentvorlagen Verwaltung + + + + + + + + + +

Dokumentvorlagen Verwaltung

'; + +// Speichern einer Dokumentvorlage +if(isset($_POST['speichern'])) +{ + + if(!$rechte->isBerechtigt('basis/dokumente', $oe_kurzbz, 'sui')) + { + die($rechte->errormsg); + } + + $dokumentvorlage = new vorlage(); + + if(isset($_POST['vorlagestudiengang_id']) && $_POST['vorlagestudiengang_id']!='') + { + //Vorlage laden + if(!$dokumentvorlage->loadVorlageOE($_POST['vorlagestudiengang_id'])) + { + die($dokumentvorlage->errormsg); + } + + $dokumentvorlage->new=false; + $dokumentvorlage->vorlagestudiengang_id = $_POST['vorlagestudiengang_id']; + } + else + { + //Neue Vorlage anlegen + $dokumentvorlage->new=true; + } + + $studiengang = new studiengang(); + $studiengang->getStudiengangFromOe($_POST['oe_kurzbz']); + + if ($studiengang->studiengang_kz=='') + $studiengang_kz = 0; + else + $studiengang_kz = $studiengang->studiengang_kz; + + $dokumentvorlage->vorlage_kurzbz = $_POST['vorlage_kurzbz']; + $dokumentvorlage->studiengang_kz = $studiengang_kz; + $dokumentvorlage->version = $_POST['version']; + $dokumentvorlage->text = $_POST['content']; + $dokumentvorlage->oe_kurzbz = $_POST['oe_kurzbz']; + $dokumentvorlage->style = $_POST['style']; + $dokumentvorlage->berechtigung = $_POST['berechtigung']; + $dokumentvorlage->anmerkung_vorlagestudiengang = $_POST['anmerkung']; + + if($dokumentvorlage->saveVorlageOE()) + { + echo 'Daten wurden erfolgreich gespeichert'; + //$reihungstest_id = $reihungstest->reihungstest_id; + //$stg_kz = $reihungstest->studiengang_kz; + } + else + { + echo ''.$db->convert_html_chars($dokumentvorlage->errormsg).''; + } + $neu=false; +} + +// Speichern einer Dokumentvorlage +if(isset($_GET['delete'])) +{ + + if(!$rechte->isBerechtigt('basis/dokumente', $oe_kurzbz, 'suid')) + { + die($rechte->errormsg); + } + + if(isset($_GET['vorlagestudiengang_id']) && $_GET['vorlagestudiengang_id']!='') + { + $dokumentvorlage = new vorlage(); + if($dokumentvorlage->deleteVorlagestudiengang($_GET['vorlagestudiengang_id'])) + echo 'Vorlage wurde erfolgreich gelöscht'; + else + echo ''.$dokumentvorlage->errormsg.''; + } + else + echo 'Vorlagestudiengang_ID ist nicht gesetzt'; + + $neu=true; +} + + +echo '
'; + +//Vorlagen DropDown +$vorlage = new vorlage(); +$vorlage->getAllVorlagen('bezeichnung'); + +echo "'; + +//OE-Dropdown +$organisationseinheit = new organisationseinheit(); +$organisationseinheit->getAll(true, true); + +echo ""; +echo ""; +echo "

"; + +if($vorlagestudiengang_id=='') + $neu=true; +$vorlageOE = new vorlage(); + +if(!$neu) +{ + if(!$vorlageOE->loadVorlageOE($vorlagestudiengang_id)) + die('Vorlage existiert nicht'); +} +else +{ + $vorlageOE->vorlage_kurzbz = $vorlage_kurzbz; + $vorlageOE->oe_kurzbz = $oe_kurzbz; + $vorlageOE->version = ($vorlageOE->getMaxVersion($oe_kurzbz, $vorlage_kurzbz))+1; +} + +//Formular zum Bearbeiten der Vorlage +echo ' + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + if(!$neu) + $val = 'Änderung Speichern'; + else + $val = 'Neu anlegen'; + + echo ' + + + +
Vorlage'; + + if($vorlageOE->oe_kurzbz!='') + $oe=$vorlageOE->oe_kurzbz; + elseif($oe_kurzbz!='') + $oe=$oe_kurzbz; + else + $oe=$default_oe; + //Vorlagen DropDown + $vorlage = new vorlage(); + $vorlage->getAllVorlagen('bezeichnung'); + + echo ' + +
Organisationseinheit'; + //OE-Dropdown + $organisationseinheit = new organisationseinheit(); + $organisationseinheit->getAll(true, true); + + echo " +
Version
Content (XML)
Style (XML)
Berechtigung
Anmerkung
+ + + +
+
+ +
'; + +if($vorlage_kurzbz!='' || $oe_kurzbz!='') +{ + + $vorlage_version = new vorlage(); + $vorlage_version->getAllVersions($vorlage_kurzbz, $oe_kurzbz); + $oe = new organisationseinheit(); + $vorlage = new vorlage(); + //echo 'Anzahl: '.$db->db_num_rows($vorlage_version->result).''; + + echo ' + + + + + + + + + + + '; + + foreach($vorlage_version->result as $row) + { + $oe->load($row->oe_kurzbz); + $vorlage->loadVorlage($row->vorlage_kurzbz); + $vorlage_bezeichnung = ($vorlage->bezeichnung==''?$vorlage->vorlage_kurzbz:$vorlage->bezeichnung); + echo ' + + + + + + + + + + '; + } + echo '
VorlageOrganisationseinheitStudiengangVersionAnmerkung
'.$db->convert_html_chars($vorlage_bezeichnung).''.$db->convert_html_chars($oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung).''.$db->convert_html_chars($row->studiengang_kz).''.$db->convert_html_chars($row->version).''.$db->convert_html_chars($row->anmerkung_vorlagestudiengang).'EditDelete
'; +} + +echo ' +'; From 47113b66866434ee4496776cddd381b27ec34e71 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 15 Jul 2015 11:00:07 +0200 Subject: [PATCH 02/61] Neue Funktion getOEsFromVorlage --- include/vorlage.class.php | 27 +++++++++++++++++++ .../dokumentvorlagen_verwaltung.php | 5 ++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/include/vorlage.class.php b/include/vorlage.class.php index c2a700fbf..ad4f7a820 100644 --- a/include/vorlage.class.php +++ b/include/vorlage.class.php @@ -234,6 +234,33 @@ class vorlage extends basis_db } } + /** + * Liefert alle OEs, welche die $vorlage_kurzbz verwenden + * @param $vorlage_kurzbz Kurzbezeichnung der Vorlage + */ + public function getOEsFromVorlage($vorlage_kurzbz=null) + { + $qry ="SELECT + oe_kurzbz + FROM + public.tbl_vorlagestudiengang + WHERE + vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz); + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new vorlage(); + $obj->oe_kurzbz = $row->oe_kurzbz; + + $this->result[]= $obj; + } + } + else + return false; + } + /** * Speichert die Vorlage zu einer OE * Wenn $new auf true gesetzt ist wird ein neuer Datensatz diff --git a/vilesci/stammdaten/dokumentvorlagen_verwaltung.php b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php index cb2f1d1fa..0250f659a 100644 --- a/vilesci/stammdaten/dokumentvorlagen_verwaltung.php +++ b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php @@ -192,8 +192,8 @@ foreach ($vorlage->result as $row) echo ''; //OE-Dropdown -$organisationseinheit = new organisationseinheit(); -$organisationseinheit->getAll(true, true); +$organisationseinheit = new vorlage(); +$organisationseinheit->getOEsFromVorlage($vorlage_kurzbz); echo "'; $organisationseinheit = new vorlage(); $organisationseinheit->getOEsFromVorlage($vorlage_kurzbz); +if ($organisationseinheit->result=='') +{ + $organisationseinheit = new organisationseinheit(); + $organisationseinheit->getAll(); +} + echo "
'; + echo $p->t('courseInformation/unterrichtssprache').':
'; + echo $p->t('global/studiengang').':'; + echo ' @@ -509,16 +569,19 @@ else if($method=="lehrveranstaltungen") if(isset($_GET['filter'])) if($_GET['filter'] == "WSemester") - $filterqry= "AND tbl_lehrveranstaltung.semester IN (1,3,5)"; + $filterqry= " AND tbl_lehrveranstaltung.semester IN (1,3,5)"; elseif($_GET['filter'] == "SSemester") - $filterqry = "AND tbl_lehrveranstaltung.semester IN (2,4,6)"; + $filterqry= " AND tbl_lehrveranstaltung.semester IN (2,4,6)"; + + if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') + $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; //Uebersicht LVs $qry = "SELECT tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, - tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, - tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, + tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, + tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, ( Select count(*) FROM ( @@ -538,7 +601,7 @@ else if($method=="lehrveranstaltungen") tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') AND tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.status_kurzbz='$stsem->studiensemester_kurzbz' + AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' UNION SELECT person_id @@ -547,9 +610,9 @@ else if($method=="lehrveranstaltungen") JOIN public.tbl_preincoming using(preincoming_id) WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND - (von is null OR von >= '$stsem->start') + (von is null OR von <= '$stsem->start') AND - (bis is null OR bis <= (DATE '$stsem->ende' + INTERVAL '6 MONTH')) + (bis is null OR bis >= (DATE '$stsem->ende')) AND aktiv = true )a ) as anzahl FROM @@ -558,22 +621,28 @@ else if($method=="lehrveranstaltungen") tbl_lehrveranstaltung.incoming>0 AND tbl_lehrveranstaltung.aktiv AND tbl_lehrveranstaltung.lehre - AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000 - AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz + AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000"; + + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') + $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + + $qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz "; - - echo ' + + echo '
- + - - - - - - + + + + + + + + - + '; @@ -599,15 +668,17 @@ else if($method=="lehrveranstaltungen") echo ''; echo ''; echo ''; + echo ''; echo ''; echo ''; echo ''; echo ''; + echo ''; echo ''; - echo ''; + echo ''; echo ''; } } diff --git a/locale/de-AT/incoming.php b/locale/de-AT/incoming.php index 16972ab97..015eb1b9b 100755 --- a/locale/de-AT/incoming.php +++ b/locale/de-AT/incoming.php @@ -117,4 +117,6 @@ $this->phrasen['incoming/unitcode']='Unitcode'; $this->phrasen['incoming/zurAnmeldung']='Zur Anmeldung'; $this->phrasen['incoming/geaendertesLA']='Geändertes Learning Agreement'; $this->phrasen['incoming/studienrichtungGastuniversitaet']= 'Studienrichtung Gastuniversität'; +$this->phrasen['incoming/orgform']='Orgform'; +$this->phrasen['incoming/alleSprachen']='Alle Sprachen'; ?> \ No newline at end of file diff --git a/locale/en-US/incoming.php b/locale/en-US/incoming.php index 52f3a7370..f01183d36 100755 --- a/locale/en-US/incoming.php +++ b/locale/en-US/incoming.php @@ -118,4 +118,6 @@ $this->phrasen['incoming/unitcode']='Unitcode'; $this->phrasen['incoming/zurAnmeldung']='Registration'; $this->phrasen['incoming/geaendertesLA']='Changed Learning Agreement'; $this->phrasen['incoming/studienrichtungGastuniversitaet']= 'Program home university'; +$this->phrasen['incoming/orgform']='Org. structure'; +$this->phrasen['incoming/alleSprachen']='All languages'; ?> \ No newline at end of file diff --git a/vilesci/personen/incoming_lehrveranstaltungen.php b/vilesci/personen/incoming_lehrveranstaltungen.php new file mode 100644 index 000000000..70523a9b3 --- /dev/null +++ b/vilesci/personen/incoming_lehrveranstaltungen.php @@ -0,0 +1,305 @@ +. + */ + + +require_once('../../config/vilesci.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once '../../include/person.class.php'; +require_once '../../include/functions.inc.php'; +require_once '../../include/phrasen.class.php'; +require_once '../../include/preincoming.class.php'; +require_once '../../include/studiensemester.class.php'; +require_once '../../include/studiengang.class.php'; +require_once '../../include/lehrveranstaltung.class.php'; +require_once '../../include/studiengang.class.php'; +require_once '../../include/benutzerberechtigung.class.php'; + +$user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(isset($_GET['lang'])) + setSprache($_GET['lang']); + +$sprache = getSprache(); +$p=new phrasen($sprache); + +$method = htmlspecialchars($_GET['method']); + +$db = new basis_db(); + +$stsem = new studiensemester(); +$stsem->getNextStudiensemester(); + +$stg = new studiengang(); +$stg->getAll(); + +?> + + + Lehrveranstaltungs-Verwaltung + + + + + + + + + + +isBerechtigt('inout/incoming', null, 'suid')) + die($rechte->errormsg); + +if($method=="lehrveranstaltungen") +{ + + if(isset($_GET['mode']) && $_GET['mode'] == "setZero") + { + $id= $_GET['id']; + $lehrveranstaltung = new lehrveranstaltung(); + $lehrveranstaltung->load($id); + + $lehrveranstaltung->incoming = 0; + + if($lehrveranstaltung->save()) + echo $p->t('global/erfolgreichgespeichert'); + else + echo $p->t('global/fehleraufgetreten'); + } + + // Übersicht aller LVs + echo '

Lehrveranstaltungs-Verwaltung

'; + echo ' + +
'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').' Info'.$p->t('incoming/freieplätze').''.$p->t('incoming/freieplätze').'
'.$p->t('global/angemeldet').'',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',$row->sprache,' Deutsch  Englisch ',$freieplaetze,'',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),'
+ + + +
'.$p->t('incoming/filter').': +
'; + echo $p->t('courseInformation/unterrichtssprache').':
'; + echo $p->t('global/studiengang').':'; + echo '
+ + + + '; + + // Filter für Semester setzen + $filterqry = ''; + + if(isset($_GET['filter'])) + if($_GET['filter'] == "WSemester") + $filterqry= " AND tbl_lehrveranstaltung.semester IN (1,3,5)"; + elseif($_GET['filter'] == "SSemester") + $filterqry= " AND tbl_lehrveranstaltung.semester IN (2,4,6)"; + + if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') + $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; + + + //Uebersicht LVs + $qry = "SELECT + tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, + tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, + tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, + ( + Select count(*) + FROM ( + SELECT + person_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) + WHERE + lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + AND + tbl_prestudentstatus.status_kurzbz='Incoming' + AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + UNION + SELECT + person_id + FROM + public.tbl_preincoming_lehrveranstaltung + JOIN public.tbl_preincoming using(preincoming_id) + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + (von is null OR von <= '$stsem->start') + AND + (bis is null OR bis >= (DATE '$stsem->ende')) + AND aktiv = true + )a ) as anzahl + FROM + lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE + /*tbl_lehrveranstaltung.incoming>0 AND*/ + tbl_lehrveranstaltung.aktiv AND + tbl_lehrveranstaltung.lehre + AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000"; + + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') + $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + + $qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz + "; + + echo ' + + + + + + + + + + + + + + + + '; + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $freieplaetze = $row->incoming - $row->anzahl; + + $studiengang = new studiengang(); + $studiengang->load($row->studiengang_kz); + $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; + $typ = $studiengang->typ; + $style=''; + if ($row->incoming=='0') + $style = 'style="color:grey"'; + if ($studiengang->typ == 'b') + $typ = 'BA'; + else if ($studiengang->typ == 'm') + $typ = 'MA'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + } + } + echo '
'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').'Info'.$p->t('incoming/freieplätze').'
',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',$row->sprache,' + Deutsch  + Englisch + ',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),'Plätze auf 0 setzen
'; + } +?> + + \ No newline at end of file diff --git a/vilesci/personen/incoming_uebersicht.php b/vilesci/personen/incoming_uebersicht.php index 920901344..f47898cfb 100644 --- a/vilesci/personen/incoming_uebersicht.php +++ b/vilesci/personen/incoming_uebersicht.php @@ -149,6 +149,7 @@ echo ' Name + Übersicht Lehrveranstaltungen From 903b7a37013ef4c8d41ec8e369224f4172c015e1 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 24 Jul 2015 15:42:43 +0200 Subject: [PATCH 07/61] Fixed warning undefined variables --- cis/private/lehre/ects/preview.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/cis/private/lehre/ects/preview.php b/cis/private/lehre/ects/preview.php index d244b63e3..a90a44a5e 100644 --- a/cis/private/lehre/ects/preview.php +++ b/cis/private/lehre/ects/preview.php @@ -72,6 +72,29 @@ function getLastStundeByDatum(Array $array, $filterDatum) }; return array_filter($array,$callback); } + +$titel_de = ''; +$methodik_de = ''; +$kurzbeschreibung_de = ''; +$anwesenheit_de = ''; +$lehrziele_de = ''; +$lehrinhalte_de = ''; +$voraussetzungen_de = ''; +$unterlagen_de = ''; +$pruefungsordnung_de = ''; +$anmerkungen_de = ''; + +$titel_en = ''; +$methodik_en = ''; +$kurzbeschreibung_en = ''; +$anwesenheit_en = ''; +$lehrziele_en = ''; +$lehrinhalte_en = ''; +$voraussetzungen_en = ''; +$unterlagen_en = ''; +$pruefungsordnung_en = ''; +$anmerkungen_en = ''; + ?> From b22300881aa9abd7ff8b12a04726dcd40e271d37 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 24 Jul 2015 15:45:03 +0200 Subject: [PATCH 08/61] Konstante CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT --- config/global.config-default.inc.php | 1 + 1 file changed, 1 insertion(+) diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 1c339f485..342cf1e2b 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -16,6 +16,7 @@ define('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_STUDENTENUPLOAD_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN',true); +define('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT',true); //Legt fest, ob Lehrende die LV-Infos selbst bearbeiten duerfen und ob der Link zum bearbeiten der LV-Infos im CIS angezeigt wird define('CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_SEMESTERINFO_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN',false); From 75606c2d4fe6d532b69191a0784d72e8101096b0 Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 31 Jul 2015 13:15:53 +0200 Subject: [PATCH 09/61] Merge Praktikant into Master --- .gitignore | 3 + cis/private/bildupload.php | 546 +++-- cis/private/crop.php | 147 ++ cis/private/lehre/ects/freigabe.php | 298 +-- cis/private/lehre/ects/index.php | 559 ++++-- cis/private/pdfExport.php | 86 +- cis/private/photoupload.png | Bin 0 -> 5869 bytes cis/private/profile/index.php | 2 +- cms/admin.php | 107 +- cms/tinymce_dms.php | 390 +++- .../lehrveranstaltungdetailoverlay.xul.php | 14 +- .../lehrveranstaltungnotenoverlay.xul.php | 4 +- .../lvplanung/lehrveranstaltungoverlay.js.php | 23 +- content/statistik/bama_stromanalyse.php | 2 +- content/student/studentnotenoverlay.xul.php | 9 +- content/student/studentoverlay.js.php | 23 +- include/content.class.php | 79 + include/dms.class.php | 52 +- include/js/cropper.js | 40 + include/js/jquery.Jcrop.js | 1694 ++++++++++++++++ include/js/jquery.SimpleCropper.js | 221 +++ include/lehreinheitmitarbeiter.class.php | 10 +- include/tw/vilesci_menu_main.inc.php | 1 + include/vorlage.class.php | 2 +- locale/de-AT/courseInformation.php | 12 + locale/de-AT/profil.php | 1 + locale/en-US/courseInformation.php | 12 + locale/en-US/profil.php | 1 + rdf/zeugnisnote.rdf.php | 6 + skin/images/false-27.png | Bin 0 -> 1556 bytes skin/images/invisible.png | Bin 0 -> 635 bytes skin/images/lehrtyp_2.png | Bin 0 -> 752 bytes skin/images/true-27.png | Bin 0 -> 1265 bytes skin/jquery-ui-1.9.2.custom.min.css | 1759 ++++++++++++++++- skin/jquery.Jcrop.css | 165 ++ skin/simplecropper.css | 67 + system/checksystem.php | 18 + system/sync/sync_stpldev_stpl.php | 175 +- system/vorlage_zip/Bestellung.odt | Bin 0 -> 28069 bytes system/vorlage_zip/Inskription.odt | Bin 0 -> 21839 bytes system/vorlage_zip/Zertifikat.odt | Bin 0 -> 70062 bytes system/xsl/ZertifikatFreifaecher_v4.xsl | 368 ++++ system/xsl/inskription_0_v2.xsl | 496 +++++ vilesci/fhausweis/bildpruefung.php | 111 +- vilesci/lehre/lvplan_custom_sync.php | 95 +- vilesci/lehre/lvplanwartung.php | 4 +- .../dokumentvorlagen_verwaltung.php | 223 ++- 47 files changed, 7078 insertions(+), 747 deletions(-) create mode 100644 cis/private/crop.php create mode 100644 cis/private/photoupload.png create mode 100644 include/js/cropper.js create mode 100644 include/js/jquery.Jcrop.js create mode 100644 include/js/jquery.SimpleCropper.js create mode 100644 skin/images/false-27.png create mode 100644 skin/images/invisible.png create mode 100644 skin/images/lehrtyp_2.png create mode 100644 skin/images/true-27.png create mode 100644 skin/jquery.Jcrop.css create mode 100644 skin/simplecropper.css create mode 100644 system/vorlage_zip/Bestellung.odt create mode 100644 system/vorlage_zip/Inskription.odt create mode 100644 system/vorlage_zip/Zertifikat.odt create mode 100644 system/xsl/ZertifikatFreifaecher_v4.xsl create mode 100644 system/xsl/inskription_0_v2.xsl diff --git a/.gitignore b/.gitignore index 706a9c3a8..3d4ae8085 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ /nbproject/ /.idea/ documents/ +.settings +.project +.buildpath \ No newline at end of file diff --git a/cis/private/bildupload.php b/cis/private/bildupload.php index 002296753..83bc311cb 100644 --- a/cis/private/bildupload.php +++ b/cis/private/bildupload.php @@ -24,6 +24,7 @@ // Oberflaeche zum Upload von Bildern +session_cache_limiter('none'); //muss gesetzt werden damit der upload in chrome und das automatische updaten des profilbildes funktioniert require_once('../../config/cis.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/person.class.php'); @@ -41,6 +42,15 @@ echo ' + + + '. + cropCss().' + + + + + '.$p->t('profil/Bildupload').' @@ -48,37 +58,38 @@ echo '$width || $height_orig>$height) + imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); + else + $image_p = $image; - $image = imagecreatefromjpeg($filename); - - //Bild nur verkleinern aber nicht vergroessern - if($width_orig>$width || $height_orig>$height) - imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); - else - $image_p = $image; - - imagejpeg($image_p, $filename, 80); - - @imagedestroy($image_p); - @imagedestroy($image); + imagejpeg($image_p, $filename, 80); + + @imagedestroy($image_p); + @imagedestroy($image); } + if(isset($_GET['person_id'])) { $benutzer = new benutzer(); @@ -94,133 +105,396 @@ if(isset($_GET['person_id'])) else die($p->t('global/fehlerBeiDerParameteruebergabe')); -//Bei Upload des Bildes -if(isset($_POST['submitbild'])) -{ - if(isset($_FILES['bild']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['bild']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); +echo '
'; +echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

'; +//
+//'.$p->t('profil/Bild').': +// +// +//
+echo '
+ '.$p->t('profil/fotoAuswählen').' +
+ +
+ + '; - $width=101; - $height=130; +if (isset($_POST['src'])) { + $src = $_POST['src']; + echo $src; +} + +function cropCss() { + return ' + '; +} +/* +if (isset($_POST['submitbild']) && $_POST['submitbild'] == 'Upload') { + //Bei Upload des Bildes + if(isset($_POST['submitbild'])) + { + if(isset($_FILES['bild']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.',$_FILES['bild']['name']); + $ext = mb_strtolower($ext[count($ext)-1]); + + $width=101; + $height=130; - $fp = fopen($filename,'r'); - //auslesen - $content = fread($fp, filesize($filename)); - fclose($fp); - - $akte = new akte(); - - if($akte->getAkten($_GET['person_id'], 'Lichtbil')) - { - if(count($akte->result)>0) + //--check that it's a jpeg + if ($ext=='jpg' || $ext=='jpeg') + { + $filename = $_FILES['bild']['tmp_name']; + + //groesse auf maximal 827x1063 begrenzen + resize($filename, 827, 1063); + + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + + $akte = new akte(); + + if($akte->getAkten($_GET['person_id'], 'Lichtbil')) { - $akte = $akte->result[0]; - $akte->new = false; + if(count($akte->result)>0) + { + $akte = $akte->result[0]; + $akte->new = false; + } + else + $akte->new = true; } else - $akte->new = true; - } - else - { - $akte->new = true; - } - - $akte->dokument_kurzbz = 'Lichtbil'; - $akte->person_id = $_GET['person_id']; - $akte->inhalt = base64_encode($content); - $akte->mimetype = "image/jpg"; - $akte->erstelltam = date('Y-m-d H:i:s'); - $akte->gedruckt = false; - $akte->titel = "Lichtbild_".$_GET['person_id'].".jpg"; - $akte->bezeichnung = "Lichtbild gross"; - $akte->updateamum = date('Y-m-d H:i:s'); - $akte->updatevon = $user; - $akte->insertamum = date('Y-m-d H:i:s'); - $akte->insertvon = $user; - $akte->uid = ''; - - if(!$akte->save()) - { - echo "Fehler: $akte->errormsg"; - } - - //groesse auf maximal 101x130 begrenzen - resize($filename, 101, 130); - - //in DB speichern - //File oeffnen - $fp = fopen($filename,'r'); - //auslesen - $content = fread($fp, filesize($filename)); - fclose($fp); - //in base64-Werte umrechnen - $content = base64_encode($content); - - $person = new person(); - if($person->load($_GET['person_id'])) - { - //base64 Wert in die Datenbank speichern - $person->foto = $content; - $person->new = false; - if($person->save()) { - $fs = new fotostatus(); - $fs->person_id=$person->person_id; - $fs->fotostatus_kurzbz='hochgeladen'; - $fs->datum = date('Y-m-d'); - $fs->insertamum = date('Y-m-d H:i:s'); - $fs->insertvon = $user; - $fs->updateamum = date('Y-m-d H:i:s'); - $fs->updatevon = $user; - if(!$fs->save(true)) - echo 'Fehler beim Setzen des Bildstatus'; - else + $akte->new = true; + } + + $akte->dokument_kurzbz = 'Lichtbil'; + $akte->person_id = $_GET['person_id']; + $akte->inhalt = base64_encode($content); + $akte->mimetype = "image/jpg"; + $akte->erstelltam = date('Y-m-d H:i:s'); + $akte->gedruckt = false; + $akte->titel = "Lichtbild_".$_GET['person_id'].".jpg"; + $akte->bezeichnung = "Lichtbild gross"; + $akte->updateamum = date('Y-m-d H:i:s'); + $akte->updatevon = $user; + $akte->insertamum = date('Y-m-d H:i:s'); + $akte->insertvon = $user; + $akte->uid = ''; + + if(!$akte->save()) + { + echo "Fehler: $akte->errormsg"; + } + + //groesse auf maximal 101x130 begrenzen + resize($filename, 101, 130); + + //in DB speichern + //File oeffnen + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + //in base64-Werte umrechnen + $content = base64_encode($content); + + $person = new person(); + if($person->load($_GET['person_id'])) + { + //base64 Wert in die Datenbank speichern + $person->foto = $content; + $person->new = false; + if($person->save()) { - - echo "Bild wurde erfolgreich gespeichert -
"; + $fs = new fotostatus(); + $fs->person_id=$person->person_id; + $fs->fotostatus_kurzbz='hochgeladen'; + $fs->datum = date('Y-m-d'); + $fs->insertamum = date('Y-m-d H:i:s'); + $fs->insertvon = $user; + $fs->updateamum = date('Y-m-d H:i:s'); + $fs->updatevon = $user; + if(!$fs->save(true)) + echo 'Fehler beim Setzen des Bildstatus'; + else + { + + echo "Bild wurde erfolgreich gespeichert +
"; + } } + else + echo ''.$person->errormsg.'
'; } else echo ''.$person->errormsg.'
'; } else - echo ''.$person->errormsg.'
'; + echo ''.$p->t('profil/nurJPGBilder').'
'; } - else - echo ''.$p->t('profil/nurJPGBilder').'
'; } } - -echo '
'; -echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

-
- '.$p->t('profil/Bild').': - -
- '; +*/ ?> diff --git a/cis/private/crop.php b/cis/private/crop.php new file mode 100644 index 000000000..f62c18912 --- /dev/null +++ b/cis/private/crop.php @@ -0,0 +1,147 @@ +$width || $height_orig>$height) + imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); + else + $image_p = $image; + + imagejpeg($image_p, $filename, 80); + + @imagedestroy($image_p); + @imagedestroy($image); +} + +//file als png und jpg abspeichern +file_put_contents('image.png', base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $src))); +$imageTmp=imagecreatefrompng('image.png'); +imagejpeg($imageTmp, 'imagee.jpg', 100); + +$person_id = $_POST['person_idValue']; +$filename = 'imagee.jpg'; + +//profilbild speichern +if(file_exists($filename)) +{ + $width=101; + $height=130; + + //groesse auf maximal 827x1063 begrenzen + resize($filename, 827, 1063); + + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + + $akte = new akte(); + + if($akte->getAkten($person_id, 'Lichtbil')) + { + if(count($akte->result)>0) + { + $akte = $akte->result[0]; + $akte->new = false; + } + else + $akte->new = true; + } + else + { + $akte->new = true; + } + + $akte->dokument_kurzbz = 'Lichtbil'; + $akte->person_id = $person_id; + $akte->inhalt = base64_encode($content); + $akte->mimetype = "image/jpg"; + $akte->erstelltam = date('Y-m-d H:i:s'); + $akte->gedruckt = false; + $akte->titel = "Lichtbild_".$person_id.".jpg"; + $akte->bezeichnung = "Lichtbild gross"; + $akte->updateamum = date('Y-m-d H:i:s'); + $akte->updatevon = $user; + $akte->insertamum = date('Y-m-d H:i:s'); + $akte->insertvon = $user; + $akte->uid = ''; + + if(!$akte->save()) + { + echo "Fehler: $akte->errormsg"; + } + + //groesse auf maximal 101x130 begrenzen + resize($filename, 101, 130); + + //in DB speichern + //File oeffnen + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + //in base64-Werte umrechnen + $content = base64_encode($content); + + $person = new person(); + if($person->load($person_id)) + { + //base64 Wert in die Datenbank speichern + $person->foto = $content; + $person->new = false; + if($person->save()) + { + $fs = new fotostatus(); + $fs->person_id=$person->person_id; + $fs->fotostatus_kurzbz='hochgeladen'; + $fs->datum = date('Y-m-d'); + $fs->insertamum = date('Y-m-d H:i:s'); + $fs->insertvon = $user; + $fs->updateamum = date('Y-m-d H:i:s'); + $fs->updatevon = $user; + if(!$fs->save(true)) + echo 'Fehler beim Setzen des Bildstatus'; + else + { + + echo "Bild wurde erfolgreich gespeichert"; + } + } + else + echo ''.$person->errormsg.'
'; + } +} + +//temporäre files löschen +unlink($filename); +unlink('image.png'); +?> \ No newline at end of file diff --git a/cis/private/lehre/ects/freigabe.php b/cis/private/lehre/ects/freigabe.php index 7c1b79c83..09022d134 100644 --- a/cis/private/lehre/ects/freigabe.php +++ b/cis/private/lehre/ects/freigabe.php @@ -16,18 +16,18 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Andreas Oesterreicher + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ /* - @author Andres Oesterreicher + @author Andres Oesterreicher @date 20.10.2005 @brief Formular zum Freigeben der LV Informationen aus der tabelle tbl_lvinfo @edit 08-11-2006 Versionierung entfernt. Studiensemester = WS2007 - 03-01-2006 Anpassung an neue DB + 03-01-2006 Anpassung an neue DB */ require_once('../../../../config/cis.config.inc.php'); @@ -36,6 +36,7 @@ require_once('../../../../include/functions.inc.php'); require_once('../../../../include/studiensemester.class.php'); require_once('../../../../include/lvinfo.class.php'); require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); $sprache = getSprache(); $p = new phrasen($sprache); @@ -43,15 +44,19 @@ $p = new phrasen($sprache); if (!$db = new basis_db()) die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung')); $user = get_uid(); -if(!check_lektor($user)) - die('
'.$p->t('global/keineBerechtigungFuerDieseSeite').'
'); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +//if(!check_lektor($user)) +// die('
'.$p->t('global/keineBerechtigungFuerDieseSeite').'
'); /* WriteLog($qry,$uid) - * @brief Schreib die Querys im format: uid - datum - qry ins LogFile - * @param $qry Query anweisung - * $uid Username - * @return true wenn ok false wenn fehler beim oeffnen - */ + * @brief Schreib die Querys im format: uid - datum - qry ins LogFile + * @param $qry Query anweisung + * $uid Username + * @return true wenn ok false wenn fehler beim oeffnen + */ function WriteLog($qry,$uid) { if($fp=fopen(LOG_PATH.'lvinfo.log',"a")) @@ -68,10 +73,13 @@ if(!check_lektor($user)) $lv=trim((isset($_REQUEST['lv']) ? $_REQUEST['lv']:'')); - //Studiengang der Angezeigt werden soll + //Studiengang der Angezeigt werden soll $stg=trim((isset($_REQUEST['stg']) ? $_REQUEST['stg']:'')); //Semester das angezeigt werden soll $sem=trim((isset($_REQUEST['sem']) ? $_REQUEST['sem']:'')); + + if (!$rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)) + die ($rechte->errormsg); if(isset($_GET["lv"])) //Id des DS der freigegeben/nicht freigegeben werden soll $id=$_GET["lv"]; @@ -146,164 +154,186 @@ if(!check_lektor($user)) + + + <?php echo $p->t('courseInformation/ectsLvInfo');?>

t('courseInformation/lvInfoFreigabe');?>

- - - - + +
-   -
+ + - -
+   + + +
+ + - "; - echo ""; - echo ""; - //stg Drop Down - $qry = "SELECT distinct tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbzlang FROM campus.tbl_lvinfo, lehre.tbl_lehrveranstaltung, public.tbl_studiengang - WHERE tbl_lvinfo.aktiv=true - AND tbl_lvinfo.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz - ORDER by kurzbzlang"; - if(!$result=$db->db_query($qry)) - die ('
'.$p->t('global/fehlerBeimLesenAusDatenbank').'
'); + echo "
"; + echo ""; + echo ""; + //stg Drop Down + $qry = "SELECT distinct tbl_studiengang.studiengang_kz, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbzlang FROM campus.tbl_lvinfo, lehre.tbl_lehrveranstaltung, public.tbl_studiengang + WHERE tbl_lvinfo.aktiv=true + AND tbl_lvinfo.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz + ORDER by kurzbzlang"; + if(!$result=$db->db_query($qry)) + die ('
'.$p->t('global/fehlerBeimLesenAusDatenbank').'
'); - echo $p->t('global/studiengang')." "; + //$firststg; + $vorhanden=false; - while($row=$db->db_fetch_object($result)) - { - if(!isset($firststg)) - $firststg=$row->studiengang_kz; - if(!isset($stg)) - $stg=$row->studiengang_kz; - if($stg==$row->studiengang_kz) - { - echo ""; - $vorhanden=true; - } - else - echo ""; - } - echo ""; + while($row=$db->db_fetch_object($result)) + { + if ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$row->studiengang_kz)) + { + if(!isset($firststg)) + $firststg=$row->studiengang_kz; + if(!isset($stg)) + $stg=$row->studiengang_kz; + if($stg==$row->studiengang_kz) + { + echo ""; + $vorhanden=true; + } + else + echo ""; + } + } + echo ""; - if(!$vorhanden) //Wenn $stg einen Wert enthaelt der nicht in der Liste vorkommt wird der erste Eintrag der Liste ausgewaehlt - $stg=$firststg; + if(!$vorhanden) //Wenn $stg einen Wert enthaelt der nicht in der Liste vorkommt wird der erste Eintrag der Liste ausgewaehlt + $stg=$firststg; - //Semester Drop Down - $qry = "SELECT distinct semester FROM campus.tbl_lvinfo, lehre.tbl_lehrveranstaltung - WHERE tbl_lvinfo.aktiv=true - AND tbl_lvinfo.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND tbl_lehrveranstaltung.studiengang_kz='$stg' - ORDER by semester"; - if(!$result=$db->db_query($qry)) - die ("
".$p->t('global/fehleraufgetreten')."
"); + //Semester Drop Down + $qry = "SELECT distinct semester FROM campus.tbl_lvinfo, lehre.tbl_lehrveranstaltung + WHERE tbl_lvinfo.aktiv=true + AND tbl_lvinfo.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND tbl_lehrveranstaltung.studiengang_kz='$stg' + ORDER by semester"; + if(!$result=$db->db_query($qry)) + die ("
".$p->t('global/fehleraufgetreten')."
"); - echo " ".$p->t('global/semester')." "; - //$firstsem; - $vorhanden=false; + //$firstsem; + $vorhanden=false; - while($row=$db->db_fetch_object($result)) - { - if(!isset($firstsem)) - $firstsem = $row->semester; + while($row=$db->db_fetch_object($result)) + { + if(!isset($firstsem)) + $firstsem = $row->semester; - if(!isset($sem)) - $sem=$row->semester; + if(!isset($sem)) + $sem=$row->semester; - if($sem==$row->semester) - { - echo ""; - $vorhanden=true; - } - else - echo ""; - } - echo ""; - if(!$vorhanden) //Wenn $sem einen Wert enthaelt der nicht in der Liste vorkommt wird der erste Eintrag der Liste ausgewaehlt - $sem=$firstsem; + if($sem==$row->semester) + { + echo ""; + $vorhanden=true; + } + else + echo ""; + } + echo ""; + if(!$vorhanden) //Wenn $sem einen Wert enthaelt der nicht in der Liste vorkommt wird der erste Eintrag der Liste ausgewaehlt + $sem=$firstsem; - //Anzeigen der Liste mit den LV - Informationen - ?> -

- - - "."\n"; + echo ""."\n"; + echo ""."\n"; + //echo ""."\n"; + echo ""."\n"; + echo ""."\n"; + echo ""."\n"; + echo ""."\n"; + echo ""; + } + ?> + +
- - - - - - - - - + //Anzeigen der Liste mit den LV - Informationen + ?> +

+
xt('lvaliste/lehrfach');?>t('courseInformation/bearbeitetVon');?>t('courseInformation/updateAm');?>t('global/anzeigen');?>t('courseInformation/online');?>
de   en
+ + - -
+ + + + + + + + + + + + - db_query($qry)) - die("
Fehler bei einer Datenbankabfrage
"); + if(!$result=$db->db_query($qry)) + die("
Fehler bei einer Datenbankabfrage
"); - $i=-1; - while($row=$db->db_fetch_object($result)) - { + $i=-1; + while($row=$db->db_fetch_object($result)) + { $i++; $qry1="SELECT *, tbl_lehrveranstaltung.bezeichnung as bezeichnung, tbl_lvinfo.updatevon as updatevon FROM campus.tbl_lvinfo JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE tbl_lvinfo.sprache='".ATTR_SPRACHE_EN."' AND lehrveranstaltung_id='$row->lehrveranstaltung_id'"; - if(!$result1=$db->db_query($qry1)) - die("
Fehler bei einer Datenbankabfrage
"); - - if(!$row1=$db->db_fetch_object($result1)) + if(!$result1=$db->db_query($qry1)) die("
Fehler bei einer Datenbankabfrage
"); - $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'"; + if(!$row1=$db->db_fetch_object($result1)) + die("
Fehler bei einer Datenbankabfrage
"); - $bearbeitet=$row->updatevon; - if($result2=$db->db_query($qry2)) - if($row2=$db->db_fetch_object($result2)) - $bearbeitet=$row2->vorname.' '.$row2->nachname; - echo "\n"; - echo ""."\n"; - echo ""."\n"; - echo ""."\n"; - //echo ""."\n"; - echo ""."\n"; - echo ""."\n"; - echo ""."\n"; - echo ""."\n"; - echo ""; - } - ?> + $qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'"; -
t('global/lehrveranstaltung');?>t('courseInformation/bearbeitetVon');?>t('courseInformation/updateAm');?>t('global/anzeigen');?>t('courseInformation/freigeben');?>
lehrveranstaltung_id' onClick='return ask();'>Delete$row->bezeichnung$row->studiensemester_kurzbz$bearbeitet".$row->amum." "; - echo "lehrveranstaltung_id&lang=de\";' ".($row->genehmigt=='t'?'checked':'').">"."\n"; - echo "lehrveranstaltung_id&lang=en\";' ".($row1->genehmigt=='t'?'checked':'').">
-
+ $style=''; + if ($lv==$row->lehrveranstaltung_id) + $style='style="background-color: #AAA; border-top: 1px solid black; border-bottom: 1px solid black"'; + + $bearbeitet=$row->updatevon; + if($result2=$db->db_query($qry2)) + if($row2=$db->db_fetch_object($result2)) + $bearbeitet=$row2->vorname.' '.$row2->nachname; + echo "\n"; + echo "
lehrveranstaltung_id' onClick='return ask();'>Delete$row->bezeichnung$row->studiensemester_kurzbz$bearbeitet".$row->amum."German "; + echo "EnglishDE lehrveranstaltung_id&lang=de\";' ".($row->genehmigt=='t'?'checked':'').">"."\n"; + echo "lehrveranstaltung_id&lang=en\";' ".($row1->genehmigt=='t'?'checked':'')."> EN
+ + + \ No newline at end of file diff --git a/cis/private/lehre/ects/index.php b/cis/private/lehre/ects/index.php index 5c1266caa..ae47b5aab 100644 --- a/cis/private/lehre/ects/index.php +++ b/cis/private/lehre/ects/index.php @@ -16,20 +16,21 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Andreas Oesterreicher + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ /* @author Andres Oesterreicher @date 20.10.2005 @brief Formular zum eintragen der ECTS Information auf Deutsch und Englisch - Die Informationen werden in der Tabelle tbl_lvinfo gespeichert. + Die Informationen werden in der Tabelle tbl_lvinfo gespeichert. @edit 08-11-2006 Versionierung entfernt: Studiensemester=WS2007 02-01-2007 Umstellung auf die neue DB */ require_once('../../../../config/cis.config.inc.php'); +require_once('../../../../config/global.config.inc.php'); require_once('../../../../include/basis_db.class.php'); require_once('../../../../include/functions.inc.php'); require_once('../../../../include/studiengang.class.php'); @@ -38,6 +39,15 @@ require_once('../../../../include/lvinfo.class.php'); require_once('../../../../include/studiensemester.class.php'); require_once('../../../../include/phrasen.class.php'); require_once('../../../../include/safehtml/safehtml.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../../include/mail.class.php'); +require_once('../../../../include/benutzer.class.php'); + +$user = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); $sprache1 = getSprache(); $p=new phrasen($sprache1); @@ -48,6 +58,9 @@ if (!$db = new basis_db()) $output = ''; $errormsg = ''; $okmsg=''; + +$lv = ''; + ?> @@ -55,9 +68,13 @@ if (!$db = new basis_db()) <?php echo $p->t('courseInformation/ectsInformation')?> - + @@ -78,13 +101,8 @@ if (!$db = new basis_db()) return $string; } - $user = get_uid(); - //Berechtigung ueberpruefen - if(!check_lektor($user)) - die("
".$p->t('global/keineBerechtigungFuerDieseSeite')."
"); - - if(isset($_GET['lvid'])) - $lv=$_GET['lvid']; + if(isset($_GET['lvid'])) + $lv=$_GET['lvid']; //Variablenuebernahme if(isset($_POST['lv'])) //LehrveranstaltungsID @@ -100,8 +118,10 @@ if (!$db = new basis_db()) if(!isset($sem)) $sem = $lv_obj->semester; } + else + $stg = ''; - if(!isset($stg) && isset($_POST['stg'])) + if(isset($_POST['stg'])) $stg = $_POST['stg']; if(!isset($sem) && isset($_POST['sem'])) $sem = $_POST['sem']; @@ -113,11 +133,28 @@ if (!$db = new basis_db()) if(isset($_POST['status'])) $status = $_POST['status']; -// if(isset($_POST["freigeben"])) //Wird auf 'ja' gesetzt wenn gleich freigegebenwerden soll nach dem Speichern -// $freigeben = $_POST["freigeben"]; +// if(isset($_POST["freigeben"])) //Wird auf 'ja' gesetzt wenn gleich freigegebenwerden soll nach dem Speichern +// $freigeben = $_POST["freigeben"]; if(isset($_POST['sprache'])) //Sprache fuer dieses Lehrfach $sprache = $_POST['sprache']; + + // Berechtigungen ueberpruefen + $lektor_der_lv = false; + $lektor = new lehreinheitmitarbeiter(); + $lektor_der_lv = $lektor->existsLV($lv, null, $user); + + // Bearbeiten nur moeglich, wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist + // Oder Berechtigung zum Bearbeiten eingetragen ist + if(!( + (!defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && $lektor_der_lv) + || (defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT==true && $lektor_der_lv) + || $rechte->isBerechtigt('lehre/lvinfo',$stg) + ) + ) + { + die($p->t('global/keineBerechtigungFuerDieseSeite')); + } //Variablen fuer das Formular $lehrziele_de = (isset($_POST['lehrziele_de'])?$_POST['lehrziele_de']:''); @@ -128,10 +165,10 @@ if (!$db = new basis_db()) $anmerkungen_de = (isset($_POST['anmerkungen_de'])?$_POST['anmerkungen_de']:''); $kurzbeschreibung_de = (isset($_POST['kurzbeschreibung_de'])?$_POST['kurzbeschreibung_de']:''); $anwesenheit_de = (isset($_POST['anwesenheit_de'])?$_POST['anwesenheit_de']:''); - $freig_de = (isset($_POST['freig_de'])?($_POST['freig_de']=='on'?true:false):''); + $freig_de = (isset($_POST['freig_de'])?($_POST['freig_de']=='on' && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false):''); $methodik_de = (isset($_POST['methodik_de'])?$_POST['methodik_de']:''); //$titel_de = (isset($_POST['titel_de'])?$_POST['titel_de']:''); - + $parser = new SafeHTML(); $lehrziele_de = $parser->parse($lehrziele_de); $parser = new SafeHTML(); @@ -161,7 +198,7 @@ if (!$db = new basis_db()) $anmerkungen_en = (isset($_POST['anmerkungen_en'])?$_POST['anmerkungen_en']:''); $kurzbeschreibung_en = (isset($_POST['kurzbeschreibung_en'])?$_POST['kurzbeschreibung_en']:''); $anwesenheit_en = (isset($_POST['anwesenheit_en'])?$_POST['anwesenheit_en']:''); - $freig_en = (isset($_POST['freig_en'])?($_POST['freig_en']=='on'?true:false):''); + $freig_en = (isset($_POST['freig_en'])?($_POST['freig_en']=='on' && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false):''); $methodik_en = (isset($_POST['methodik_en'])?$_POST['methodik_en']:''); //$titel_en = (isset($_POST['titel_en'])?$_POST['titel_en']:''); @@ -189,7 +226,7 @@ if (!$db = new basis_db()) /* WriteLog($qry,$uid) * @brief Schreib die Querys im format: uid - datum - qry ins LogFile * @param $qry Query anweisung - * $uid Username + * $uid Username * @return true wenn ok false wenn fehler beim oeffnen */ function WriteLog($qry,$uid) @@ -225,7 +262,7 @@ if (!$db = new basis_db()) $lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "
", $kurzbeschreibung_de); $lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "
", $anwesenheit_de); - $lv_obj_sav->genehmigt = ($freig_de?true:false); + $lv_obj_sav->genehmigt = ($freig_de==true && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false); $lv_obj_sav->updateamum=date('Y-m-d H:i:s'); $lv_obj_sav->updatevon=$user; $lv_obj_sav->aktiv=true; @@ -238,7 +275,7 @@ if (!$db = new basis_db()) $vorhanden=$lv_obj1->exists($lv, ATTR_SPRACHE_DE); if(!$vorhanden) - $lv_obj_sav->new=true; + $lv_obj_sav->new=true; else $lv_obj_sav->new=false; @@ -257,7 +294,7 @@ if (!$db = new basis_db()) $lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "
", $anmerkungen_en); $lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "
", $kurzbeschreibung_en); $lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "
", $anwesenheit_en); - $lv_obj_sav->genehmigt = ($freig_en?true:false); + $lv_obj_sav->genehmigt = ($freig_en==true && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false); $lv_obj_sav->aktiv=true; $lv_obj_sav->updateamum=date('Y-m-d H:i:s'); $lv_obj_sav->updatevon=$user; @@ -288,6 +325,132 @@ if (!$db = new basis_db()) if($save_log_error) $errormsg.= $p->t('courseInformation/fehlerLogFile'); } + if($status=='freigeben') // Beim druecken auf "Zur Freigabe abschicken" + { + //Speichert die aenderungen in der Datenbank (de und en) + $lv_obj_sav= new lvinfo(); + $save_error=false; + $save_log_error=false; + //Deutsch + $lv_obj_sav->lehrziele=mb_eregi_replace("\r\n", "
", $lehrziele_de); + $lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "
", $lehrinhalte_de); + $lv_obj_sav->voraussetzungen=mb_eregi_replace("\r\n", "
", $voraussetzungen_de); + $lv_obj_sav->unterlagen=mb_eregi_replace("\r\n", "
", $unterlagen_de); + $lv_obj_sav->pruefungsordnung=mb_eregi_replace("\r\n", "
", $pruefungsordnung_de); + $lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "
", $anmerkungen_de); + $lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "
", $kurzbeschreibung_de); + $lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "
", $anwesenheit_de); + + $lv_obj_sav->genehmigt = ($freig_de==true && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false); + $lv_obj_sav->updateamum=date('Y-m-d H:i:s'); + $lv_obj_sav->updatevon=$user; + $lv_obj_sav->aktiv=true; + $lv_obj_sav->sprache=ATTR_SPRACHE_DE; + $lv_obj_sav->lehrveranstaltung_id=$lv; + $lv_obj_sav->methodik = mb_eregi_replace("\r\n", "
", $methodik_de); + //$lv_obj_sav->titel = mb_eregi_replace("\r\n", "
", $titel_de); + + $lv_obj1 = new lvinfo(); + $vorhanden=$lv_obj1->exists($lv, ATTR_SPRACHE_DE); + + if(!$vorhanden) + $lv_obj_sav->new=true; + else + $lv_obj_sav->new=false; + + if(!$lv_obj_sav->save()) + $save_error=true; + else + if(!WriteLog($lv_obj_sav->lastqry,$user)) + $save_log_error=true; + + //Englisch + $lv_obj_sav->lehrziele=mb_eregi_replace("\r\n", "
", $lehrziele_en); + $lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "
", $lehrinhalte_en); + $lv_obj_sav->voraussetzungen=mb_eregi_replace("\r\n", "
", $voraussetzungen_en); + $lv_obj_sav->unterlagen=mb_eregi_replace("\r\n", "
", $unterlagen_en); + $lv_obj_sav->pruefungsordnung=mb_eregi_replace("\r\n", "
", $pruefungsordnung_en); + $lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "
", $anmerkungen_en); + $lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "
", $kurzbeschreibung_en); + $lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "
", $anwesenheit_en); + $lv_obj_sav->genehmigt = ($freig_en==true && $rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)?true:false); + $lv_obj_sav->aktiv=true; + $lv_obj_sav->updateamum=date('Y-m-d H:i:s'); + $lv_obj_sav->updatevon=$user; + $lv_obj_sav->sprache=ATTR_SPRACHE_EN; + $lv_obj_sav->lehrveranstaltung_id=$lv; + $lv_obj_sav->methodik = mb_eregi_replace("\r\n", "
", $methodik_en); + //$lv_obj_sav->titel = mb_eregi_replace("\r\n", "
", $titel_en); + + $lv_obj1 = new lvinfo(); + $vorhanden = $lv_obj1->exists($lv, ATTR_SPRACHE_EN); + + if(!$vorhanden) + $lv_obj_sav->new=true; + else + $lv_obj_sav->new=false; + + if(!$lv_obj_sav->save()) + $save_error=true; + else + if(!WriteLog($lv_obj_sav->lastqry,$user)) + $save_log_error=true; + + if($save_error) + $errormsg.= $p->t('courseInformation/achtungFehlerBeimSpeichern'); + else + $okmsg.= $p->t('global/erfolgreichgespeichert'); + + if($save_log_error) + $errormsg.= $p->t('courseInformation/fehlerLogFile'); + + //Mail an Studiengangsleiter + $studiengangsleiter = new studiengang(); + $stgleiter = $studiengangsleiter->getLeitung($stg); + + if($stgleiter) + { + $to=''; + foreach($stgleiter as $leiter) + { + if($to!='') + { + $to.=', '.$leiter.'@'.DOMAIN; + } + else + { + $to.=$leiter.'@'.DOMAIN; + } + } + + $benutzer = new benutzer(); + $benutzer->load($user); + + $bezeichnung = new lehrveranstaltung(); + $bezeichnung->load($lv); + + $message = $p->t('courseInformation/diesIstEineAutomatischeMail').".\n". + $p->t('courseInformation/lvinfoWurdeUeberarbeitet',array($benutzer->nachname.' '.$benutzer->vorname,$bezeichnung->bezeichnung)).":\n"; + + $message.="\n".$p->t('courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben').":\n". + APP_ROOT."cis/private/lehre/ects/freigabe.php?stg=".$stg."&sem=".$sem."&lv=".$lv; + + $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('courseInformation/freigabeLvinfo'), $message); + if($mail->send()) + { + $okmsg.="
".$p->t('courseInformation/freigabemailWurdeVersandt',array($to)).""; + } + else + { + $okmsg.="
".$p->t('courseInformation/fehlerBeimSendenAufgetreten',array($to))."!"; + } + } + else + { + $okmsg.="
".$p->t('courseInformation/konnteKeinFreigabemailVersendetWerden').""; + } + + } } $output .= "\n"; @@ -334,6 +497,8 @@ if (!$db = new basis_db()) { $errormsg .= "$stg_obj->errormsg"; } + + //Anzeigen des DropDown Menues mit Semester if(isset($changed) && $changed=='stg') @@ -384,33 +549,33 @@ if (!$db = new basis_db()) //Anzeigen des DropDown Menues mit Lehrveranstaltungen $lv_obj = new lehrveranstaltung(); - if($lv_obj->load_lva($stg,$sem,null,true)) + if($lv_obj->load_lva($stg,$sem,null,true,null,'orgform_kurzbz,semester, bezeichnung')) { - $output .= $p->t('global/lehrveranstaltung')." "; + $vorhanden=false; + unset($firstlv); - foreach($lv_obj->lehrveranstaltungen as $erg) - { - if(!isset($lv) || (isset($changed) && $changed=='sem') || (isset($changed) && $changed=='stg')) - { - $lv = $erg->lehrveranstaltung_id; - $changed=''; - } - if(!isset($firstlv)) - $firstlv=$erg->lehrveranstaltung_id; + foreach($lv_obj->lehrveranstaltungen as $erg) + { + if(!isset($lv) || (isset($changed) && $changed=='sem') || (isset($changed) && $changed=='stg')) + { + $lv = $erg->lehrveranstaltung_id; + $changed=''; + } + if(!isset($firstlv)) + $firstlv=$erg->lehrveranstaltung_id; - if($lv == $erg->lehrveranstaltung_id) - { - $output .= ""; - $vorhanden=true; - } - else - $output .= ""; - } - $output .= ""; - if(!$vorhanden) - $lv=$firstlv; + if($lv == $erg->lehrveranstaltung_id) + { + $output .= ""; + $vorhanden=true; + } + else + $output .= ""; + } + $output .= ""; + if(!$vorhanden) + $lv=$firstlv; } else { @@ -426,10 +591,11 @@ if (!$db = new basis_db()) //Menue ausgeben $output .= "\n"; $output .= ""; $output .= ""; @@ -472,6 +638,10 @@ if (!$db = new basis_db()) $freig_de = $lv_de->genehmigt; $titel_de = $lv_de->titel; $methodik_de = $lv_de->methodik; + + //Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden + if (substr_count($lehrziele_de, 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage')==0) + $lehrziele_de = 'Nach erfolgreichem Abschluss sind die Studierenden in der Lage, '.$lehrziele_de; } if(!isset($_POST['lehrziele_en']) && isset($lv_en)) @@ -487,14 +657,18 @@ if (!$db = new basis_db()) $freig_en = $lv_en->genehmigt; $titel_en = $lv_en->titel; $methodik_en = $lv_en->methodik; + + //Fuegt den Satz "Nach erfolgreichem Abschluss sind die Studierenden in der Lage, " vor den Lehrzielen ein, falls noch nicht vorhanden + if (substr_count($lehrziele_en, 'After passing this course successfully students are able to')==0) + $lehrziele_en = 'After passing this course successfully students are able to '.$lehrziele_en; } $lv_obj = new lehrveranstaltung(); $lv_obj->load($lv); echo ""; - echo ""; - echo ""; + echo "
".$p->t('courseInformation/ectsCredits')." ".($lv_obj->ects!=''?number_format($lv_obj->ects,1,'.',''):'')."
"; + echo ""; $stsem_obj = new studiensemester(); $stsem = $stsem_obj->getaktorNext(); @@ -509,7 +683,7 @@ if (!$db = new basis_db()) AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id=".$db->db_add_param($lv)." ORDER BY ende DESC LIMIT 1) AND mitarbeiter_uid=uid"; - echo ""; - //FB Leiter auslesen - $qry = " SELECT - distinct titelpre, titelpost, vorname, nachname - FROM - public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) - WHERE - funktion_kurzbz='Leitung' AND - (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND + //FB Leiter auslesen + $qry = " SELECT + distinct titelpre, titelpost, vorname, nachname + FROM + public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) + WHERE + funktion_kurzbz='Leitung' AND + (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND - oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz + oe_kurzbz in (SELECT distinct lehrfach.oe_kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) @@ -543,23 +717,23 @@ if (!$db = new basis_db()) FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lv, FHC_INTEGER)." ORDER BY ende DESC LIMIT 1 - ) - )"; - - echo ""; + echo ""; - //FB Koordinator auslesen + //FB Koordinator auslesen //$qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in (SELECT fachbereich_kurzbz FROM lehre.tbl_lehrfach, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehrfach.lehrfach_id=tbl_lehreinheit.lehrfach_id AND tbl_lehreinheit.studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1))"; - $qry = "SELECT + $qry = "SELECT distinct titelpre, titelpost, vorname, nachname, tbl_fachbereich.fachbereich_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter, public.tbl_fachbereich @@ -574,124 +748,135 @@ if (!$db = new basis_db()) (tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now()) AND vw_mitarbeiter.uid=COALESCE(tbl_lehrveranstaltung.koordinator, tbl_benutzerfunktion.uid) AND tbl_lehrveranstaltung.studiengang_kz=(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz LIMIT 1)"; - - echo ""; - - //echo "
".$p->t('courseInformation/ectsCredits')."".($lv_obj->ects!=''?number_format($lv_obj->ects,1,'.',''):'')."
".$p->t('courseInformation/lehrendeLautLehrauftrag')." "; + echo "
".$p->t('courseInformation/lehrendeLautLehrauftrag').""; $helparray = array(); if($result=$db->db_query($qry)) { @@ -521,19 +695,19 @@ if (!$db = new basis_db()) } foreach($helparray as $elem) - echo $elem."
"; + echo $elem."
"; echo "
".$p->t('courseInformation/institutsleiter')." "; - if($result=$db->db_query($qry)) - { - while($row=$db->db_fetch_object($result)) - { - echo "$row->titelpre $row->vorname $row->nachname $row->titelpost
"; - } - } + ) + )"; + + echo "
".$p->t('courseInformation/institutsleiter').""; + if($result=$db->db_query($qry)) + { + while($row=$db->db_fetch_object($result)) + { + echo "$row->titelpre $row->vorname $row->nachname $row->titelpost
"; + } + } - echo "
".$p->t('courseInformation/institutskoordinator')." "; - if($result=$db->db_query($qry)) - { - while($row=$db->db_fetch_object($result)) - { - echo "$row->titelpre $row->vorname $row->nachname $row->titelpost
"; - } - } - - echo "
"; - echo ""; - - - echo ""; - echo ""; - echo ""; - echo ""; - - echo ""; - //Sprache ausgeben - echo "".$p->t('courseInformation/unterrichtssprache')." $lv_obj->sprache"; - echo ""; - - //Anz. Incoming ausgeben - - if ($lv_obj->incoming > -1) + + echo "".$p->t('courseInformation/institutskoordinator').""; + if($result=$db->db_query($qry)) + { + while($row=$db->db_fetch_object($result)) { - echo "".$p->t('courseInformation/incomingplaetze')." $lv_obj->incoming"; + echo "$row->titelpre $row->vorname $row->nachname $row->titelpost
"; + } + } + + echo ""; + + //echo ""; + echo ""; + + + echo ""; + echo ""; + echo ""; + echo ""; + + echo ""; + //Sprache ausgeben + echo "".$p->t('courseInformation/unterrichtssprache')."$lv_obj->sprache"; + echo ""; + + //Anz. Incoming ausgeben + + if ($lv_obj->incoming > -1) + { + echo "".$p->t('courseInformation/incomingplaetze')."$lv_obj->incoming"; } else echo "".$p->t('courseInformation/incomingplaetze')."0"; - echo "".$p->t('courseInformation/beiFehlernInDenFixfeldern',array($stg_obj1->email)).""; - echo "

".$p->t('courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt',array($stg_obj1->email))."."; + echo "".$p->t('courseInformation/beiFehlernInDenFixfeldern',array($stg_obj1->email)).""; + echo "

".$p->t('courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt',array($stg_obj1->email))."."; //echo "".$p->t('courseInformation/fallsSieAufzaehlungslistenVerwenden',array($stg_obj1->email)).""; --> Es sollten keine HTML-Tags gespeichert werden koennen. Hier muss eine andere Loesung gefunde werden. echo "

"; - //Eingabefelder anzeigen - echo ""; + //Eingabefelder anzeigen + echo "
"; - echo ' - - - - - - '; + echo ' + + + + '; + echo ' + + + '; + echo ' + + '; - echo ' - - - - - - - - - - - - '; - echo ' - - - - - - - - - - - - - - - - - '; - echo ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - '; - echo "
DEUTSCH ENGLISH

DEUTSCH

 

ENGLISH

'.($lv_de->genehmigt==false?''.$p->t('courseInformation/nochNichtFreigegeben').'':$p->t('courseInformation/freigegeben')).''.($lv_en->genehmigt==false?''.$p->t('courseInformation/nochNichtFreigegeben').'':$p->t('courseInformation/freigegeben')).'
 
'.$p->t('lvinfo/kurzbeschreibung').' (Pflichtfeld) '.$p->t('lvinfo/kurzbeschreibungEN').' (Required)
'.$p->t('lvinfo/methodik').' (Pflichtfeld) '.$p->t('lvinfo/methodikEN').' (Required)
'.$p->t('lvinfo/lernergebnisse').' (Pflichtfeld)'.$p->t('lvinfo/lernergebnisseEN').' (Required)
'.$p->t('lvinfo/lehrinhalte').' (Pflichtfeld)'.$p->t('lvinfo/lehrinhalteEN').' (Required)
'.$p->t('lvinfo/vorkenntnisse').' (Pflichtfeld) '.$p->t('lvinfo/vorkenntnisseEN').' (Required)
'.$p->t('lvinfo/literatur').' '.$p->t('lvinfo/literaturEN').'
'.$p->t('lvinfo/leistungsbeurteilung').''.$p->t('lvinfo/leistungsbeurteilungEN').'
'.$p->t('lvinfo/anwesenheit').''.$p->t('lvinfo/anwesenheitEN').'
'.$p->t('lvinfo/anmerkungen').''.$p->t('lvinfo/anmerkungenEN').'

'.$p->t('courseInformation/freigeben').'

'.$p->t('courseInformation/freigeben').'

"; - echo "
"; - echo ""; - echo ""; - echo "
"; - if(isset($error) && $error!='') - echo $error; - } + echo ' + + '.$p->t('lvinfo/kurzbeschreibung').' (Pflichtfeld) + + '.$p->t('lvinfo/kurzbeschreibungEN').' (Required) + + + + '.$p->t('lvinfo/methodik').' (Pflichtfeld) + + '.$p->t('lvinfo/methodikEN').' (Required) + + '; + echo ' + '.$p->t('lvinfo/lernergebnisse').' (Pflichtfeld) + + '.$p->t('lvinfo/lernergebnisseEN').' (Required) + + + + '.$p->t('lvinfo/lehrinhalte').' (Pflichtfeld) + + '.$p->t('lvinfo/lehrinhalteEN').' (Required) + + + + '.$p->t('lvinfo/vorkenntnisse').' (Pflichtfeld) + + '.$p->t('lvinfo/vorkenntnisseEN').' (Required) + + '; + echo ' + '.$p->t('lvinfo/literatur').' + + '.$p->t('lvinfo/literaturEN').' + + + + '.$p->t('lvinfo/leistungsbeurteilung').' + + '.$p->t('lvinfo/leistungsbeurteilungEN').' + + + + '.$p->t('lvinfo/anwesenheit').' + + '.$p->t('lvinfo/anwesenheitEN').' + + + + '.$p->t('lvinfo/anmerkungen').' + + '.$p->t('lvinfo/anmerkungenEN').' + + '; + if ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg)) + echo ' +
'.$p->t('courseInformation/deutschFreigeben').'

+ '.$p->t('courseInformation/englischFreigeben').' + + '; + + echo "
"; + echo "
"; + echo ""; + echo ""; + echo "

"; + echo ""; + echo "
"; + echo ""; + echo "











"; + if(isset($error) && $error!='') + echo $error; + } ?> diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index 3f013657f..fdfdd3b4a 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -201,7 +201,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) foreach($addons->aktive_addons as $addon) { - $zipfile = DOC_ROOT.'addons/'.$addon.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung; + $zipfile = DOC_ROOT.'/addons/'.$addon.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung; if(file_exists($zipfile)) { @@ -210,7 +210,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) } } if(!$vorlage_found) - $zipfile = DOC_ROOT.'system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung; + $zipfile = DOC_ROOT.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung; $tempname_zip = 'out.zip'; @@ -227,30 +227,30 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) $filename = $vorlage->vorlage_kurzbz; if($output == 'pdf') { - if($xsl == 'LV_Informationen') - { - $studiengang = new studiengang($_GET['stg_kz']); - $studiensemester = new studiensemester($_GET['ss']); - $tempPdfName = $vorlage->vorlage_kurzbz.'_'.$studiengang->kurzbzlang.'_'.$studiensemester->studiensemester_kurzbz.'.pdf'; - $filename = $filename.'_'.$studiengang->kurzbzlang.'_'.$studiensemester->studiensemester_kurzbz.'.pdf'; - } - elseif($xsl == "Honorarvertrag") - { - $tempPdfName = $vorlage->vorlage_kurzbz.'_'.$benutzer_obj->nachname.'_'.$benutzer_obj->vorname.'.pdf'; - $filename = $filename.'_'.$benutzer_obj->nachname.'_'.$benutzer_obj->vorname.'.pdf'; - } - elseif($xsl == "Studienordnung") - { - $studienordnung = new studienordnung(); - $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.pdf'; - $tempPdfName = $vorlage->vorlage_kurzbz.'.pdf'; - } - else - { - $tempPdfName = $vorlage->vorlage_kurzbz.'.pdf'; - $filename = $filename.'.pdf'; - } + if($xsl == 'LV_Informationen') + { + $studiengang = new studiengang($_GET['stg_kz']); + $studiensemester = new studiensemester($_GET['ss']); + $tempPdfName = $vorlage->vorlage_kurzbz.'_'.$studiengang->kurzbzlang.'_'.$studiensemester->studiensemester_kurzbz.'.pdf'; + $filename = $filename.'_'.$studiengang->kurzbzlang.'_'.$studiensemester->studiensemester_kurzbz.'.pdf'; + } + elseif($xsl == "Honorarvertrag") + { + $tempPdfName = $vorlage->vorlage_kurzbz.'_'.$benutzer_obj->nachname.'_'.$benutzer_obj->vorname.'.pdf'; + $filename = $filename.'_'.$benutzer_obj->nachname.'_'.$benutzer_obj->vorname.'.pdf'; + } + elseif($xsl == "Studienordnung") + { + $studienordnung = new studienordnung(); + $studienordnung->loadStudienordnung($_GET['studienordnung_id']); + $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.pdf'; + $tempPdfName = $vorlage->vorlage_kurzbz.'.pdf'; + } + else + { + $tempPdfName = $vorlage->vorlage_kurzbz.'.pdf'; + $filename = $filename.'.pdf'; + } exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName"); $fsize = filesize($tempPdfName); @@ -262,11 +262,11 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) else if($output =='odt') { if($xsl == "Studienordnung") - { - $studienordnung = new studienordnung(); - $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang; - } + { + $studienordnung = new studienordnung(); + $studienordnung->loadStudienordnung($_GET['studienordnung_id']); + $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang; + } $fsize = filesize($tempname_zip); $handle = fopen($tempname_zip,'r'); header('Content-type: '.$vorlage->mimetype); @@ -276,16 +276,16 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) else if($output =='doc') { $tempPdfName = $vorlage->vorlage_kurzbz.'.doc'; - if($xsl == "Studienordnung") - { - $studienordnung = new studienordnung(); - $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc'; - } - else - { - $filename = $filename.'.doc'; - } + if($xsl == "Studienordnung") + { + $studienordnung = new studienordnung(); + $studienordnung->loadStudienordnung($_GET['studienordnung_id']); + $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc'; + } + else + { + $filename = $filename.'.doc'; + } exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName"); $fsize = filesize($tempPdfName); @@ -304,8 +304,8 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) if(isset($_GET['style_xsl'])) unlink('styles.xml'); unlink($tempname_zip); - if($output=='pdf' || $output=='doc') - unlink($filename); + if($output=='pdf' || $output=='doc') + unlink($tempPdfName); rmdir($tempfolder); } } diff --git a/cis/private/photoupload.png b/cis/private/photoupload.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4805805876678f9fe9c1cbcfd90b616bf45515 GIT binary patch literal 5869 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 literal 0 HcmV?d00001 diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php index 31b57a025..3800f8124 100644 --- a/cis/private/profile/index.php +++ b/cis/private/profile/index.php @@ -208,7 +208,7 @@ if(!$ansicht) //Foto Upload nur möglich wenn das Bild noch nicht akzeptiert wurde $fs = new fotostatus(); if(!$fs->akzeptiert($user->person_id)) - echo "
".$p->t('profil/bildHochladen').""; + echo "
".$p->t('profil/bildHochladen').""; } if($user->foto_sperre) echo '
'.$p->t('profil/profilfotoGesperrt').''; diff --git a/cms/admin.php b/cms/admin.php index a6cd0e813..caa445000 100644 --- a/cms/admin.php +++ b/cms/admin.php @@ -40,7 +40,7 @@ $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('basis/cms')) - die('Sie haben keine Berechtigung fuer diese Seite'); + die($rechte->errormsg); $berechtigte_oe = $rechte->getOEkurzbz('basis/cms') ?> @@ -55,9 +55,13 @@ $berechtigte_oe = $rechte->getOEkurzbz('basis/cms') - + + @@ -632,7 +844,7 @@ function drawKategorieMenue($rows)   - menu item '.$row->bezeichnung.' +  '.$row->bezeichnung.' '.$locked.' '; drawKategorieMenue($dms->result); @@ -645,7 +857,7 @@ function drawKategorieMenue($rows) echo ' - + '; } @@ -745,10 +957,29 @@ function drawFilesList($rows) '; @@ -768,14 +999,22 @@ function drawFilesList($rows) * @param $dms_id ID des Dokuments * @param $version Versionsnummer des Dokuments */ -function drawRenameForm($dms_id, $version) +function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching, $searchstring) { global $kategorie_kurzbz; $dms = new dms(); if($dms->load($dms_id, $version)) { - echo ' + if ($searching == 'true') + { + echo ''; + } + else + { + echo ''; + } + echo ' @@ -788,8 +1027,8 @@ function drawRenameForm($dms_id, $version)
Dateiname:
- - + '; + echo ' '; } else @@ -798,6 +1037,45 @@ function drawRenameForm($dms_id, $version) } } +/** + * Erstellt das Formular zum Ändern der Kategorie von Dokumenten + * @param $dms_id ID des Dokuments + */ +function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL) { + $dms = new dms; + $dms->load($dms_id); + + $allKategorien = new dms(); + $allKategorien->getAllKategories(); + + if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') + { + echo '
'; + } + else + { + echo ''; + } + echo ' + + + '; + if (!is_null($page)) echo ''; + if (!is_null($dpp)) echo ''; + echo '
'; +} + ?> \ No newline at end of file diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php index 944c0e01d..79329ccd8 100644 --- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php @@ -26,6 +26,12 @@ header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); header("Pragma: no-cache"); header("Content-type: application/vnd.mozilla.xul+xml"); require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + echo ''; ?> @@ -73,10 +79,10 @@ echo ''; - + @@ -95,6 +101,10 @@ echo ''; + +