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/addons/template/vilesci/vorlage_generateuid.inc.php b/addons/template/vilesci/vorlage_generateuid.inc.php index 60c85a29a..ebe2be3e2 100644 --- a/addons/template/vilesci/vorlage_generateuid.inc.php +++ b/addons/template/vilesci/vorlage_generateuid.inc.php @@ -44,20 +44,20 @@ function generateUID($stgkzl, $jahr, $stgtyp, $matrikelnummer) * @param $nachname Nachname * @param $lektor Boolean true wenn Lektor sonst false */ -function generateMitarbeiterUID($vorname, $nachname, $lektor) +function generateMitarbeiterUID($vorname, $nachname, $lektor, $fixangestellt=true) { $bn = new benutzer(); $uid=''; // Wenn ein Bindestrich vorhanden ist (Doppelname), dort abschneiden - if(mb_strpos($nachname,'-')!==false) + if(mb_strpos($nachname,'-')!==false) $nachname = mb_substr($nachname, 0, mb_strpos($nachname,'-')); // Nachname wird so lange verkuerzt bis eine eindeutige UID entsteht die noch nicht vergeben ist for($nn=18;$nn!=0;$nn--) { $uid = mb_substr($vorname,0,1); $uid .= mb_substr($nachname,0,$nn); - + $uid = mb_str_replace(' ','',$uid); $uid = mb_str_replace('-','',$uid); diff --git a/cis/private/bildupload.php b/cis/private/bildupload.php index 002296753..d27309a1b 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,14 @@ echo ' + + '. + cropCss().' + + + + + '.$p->t('profil/Bildupload').' @@ -48,37 +57,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,134 +104,268 @@ 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]); - - $width=101; - $height=130; - - //--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')) - { - 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 = $_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 - { - - echo "Bild wurde erfolgreich gespeichert -
"; - } - } - else - echo ''.$person->errormsg.'
'; - } - else - echo ''.$person->errormsg.'
'; - } - else - echo ''.$p->t('profil/nurJPGBilder').'
'; - } -} - echo '
'; -echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

-
- '.$p->t('profil/Bild').': - -
- '; +echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

'; +echo '
+ '.$p->t('profil/fotoAuswählen').' +
+ +
+ + '; +if (isset($_POST['src'])) { + $src = $_POST['src']; + echo $src; +} + +function cropCss() { + return ' + '; +} ?> diff --git a/cis/private/crop.php b/cis/private/crop.php new file mode 100644 index 000000000..32c538ada --- /dev/null +++ b/cis/private/crop.php @@ -0,0 +1,162 @@ +$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); +} + +if(isset($_POST['person_idValue'])) +{ + $benutzer = new benutzer(); + $benutzer->load($user); + + if($benutzer->person_id!=$_POST['person_idValue']) + die($p->t('global/keineBerechtigungFuerDieseSeite')); + + $fs = new fotostatus(); + if($fs->akzeptiert($benutzer->person_id)) + die($p->t('profil/profilfotoUploadGesperrt')); +} +else + die($p->t('global/fehlerBeiDerParameteruebergabe')); + +//file als png und jpg abspeichern +$tmpfname = tempnam(sys_get_temp_dir(), 'FHC'); +file_put_contents($tmpfname, base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $src))); +$imageTmp=imagecreatefrompng($tmpfname); +imagejpeg($imageTmp, $tmpfname, 100); + +$person_id = $_POST['person_idValue']; + +//profilbild speichern +if(file_exists($tmpfname)) +{ + $width=101; + $height=130; + + //groesse auf maximal 827x1063 begrenzen + resize($tmpfname, 827, 1063); + + $fp = fopen($tmpfname,'r'); + //auslesen + $content = fread($fp, filesize($tmpfname)); + 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($tmpfname, 101, 130); + + //in DB speichern + //File oeffnen + $fp = fopen($tmpfname,'r'); + //auslesen + $content = fread($fp, filesize($tmpfname)); + 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($tmpfname); +?> 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/lehre/ects/preview.php b/cis/private/lehre/ects/preview.php index 974aac6c1..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 = ''; + ?> @@ -645,7 +668,7 @@ function getLastStundeByDatum(Array $array, $filterDatum) if ($anmerkungen_en) { - echo "

".$phrasen->t('lvinfo/anmerkungeEN')."

"; + echo "

".$phrasen->t('lvinfo/anmerkungenEN')."

"; echo "".stripslashes($anmerkungen_en)." 
"; } } diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php index e3a7d0845..2cb49a90d 100644 --- a/cis/private/lehre/upload.php +++ b/cis/private/lehre/upload.php @@ -623,7 +623,7 @@ } else { - if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && $file_name!='.htaccess') + if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && !stristr($file_name,'.htaccess')) { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { @@ -646,7 +646,7 @@ } else { - if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && $file_name!='.htaccess') + if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && !stristr($file_name,'.htaccess')) { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { @@ -679,7 +679,7 @@ } else { - if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && $file_name!='.htaccess') + if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && !stristr($file_name,'.htaccess')) { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { @@ -702,7 +702,7 @@ } else { - if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && $file_name!='.htaccess') + if(!stristr($uploadfile, '.php') && !stristr($uploadfile, '.cgi') && !stristr($uploadfile, '.pl') && !stristr($uploadfile, '.phtml') && !stristr($file_name,'.htaccess')) { if(copy($_FILES[$file]['tmp_name'], $uploadfile)) { @@ -1318,9 +1318,13 @@ $link_path = str_replace("+","%20",$link_path); echo "  ".htmlentities($entry, ENT_QUOTES, 'UTF-8')." "; + $new_file_name_=''; if(isset($_POST['new_file_name'.$file_count])) $new_file_name_ = $_POST['new_file_name'.$file_count]; + if(stristr($new_file_name_,'..')) + die('Invalid Parameter detected'); + if(isset($rename_file) && isset($check_state)) { echo " "; @@ -1331,7 +1335,7 @@ { if(!@file_exists($dest_dir->path.'/'.$new_file_name_) && !@is_dir($dest_dir->path.'/'.$new_file_name_)) { - if(!stristr($new_file_name_, '.php') && !stristr($new_file_name_, '.cgi') && !stristr($new_file_name_, '.pl') && !stristr($new_file_name_, '.phtml') && $new_file_name_!='.htaccess') + if(!stristr($new_file_name_, '.php') && !stristr($new_file_name_, '.cgi') && !stristr($new_file_name_, '.pl') && !stristr($new_file_name_, '.phtml') && !stristr($new_file_name_,'.htaccess')) { rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$new_file_name_); 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/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/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 68d774e94..ba2d4f72c 100644 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -447,12 +447,12 @@ function drawTree($tree, $depth) $tdclass=array(); //Empfehlung holen - if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) - { - $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; - if($semester==$empfohlenesSemester) - $tdclass[]='empfehlung'; - } +// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) +// { +// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; +// if($semester==$empfohlenesSemester) +// $tdclass[]='empfehlung'; +// } $tdinhalt=''; @@ -568,10 +568,10 @@ function drawTree($tree, $depth) echo ''; echo '

'.$p->t('studienplan/legende').':
- + diff --git a/cis/private/profile/zahlungen.php b/cis/private/profile/zahlungen.php index 4e266d762..e76219d77 100644 --- a/cis/private/profile/zahlungen.php +++ b/cis/private/profile/zahlungen.php @@ -94,6 +94,7 @@ foreach ($row['childs'] as $row_child) { $betrag += $row_child->betrag; + $betrag = round($betrag, 2); } } @@ -126,7 +127,7 @@ { echo ''.$p->t('tools/offen').''; + echo '" href="#">'.$p->t('tools/offen').' ('.sprintf('%.2f',$betrag*-1).' €)'; } echo ''; } diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 7f914cf6a..ad3849be1 100755 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -142,7 +142,7 @@ function searchPerson($searchItems) foreach($bn->result as $row) { $bisverwendung = new bisverwendung(); - $bisverwendung->getLastVerwendung($row->uid); + $bisverwendung->getLastAktVerwendung($row->uid); echo ''; //echo ''; diff --git a/cis/public/bild.php b/cis/public/bild.php index 9a262fa57..6020320ad 100644 --- a/cis/public/bild.php +++ b/cis/public/bild.php @@ -26,6 +26,7 @@ require_once('../../config/cis.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/basis_db.class.php'); require_once('../../include/benutzer.class.php'); +require_once('../../include/dms.class.php'); session_start(); @@ -33,7 +34,7 @@ if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); //Wenn das Bild direkt aufgerufen wird, ist eine Authentifizierung erforderlich -//Wenn es vom Server selbst aufgerufen wird, ist keine Auth. notwendig +//Wenn es vom Server selbst aufgerufen wird, ist keine Auth. notwendig //(z.B. fuer die Erstellung von PDFs) if($_SERVER['REMOTE_ADDR']!=$_SERVER['SERVER_ADDR']) { @@ -41,19 +42,19 @@ if($_SERVER['REMOTE_ADDR']!=$_SERVER['SERVER_ADDR']) if(!isset($_SESSION['prestudent/user']) && !isset($_SESSION['incoming/user'])) $uid = get_uid(); } - + //default bild (ein weisser pixel) -$cTmpHEX='/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQABAwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAI/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCywAf/2Q=='; +$cTmpHEX=base64_decode('/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQABAwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAI/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCywAf/2Q=='); //Hex Dump aus der DB holen if(isset($_GET['src']) && $_GET['src']=='person' && isset($_GET['person_id']) && is_numeric($_GET['person_id'])) { - $qry = "SELECT tbl_akte.inhalt as foto, tbl_person.foto_sperre FROM public.tbl_akte JOIN public.tbl_person USING(person_id) WHERE tbl_akte.person_id='".addslashes($_GET['person_id'])."' AND dokument_kurzbz='Lichtbil'"; + $qry = "SELECT tbl_akte.inhalt as foto, tbl_person.foto_sperre, tbl_akte.dms_id FROM public.tbl_akte JOIN public.tbl_person USING(person_id) WHERE tbl_akte.person_id=".$db->db_add_param($_GET['person_id'], FHC_INTEGER)." AND dokument_kurzbz='Lichtbil'"; if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result)) { $gesperrt=false; - + //Schauen ob eine Foto Sperre existiert if($db->db_parse_bool($row->foto_sperre)) { @@ -65,20 +66,54 @@ if(isset($_GET['src']) && $_GET['src']=='person' && isset($_GET['person_id']) & $benutzer->load($uid); if($benutzer->person_id==$_GET['person_id']) $gesperrt=false; + } } - + + if($row->foto=='' && $row->dms_id!='') + { + // Wenn das Foto nicht im Inhalt steht wird aus aus dem DMS geladen + $dms = new dms(); + if(!$dms->load($row->dms_id)) + die('Kein Dokument vorhanden'); + + $filename=DMS_PATH.$dms->filename; + + $dms->touch($dms->dms_id, $dms->version); + + if(file_exists($filename)) + { + if($handle = fopen($filename,"r")) + { + while (!feof($handle)) + { + $row->foto.= fread($handle, 8192); + } + fclose($handle); + } + else + echo 'Fehler: Datei konnte nicht geoeffnet werden'; + } + else + echo 'Die Datei existiert nicht'; + } + if($row->foto!='' && !$gesperrt) - $cTmpHEX=$row->foto; + { + if($row->dms_id=='') + $cTmpHEX=base64_decode($row->foto); + else + $cTmpHEX=$row->foto; + } } } } - //die bilder werden, sofern es funktioniert, in jpg umgewandelt da es sonst zu fehlern beim erstellen //von pdfs kommen kann. -$im = @imagecreatefromstring(base64_decode($cTmpHEX)); + +$im = @imagecreatefromstring($cTmpHEX); if($im!=false) -{ +{ @ob_clean(); header("Content-type: image/jpeg"); exit(imagejpeg($im)); @@ -89,6 +124,6 @@ else //diese werden dann einfach so angezeigt. @ob_clean(); header("Content-type: image/gif"); - exit(base64_decode($cTmpHEX)); + exit($cTmpHEX); } -?> \ No newline at end of file +?> diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 7be66d80a..e4206372a 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -101,12 +101,34 @@ $firma->getFirmen('Partneruniversität'); ?> - Incoming-Verwaltung - - + Incoming-Verwaltung + + - + + + +
',$row->titelpre,'
@@ -328,15 +350,15 @@ else if($method=="lehrveranstaltungen") echo ' -
+
- - - - - + + + + + @@ -382,7 +404,7 @@ else if($method=="lehrveranstaltungen")
'.$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('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').' Info


'; //Uebersicht Deutschkurse - echo ' + echo '
@@ -420,7 +442,7 @@ else if($method=="lehrveranstaltungen") echo '
'.$p->t('incoming/deutschkurse').'


'; - echo ' + /*echo ' @@ -456,11 +478,11 @@ else if($method=="lehrveranstaltungen")


- '; + ';*/ echo '
- +
@@ -486,18 +508,56 @@ else if($method=="lehrveranstaltungen") echo ''; - echo' + echo'
'; + echo $p->t('courseInformation/unterrichtssprache').':
'; + echo $p->t('global/studiengang').':'; + echo '
'.$p->t('incoming/studentenImWS').'
@@ -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/cis/testtool/frage.php b/cis/testtool/frage.php index d1b89c4b0..d49fd839f 100644 --- a/cis/testtool/frage.php +++ b/cis/testtool/frage.php @@ -506,9 +506,9 @@ if($frage->frage_id!='') $antwort = new antwort(); $antwort->getAntwort($_SESSION['pruefling_id'],$row->frage_id); if($row->frage_id==$frage_id) - echo " "; + echo " "; else - echo " "; + echo " "; } //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),'
".($row->nummer<10?" ":"")."$row->nummer".($row->nummer<10?" ":"")."$row->nummer$row->nummer$row->nummer
"; } 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/config/global.config-default.inc.php b/config/global.config-default.inc.php index 1c339f485..461d2f02a 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); @@ -52,6 +53,17 @@ define('CIS_GESAMTNOTE_PUNKTE',false); // Gibt an ob der Lektor erneut eine LVNote eintragen kann wenn bereits eine Zeugnisnote vorhanden ist (true | false) DEFAULT true define('CIS_GESAMTNOTE_UEBERSCHREIBEN',true); +// Gibt an ob im FAS bei den Lehrveranstaltungsnoten ein zusaetzliches Formular angezeigt wird um +// Vertraege fuer Pruefungshonorare anzulegen +define('FAS_GESAMTNOTE_PRUEFUNGSHONORAR',false); + +// Grenzwerte für Anwesenheit +define('FAS_ANWESENHEIT_ROT', 70); +define('FAS_ANWESENHEIT_GELB', 90); + +// Legt einen Prüfungstermin an wenn eine neue Note erfasst wird +define('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN',false); + // Anzeigeoptionen für LV-Plan Menü define('CIS_LVPLAN_EXPORT_ANZEIGEN',true); define('CIS_LVPLAN_PERSONENAUSWAHL_ANZEIGEN',true); @@ -88,7 +100,7 @@ define('VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER',''); define('VORRUECKUNG_STATUS_MAX_SEMESTER',true); // Bei Statuswechsel auf Bewerber -> soll Reihungstest brücksichtigt werden -define('REIHUNGSTEST_CHECK', true); +define('REIHUNGSTEST_CHECK', true); /* Schema zur Erstellung der Kurs Kategorien im Moodle * Leer oder nicht gesetzt: STSEM -> STG -> Ausbsemester (WS2014 -> BEL -> 1) @@ -96,8 +108,11 @@ define('REIHUNGSTEST_CHECK', true); */ define('MOODLE_COURSE_SCHEMA',''); +// Legt fst ob Fachbereichsleiter zu Moodle Kursen zugeteilt werden (mit Benutzerdefinierter Rolle 11) +define('MOODLE_SYNC_FACHBEREICHSLEITUNG',false); + // Bei Statuswechsel auf Bewerber -> bei true wird email (INFOMAIL_BEWERBER) an den Bewerber geschickt -define('SEND_BEWERBER_INFOMAIL', false); +define('SEND_BEWERBER_INFOMAIL', false); // Infotext der an Bewerber gesendet wird define('INFOMAIL_BEWERBER', 'Vielen Dank für Ihr Interesse an einem Studium @@ -113,7 +128,7 @@ Mo-Fr 9:00-12:00 Uhr Mi 13:30-15:30 Uhr Mit freundlichen Grüßen, -Ihre Fachhochschule'); +Ihre Fachhochschule'); // Bei neuen Studierenden UID automatisch als Matrikelnummer setzen (true|false) define('SET_UID_AS_MATRIKELNUMMER',false); @@ -159,7 +174,7 @@ define('BEWERBERTOOL_ZAHLUNGEN_ANZEIGEN', true); define('BEWERBERTOOL_DOKUMENTE_ANZEIGEN', true); define('BEWERBERTOOL_ZGV_ANZEIGEN', true); define('BEWERBERTOOL_BERUFSTAETIGKEIT_ANZEIGEN', true); -// Wenn hier eine Mailadresse angegeben ist, werden die Bewerbungen aus der Onlinebwerbung an diese Adresse gesendet. +// Wenn hier eine Mailadresse angegeben ist, werden die Bewerbungen aus der Onlinebwerbung an diese Adresse gesendet. // Wenn leer dann wird an die Studiengangsadresse gesendet define('BEWERBERTOOL_MAILEMPFANG', ''); diff --git a/content/bild.php b/content/bild.php index 4ae2180c8..b8ee46bb0 100644 --- a/content/bild.php +++ b/content/bild.php @@ -24,6 +24,8 @@ // Aufruf mit db_add_param($_GET['person_id'], FHC_INTEGER); if($result = $db->db_query($qry)) { - if($row = $db->db_fetch_object($result)) - $cTmpHEX=$row->foto; - } + if($row = $db->db_fetch_object($result)) + $cTmpHEX=base64_decode($row->foto); + } } elseif(isset($_GET['src']) && $_GET['src']=='akte' && isset($_GET['person_id'])) { - $qry = "SELECT inhalt as foto FROM public.tbl_akte WHERE person_id=".$db->db_add_param($_GET['person_id'], FHC_INTEGER)." AND dokument_kurzbz='Lichtbil'"; + $qry = "SELECT inhalt as foto, dms_id FROM public.tbl_akte WHERE person_id=".$db->db_add_param($_GET['person_id'], FHC_INTEGER)." AND dokument_kurzbz='Lichtbil'"; if($result = $db->db_query($qry)) { - if($row = $db->db_fetch_object($result)) - $cTmpHEX=$row->foto; - } + if($row = $db->db_fetch_object($result)) + { + if($row->foto!='') + $cTmpHEX=base64_decode($row->foto); + elseif($row->dms_id!='') + { + // Wenn das Foto nicht im Inhalt steht wird aus aus dem DMS geladen + $dms = new dms(); + if(!$dms->load($row->dms_id)) + die('Kein Dokument vorhanden'); + + $filename=DMS_PATH.$dms->filename; + + $dms->touch($dms->dms_id, $dms->version); + + if(file_exists($filename)) + { + if($handle = fopen($filename,"r")) + { + $cTmpHEX=''; + while (!feof($handle)) + { + $cTmpHEX.= fread($handle, 8192); + } + fclose($handle); + } + else + echo 'Fehler: Datei konnte nicht geoeffnet werden'; + } + else + echo 'Die Datei existiert nicht'; + } + } + } } //Header fuer Bild schicken header("Content-type: image/gif"); //base64 Werte in Zeichen umwandeln und ausgeben -exit(base64_decode($cTmpHEX)); -?> \ No newline at end of file +exit($cTmpHEX); +?> diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index 0af5424f5..458760b2d 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -125,7 +125,7 @@ echo '