This commit is contained in:
Gerald Raab
2015-08-31 11:20:41 +02:00
286 changed files with 15591 additions and 58939 deletions
+3
View File
@@ -2,3 +2,6 @@
/nbproject/
/.idea/
documents/
.settings
.project
.buildpath
@@ -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);
+297 -153
View File
@@ -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 '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="../../skin/simplecropper.css">'.
cropCss().'
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript" src="../../include/js/jquery.min.1.11.1.js"></script>
<script type="text/javascript" src="../../include/js/jquery.Jcrop.js"></script>
<script type="text/javascript" src="../../include/js/jquery.SimpleCropper.js"></script>
<script type="text/javascript" src="../../include/js/cropper.js"></script>
<title>'.$p->t('profil/Bildupload').'</title>
</head>
<body>
@@ -48,37 +57,38 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
function resize($filename, $width, $height)
{
$ext = explode('.',$_FILES['bild']['name']);
$ext = strtolower($ext[count($ext)-1]);
// Hoehe und Breite neu berechnen
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$ext = explode('.',$_FILES['bild']['name']);
$ext = strtolower($ext[count($ext)-1]);
$image_p = imagecreatetruecolor($width, $height);
// Hoehe und Breite neu berechnen
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$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;
$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 "<b>Fehler: $akte->errormsg</b>";
}
//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 '<span class="error">Fehler beim Setzen des Bildstatus</span>';
else
{
echo "<b>Bild wurde erfolgreich gespeichert</b>
<script language='Javascript'>
if(typeof(opener.StudentAuswahl) == 'function')
opener.StudentAuswahl();
if(typeof(opener.MitarbeiterAuswahl) == 'function')
opener.MitarbeiterAuswahl();
if(typeof(opener.RefreshImage) == 'function' ||
typeof(opener.RefreshImage) == 'object')
{
opener.RefreshImage();
}
window.close();
</script><br />";
}
}
else
echo '<b>'.$person->errormsg.'</b><br />';
}
else
echo '<b>'.$person->errormsg.'</b><br />';
}
else
echo '<b>'.$p->t('profil/nurJPGBilder').'</b><br />';
}
}
echo '<br>';
echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'<br><br>
<form accept-charset="UTF-8" method="POST" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'?person_id='.$_GET['person_id'].'">
'.$p->t('profil/Bild').': <input type="file" name="bild" />
<input type="submit" name="submitbild" value="Upload" />
</form>
</td></tr>';
echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'<br><br>';
echo '<div class="simple-cropper-images">
'.$p->t('profil/fotoAuswählen').'
<div class="cropme" id="croppingdiv" style="width: 300px; height: 400px; background-image:url(../../skin/images/photoupload.png); margin:10px; cursor:pointer;"></div>
<script>
// Init Simple Cropper
$(".cropme").simpleCropper();
</script>
</div>
<input type="button" name="submitbild" id="saveimgbutton" value="'.$p->t('profil/bildSpeichern').'" style="margin-left:90px;"/>
<input type="hidden" id="person_id" value="'.$_GET['person_id'].'" />';
if (isset($_POST['src'])) {
$src = $_POST['src'];
echo $src;
}
function cropCss() {
return '
<style type="text/css">
/* jquery.Jcrop.css v0.9.12 - MIT License */
/*
The outer-most container in a typical Jcrop instance
If you are having difficulty with formatting related to styles
on a parent element, place any fixes here or in a like selector
You can also style this element if you want to add a border, etc
A better method for styling can be seen below with .jcrop-light
(Add a class to the holder and style elements for that extended class)
*/
.jcrop-holder {
direction: ltr;
text-align: left;
}
/* Selection Border */
.jcrop-vline,
.jcrop-hline {
background: #ffffff url("../images/Jcrop.gif");
font-size: 0;
position: absolute;
}
.jcrop-vline {
height: 100%;
width: 1px !important;
}
.jcrop-vline.right {
right: 0;
}
.jcrop-hline {
height: 1px !important;
width: 100%;
}
.jcrop-hline.bottom {
bottom: 0;
}
/* Invisible click targets */
.jcrop-tracker {
height: 100%;
width: 100%;
/* "turn off" link highlight */
-webkit-tap-highlight-color: transparent;
/* disable callout, image save panel */
-webkit-touch-callout: none;
/* disable cut copy paste */
-webkit-user-select: none;
}
/* Selection Handles */
.jcrop-handle {
background-color: #333333;
border: 1px #eeeeee solid;
width: 14px;
height: 14px;
font-size: 1px;
}
.jcrop-handle.ord-n {
left: 50%;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-s {
bottom: 0;
left: 50%;
margin-bottom: -4px;
margin-left: -4px;
}
.jcrop-handle.ord-e {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 50%;
}
.jcrop-handle.ord-w {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 50%;
}
.jcrop-handle.ord-nw {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-ne {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 0;
}
.jcrop-handle.ord-se {
bottom: 0;
margin-bottom: -4px;
margin-right: -4px;
right: 0;
}
.jcrop-handle.ord-sw {
bottom: 0;
left: 0;
margin-bottom: -4px;
margin-left: -4px;
}
/* Dragbars */
.jcrop-dragbar.ord-n,
.jcrop-dragbar.ord-s {
height: 7px;
width: 100%;
}
.jcrop-dragbar.ord-e,
.jcrop-dragbar.ord-w {
height: 100%;
width: 7px;
}
.jcrop-dragbar.ord-n {
margin-top: -4px;
}
.jcrop-dragbar.ord-s {
bottom: 0;
margin-bottom: -4px;
}
.jcrop-dragbar.ord-e {
margin-right: -4px;
right: 0;
}
.jcrop-dragbar.ord-w {
margin-left: -4px;
}
/* The "jcrop-light" class/extension */
.jcrop-light .jcrop-vline,
.jcrop-light .jcrop-hline {
background: #ffffff;
filter: alpha(opacity=70) !important;
opacity: .70!important;
}
.jcrop-light .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #000000;
border-color: #ffffff;
border-radius: 3px;
}
/* The "jcrop-dark" class/extension */
.jcrop-dark .jcrop-vline,
.jcrop-dark .jcrop-hline {
background: #000000;
filter: alpha(opacity=70) !important;
opacity: 0.7 !important;
}
.jcrop-dark .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #ffffff;
border-color: #000000;
border-radius: 3px;
}
/* Simple macro to turn off the antlines */
.solid-line .jcrop-vline,
.solid-line .jcrop-hline {
background: #ffffff;
}
/* Fix for twitter bootstrap et al. */
.jcrop-holder img,
img.jcrop-preview {
max-width: none;
}
.clear{
font-size: 0px;
line-height: 0px;
overflow: hidden;
width: 0px;
height: 0px;
clear: both;
}
.simple-cropper-images{
width: 820px;
margin: 0 auto 20px;
}
.cropme{
background-image: url(../../skin/images/photoupload.png);
}
.cropme:hover{
}
.text{
font-family: arial;
font-size: 14px;
color: #4e4e4e;
margin-bottom: 20px;
}
.code{
font-family: arial;
font-size: 14px;
color: #4e4e4e;
margin-bottom: 20px;
background-color: #f1f1f1;
padding: 10px;
}
#fileInput{
width:0;
height:0;
overflow:hidden;
}
#modal{
z-index: 10;
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: #5F5F5F;
opacity: 0.95;
display: none;
}
#preview{
z-index: 11;
position: fixed;
top: 0px;
left: 0px;
display: none;
border: 4px solid #A5A2A2;
border-radius: 4px;
float: left;
font-size: 0px;
line-height: 0px;
}
#preview .buttons{
width: 36px;
position: absolute;
bottom:0px;
right: -44px;
}
</style>';
}
?>
</body>
</html>
+162
View File
@@ -0,0 +1,162 @@
<?php
require_once('../../config/cis.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/akte.class.php');
require_once('../../include/phrasen.class.php');
require_once('../../include/fotostatus.class.php');
$src = $_POST['src'];
$user = get_uid();
//kopiert von bildupload.php
function resize($filename, $width, $height)
{
$ext = 'jpg';
// Hoehe und Breite neu berechnen
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
else
{
$height = ($width / $width_orig) * $height_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$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);
}
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 "<b>Fehler: $akte->errormsg</b>";
}
//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 '<span class="error">Fehler beim Setzen des Bildstatus</span>';
else
{
echo "<b>Bild wurde erfolgreich gespeichert</b>";
}
}
else
echo '<b>'.$person->errormsg.'</b><br />';
}
}
//temporäre files löschen
unlink($tmpfname);
?>
+164 -134
View File
@@ -16,18 +16,18 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* 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('<center>'.$p->t('global/keineBerechtigungFuerDieseSeite').'</center>');
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
//if(!check_lektor($user))
// die('<center>'.$p->t('global/keineBerechtigungFuerDieseSeite').'</center>');
/* 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))
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../../skin/jquery.css" type="text/css"/>
<link rel="stylesheet" href="../../../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../../../include/js/jquery.js"></script>
<title><?php echo $p->t('courseInformation/ectsLvInfo');?></title>
<script language="JavaScript" type="text/javascript">
function ask() {
return confirm("<?php echo $p->t('global/warnungWirklichLoeschen');?>");
}
$(document).ready(function()
{
$("#myTable").tablesorter(
{
sortList: [[1,0]],
widgets: ["zebra"],
headers : {0:{sorter: false}}
});
});
</script>
</head>
<body style="padding:10px">
<h1><?php echo $p->t('courseInformation/lvInfoFreigabe');?></h1>
<table class="tabcontent">
<tr>
<td width="85%">
&nbsp;
</td>
<table class="tabcontent">
<tr>
<td width="85%">
&nbsp;
</td>
<td>
<ul>
<li>&nbsp;<a href='index.php?<?php echo "stg=$stg&sem=".(isset($sem)?$sem:'')."&lv=$lv"?>'><font size='3'><?php echo $p->t('global/bearbeiten');?></font></a></li>
<li>&nbsp;<a href='index.php?<?php echo "stg=$stg&sem=".(isset($sem)?$sem:'')."&lvid=$lv"?>'><font size='3'><?php echo $p->t('global/bearbeiten');?></font></a></li>
<li>&nbsp;<a href='freigabe.php?<?php echo "stg=$stg&sem=".(isset($sem)?$sem:'')."&lv=$lv"?>'><font size='3'><?php echo $p->t('courseInformation/freigabe');?></font></a></li>
<li>&nbsp;<a href='beispiele.php'><font size='3'><?php echo $p->t('global/beispiele');?></font></a></li>
<li>&nbsp;<a href='terminologie.php'><font size='3'><?php echo $p->t('courseInformation/terminologie');?></font></a></li>
</ul>
<!--<li>&nbsp;<a href='terminologie.php'><font size='3'><?php echo $p->t('courseInformation/terminologie');?></font></a></li>-->
</ul>
</td>
</tr>
</table>
</tr>
</table>
<?php
//DropDown Menues zur Auswahl von Studiengang und Semester anzeigen
<?php
//DropDown Menues zur Auswahl von Studiengang und Semester anzeigen
echo "<form name='auswFrm' action='".$_SERVER['PHP_SELF']."' method='POST'>";
echo "<input type='hidden' name='status' value='a'>";
echo "<input type='hidden' name='lv' value='$lv'>";
//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 ('<center>'.$p->t('global/fehlerBeimLesenAusDatenbank').'</center>');
echo "<form name='auswFrm' action='".$_SERVER['PHP_SELF']."' method='POST'>";
echo "<input type='hidden' name='status' value='a'>";
echo "<input type='hidden' name='lv' value='$lv'>";
//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 ('<center>'.$p->t('global/fehlerBeimLesenAusDatenbank').'</center>');
echo $p->t('global/studiengang')." <SELECT name='stg' onChange='javascript:window.document.auswFrm.status.value=\"changestg\";window.document.auswFrm.submit();'>";
//$firststg;
$vorhanden=false;
echo $p->t('global/studiengang')." <SELECT name='stg' onChange='javascript:window.document.auswFrm.status.value=\"changestg\";window.document.auswFrm.submit();'>";
//$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 "<option value='$row->studiengang_kz' selected>$row->kurzbzlang</option>";
$vorhanden=true;
}
else
echo "<option value='$row->studiengang_kz'>$row->kurzbzlang</option>";
}
echo "</SELECT>";
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 "<option value='$row->studiengang_kz' selected>$row->kurzbzlang</option>";
$vorhanden=true;
}
else
echo "<option value='$row->studiengang_kz'>$row->kurzbzlang</option>";
}
}
echo "</SELECT>";
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 ("<center>".$p->t('global/fehleraufgetreten')."</center>");
//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 ("<center>".$p->t('global/fehleraufgetreten')."</center>");
echo " ".$p->t('global/semester')." <SELECT name='sem' onChange='javascript:window.document.auswFrm.submit();'>";
echo " ".$p->t('global/semester')." <SELECT name='sem' onChange='javascript:window.document.auswFrm.submit();'>";
//$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 "<option value='$row->semester' selected>$row->semester</option>";
$vorhanden=true;
}
else
echo "<option value='$row->semester'>$row->semester</option>";
}
echo "</SELECT>";
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 "<option value='$row->semester' selected>$row->semester</option>";
$vorhanden=true;
}
else
echo "<option value='$row->semester'>$row->semester</option>";
}
echo "</SELECT>";
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
?>
<br><br>
<table width="900" class="tabcontent2" style="border: 1px solid black">
<tr>
<td>
<table class="tabcontent">
<tr class='liste'>
<th>x</th>
<th><?php echo $p->t('lvaliste/lehrfach');?></th>
<th><?php echo $p->t('courseInformation/bearbeitetVon');?></th>
<th><?php echo $p->t('courseInformation/updateAm');?></th>
<th><?php echo $p->t('global/anzeigen');?></th>
<th><?php echo $p->t('courseInformation/online');?><br>de &nbsp; en</th>
</tr>
//Anzeigen der Liste mit den LV - Informationen
?>
<br><br>
<table>
<tr>
<td>
<table id="myTable" class="tablesorter">
<thead>
<tr class='liste'>
<th></th>
<th><?php echo $p->t('global/lehrveranstaltung');?></th>
<th><?php echo $p->t('courseInformation/bearbeitetVon');?></th>
<th><?php echo $p->t('courseInformation/updateAm');?></th>
<th><?php echo $p->t('global/anzeigen');?></th>
<th><?php echo $p->t('courseInformation/freigeben');?></th>
</tr>
</thead>
<tbody>
<?php
$qry="SELECT *, tbl_lehrveranstaltung.bezeichnung as bezeichnung, to_char(tbl_lvinfo.updateamum,'DD-MM-YYYY HH24:MI') as amum,tbl_lvinfo.updateamum as updateamum, tbl_lvinfo.updatevon as updatevon FROM campus.tbl_lvinfo JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE studiengang_kz=$stg AND semester=$sem AND tbl_lvinfo.aktiv=true AND tbl_lvinfo.sprache='".ATTR_SPRACHE_DE."' ORDER BY tbl_lehrveranstaltung.bezeichnung ASC";
<?php
$qry="SELECT *, tbl_lehrveranstaltung.bezeichnung as bezeichnung, to_char(tbl_lvinfo.updateamum,'DD.MM.YYYY HH24:MI') as amum,tbl_lvinfo.updateamum as updateamum, tbl_lvinfo.updatevon as updatevon FROM campus.tbl_lvinfo JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) WHERE studiengang_kz=$stg AND semester=$sem AND tbl_lvinfo.aktiv=true AND tbl_lvinfo.sprache='".ATTR_SPRACHE_DE."' ORDER BY tbl_lehrveranstaltung.bezeichnung ASC";
if(!$result=$db->db_query($qry))
die("<center>Fehler bei einer Datenbankabfrage</center>");
if(!$result=$db->db_query($qry))
die("<center>Fehler bei einer Datenbankabfrage</center>");
$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("<center>Fehler bei einer Datenbankabfrage</center>");
if(!$row1=$db->db_fetch_object($result1))
if(!$result1=$db->db_query($qry1))
die("<center>Fehler bei einer Datenbankabfrage</center>");
$qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'";
if(!$row1=$db->db_fetch_object($result1))
die("<center>Fehler bei einer Datenbankabfrage</center>");
$bearbeitet=$row->updatevon;
if($result2=$db->db_query($qry2))
if($row2=$db->db_fetch_object($result2))
$bearbeitet=$row2->vorname.' '.$row2->nachname;
echo "\n";
echo "<tr class='liste".($i%2)."'>"."\n";
echo "<td align='center'><a href='".$_SERVER['PHP_SELF']."?del=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id' onClick='return ask();'>Delete</a></td>"."\n";
echo "<td align='center'>$row->bezeichnung</td>"."\n";
//echo "<td align='center'>$row->studiensemester_kurzbz</td>"."\n";
echo "<td align='center'>$bearbeitet</td>"."\n";
echo "<td align='center'>".$row->amum."</td>"."\n";
echo "<td align='center'><a href='#' onClick='javascript:window.open(\"preview.php?lv=$row->lehrveranstaltung_id&language=de\",\"Preview\",\"width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\");'><img src='../../../../skin/images/flagge-aut.gif' border=0 width=30 ></a>&nbsp;";
echo "<a href='#' onClick='javascript:window.open(\"preview.php?lv=$row1->lehrveranstaltung_id&language=en\",\"Preview\",\"width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\");'><img src='../../../../skin/images/flagge-eng.gif' border=0 width=30 ></a></td>"."\n";
echo "<td align='center'><input type='checkbox' onClick='javascript:window.location.href=\"".$_SERVER['PHP_SELF']."?changestat=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id&lang=de\";' ".($row->genehmigt=='t'?'checked':'').">"."\n";
echo "<input type='checkbox' onClick='javascript:window.location.href=\"".$_SERVER['PHP_SELF']."?changestat=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id&lang=en\";' ".($row1->genehmigt=='t'?'checked':'')."></td>"."\n";
echo "</tr>";
}
?>
$qry2="SELECT vorname, nachname FROM campus.vw_mitarbeiter WHERE uid='$row->updatevon'";
</table>
</td>
</tr>
</table>
$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 "<tr class='liste".($i%2)."'>"."\n";
echo "<td $style align='center'><a href='".$_SERVER['PHP_SELF']."?del=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id' onClick='return ask();'>Delete</a></td>"."\n";
echo "<td $style>$row->bezeichnung</td>"."\n";
//echo "<td align='center'>$row->studiensemester_kurzbz</td>"."\n";
echo "<td $style>$bearbeitet</td>"."\n";
echo "<td $style>".$row->amum."</td>"."\n";
echo "<td $style align='center'><a href='#' onClick='javascript:window.open(\"preview.php?lv=$row->lehrveranstaltung_id&language=de\",\"Preview\",\"width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\");'>German</a>&nbsp;";
echo "<a href='#' onClick='javascript:window.open(\"preview.php?lv=$row1->lehrveranstaltung_id&language=en\",\"Preview\",\"width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\");'>English</a></td>"."\n";
echo "<td $style align='center'>DE <input type='checkbox' onClick='javascript:window.location.href=\"".$_SERVER['PHP_SELF']."?changestat=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id&lang=de\";' ".($row->genehmigt=='t'?'checked':'').">"."\n";
echo "<input type='checkbox' onClick='javascript:window.location.href=\"".$_SERVER['PHP_SELF']."?changestat=1&stg=$stg&sem=$sem&lv=$row->lehrveranstaltung_id&lang=en\";' ".($row1->genehmigt=='t'?'checked':'')."> EN</td>"."\n";
echo "</tr>";
}
?>
</tbody>
</table>
</td>
</tr>
</table>
</body>
</html>
+372 -187
View File
@@ -16,20 +16,21 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* 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 = '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -55,9 +68,13 @@ if (!$db = new basis_db())
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<title><?php echo $p->t('courseInformation/ectsInformation')?></title>
<style type="text/css">
textarea
{
font-size: 13px;
}
</style>
<script language="JavaScript" type="text/javascript">
<!--
function save()
{
window.document.editFrm.status.value="save";
@@ -65,7 +82,13 @@ if (!$db = new basis_db())
window.document.editFrm.target="_self";
window.document.editFrm.submit();
}
-->
function freigeben()
{
window.document.editFrm.status.value="freigeben";
window.document.editFrm.action="<?php echo $_SERVER['PHP_SELF']; ?>";
window.document.editFrm.target="_self";
window.document.editFrm.submit();
}
</script>
</head>
<body style="padding: 10px">
@@ -78,13 +101,8 @@ if (!$db = new basis_db())
return $string;
}
$user = get_uid();
//Berechtigung ueberpruefen
if(!check_lektor($user))
die("<br><center>".$p->t('global/keineBerechtigungFuerDieseSeite')."</center>");
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", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $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", "<br>", $anmerkungen_en);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_en);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $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", "<br>", $lehrziele_de);
$lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "<br>", $lehrinhalte_de);
$lv_obj_sav->voraussetzungen=mb_eregi_replace("\r\n", "<br>", $voraussetzungen_de);
$lv_obj_sav->unterlagen=mb_eregi_replace("\r\n", "<br>", $unterlagen_de);
$lv_obj_sav->pruefungsordnung=mb_eregi_replace("\r\n", "<br>", $pruefungsordnung_de);
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_de);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_de);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $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", "<br>", $methodik_de);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $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", "<br>", $lehrziele_en);
$lv_obj_sav->lehrinhalte=mb_eregi_replace("\r\n", "<br>", $lehrinhalte_en);
$lv_obj_sav->voraussetzungen=mb_eregi_replace("\r\n", "<br>", $voraussetzungen_en);
$lv_obj_sav->unterlagen=mb_eregi_replace("\r\n", "<br>", $unterlagen_en);
$lv_obj_sav->pruefungsordnung=mb_eregi_replace("\r\n", "<br>", $pruefungsordnung_en);
$lv_obj_sav->anmerkungen=mb_eregi_replace("\r\n", "<br>", $anmerkungen_en);
$lv_obj_sav->kurzbeschreibung=mb_eregi_replace("\r\n", "<br>", $kurzbeschreibung_en);
$lv_obj_sav->anwesenheit=mb_eregi_replace("\r\n", "<br>", $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", "<br>", $methodik_en);
//$lv_obj_sav->titel = mb_eregi_replace("\r\n", "<br>", $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.="<br><span style='color:green;'>".$p->t('courseInformation/freigabemailWurdeVersandt',array($to))."</span>";
}
else
{
$okmsg.="<br><span class='error'>".$p->t('courseInformation/fehlerBeimSendenAufgetreten',array($to))."!</span>";
}
}
else
{
$okmsg.="<br><span class='error'>".$p->t('courseInformation/konnteKeinFreigabemailVersendetWerden')."</span>";
}
}
}
$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')." <SELECT name='lv' onChange='javascript:window.document.auswahlFrm.changed.value=\"lv\";window.document.auswahlFrm.submit();'>";
$vorhanden=false;
unset($firstlv);
$output .= $p->t('global/lehrveranstaltung')." <SELECT name='lv' onChange='javascript:window.document.auswahlFrm.changed.value=\"lv\";window.document.auswahlFrm.submit();'>";
$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 .= "<option value='$erg->lehrveranstaltung_id' selected>".Cut($erg->bezeichnung)."</option>";
$vorhanden=true;
}
else
$output .= "<option value='$erg->lehrveranstaltung_id'>".Cut($erg->bezeichnung)."</option>";
}
$output .= "</SELECT>";
if(!$vorhanden)
$lv=$firstlv;
if($lv == $erg->lehrveranstaltung_id)
{
$output .= "<option value='$erg->lehrveranstaltung_id' selected>".($erg->orgform_kurzbz!=''?$erg->orgform_kurzbz." - ":"").Cut($erg->bezeichnung)."</option>";
$vorhanden=true;
}
else
$output .= "<option value='$erg->lehrveranstaltung_id'>".($erg->orgform_kurzbz!=''?$erg->orgform_kurzbz." - ":"").Cut($erg->bezeichnung)."</option>";
}
$output .= "</SELECT>";
if(!$vorhanden)
$lv=$firstlv;
}
else
{
@@ -426,10 +591,11 @@ if (!$db = new basis_db())
//Menue ausgeben
$output .= "\n";
$output .= "<ul>";
$output .= "<li>&nbsp;<a class='Item' href='index.php?stg=$stg&sem=$sem&lv=$lv'><font size='3'>".$p->t('global/bearbeiten')."</font></a></li>";
$output .= "<li>&nbsp;<a class='Item' href='freigabe.php?stg=$stg&sem=$sem&lv=$lv'><font size='3'>".$p->t('courseInformation/freigabe')."</font></a></li>";
$output .= "<li>&nbsp;<a class='Item' href='index.php?stg=$stg&sem=$sem&lvid=$lv'><font size='3'>".$p->t('global/bearbeiten')."</font></a></li>";
if ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))
$output .= "<li>&nbsp;<a class='Item' href='freigabe.php?stg=$stg&sem=$sem&lv=$lv'><font size='3'>".$p->t('courseInformation/freigabe')."</font></a></li>";
$output .= "<li>&nbsp;<a class='Item' href='beispiele.php'><font size='3'>".$p->t('global/beispiele')."</font></a></li>";
$output .= "<li>&nbsp;<a class='Item' href='terminologie.php'><font size='3'>".$p->t('courseInformation/terminologie')."</font></a></li>";
//$output .= "<li>&nbsp;<a class='Item' href='terminologie.php'><font size='3'>".$p->t('courseInformation/terminologie')."</font></a></li>";
$output .= "</ul>";
$output .= "</td></tr></table>";
@@ -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 "<Form name='editFrm' action='".$_SERVER['PHP_SELF']."' method='POST'>";
echo "<table class='tabcontent'>";
echo "<tr><td><b>".$p->t('courseInformation/ectsCredits')."</b></td><td>&nbsp;</td><td width='400'>".($lv_obj->ects!=''?number_format($lv_obj->ects,1,'.',''):'')."</td><td width='100%'></td></tr>";
echo "<table>";
echo "<tr><td><b>".$p->t('courseInformation/ectsCredits')."</b></td><td width='100%'>".($lv_obj->ects!=''?number_format($lv_obj->ects,1,'.',''):'')."</td></tr>";
$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 "<tr><td class='tdvertical' nowrap><b>".$p->t('courseInformation/lehrendeLautLehrauftrag')."</b></td><td>&nbsp;</td><td nowrap>";
echo "<tr><td class='tdvertical' nowrap><b>".$p->t('courseInformation/lehrendeLautLehrauftrag')."</b></td><td nowrap>";
$helparray = array();
if($result=$db->db_query($qry))
{
@@ -521,19 +695,19 @@ if (!$db = new basis_db())
}
foreach($helparray as $elem)
echo $elem."<br>";
echo $elem."<br>";
echo "</td></tr>";
//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 "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutsleiter')."</b></td><td>&nbsp;</td><td>";
if($result=$db->db_query($qry))
{
while($row=$db->db_fetch_object($result))
{
echo "$row->titelpre $row->vorname $row->nachname $row->titelpost<br>";
}
}
)
)";
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutsleiter')."</b></td><td>";
if($result=$db->db_query($qry))
{
while($row=$db->db_fetch_object($result))
{
echo "$row->titelpre $row->vorname $row->nachname $row->titelpost<br>";
}
}
echo "</td></tr>";
echo "</td></tr>";
//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 "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutskoordinator')."</b></td><td>&nbsp;</td><td>";
if($result=$db->db_query($qry))
{
while($row=$db->db_fetch_object($result))
{
echo "$row->titelpre $row->vorname $row->nachname $row->titelpost<br>";
}
}
echo "</td></tr>";
//echo "</table>";
echo "<tr><td>";
echo "<input type='hidden' name='stg' value='$stg'>";
echo "<input type='hidden' name='sem' value='$sem'>";
echo "<input type='hidden' name='lv' value='$lv'>";
echo "<input type='hidden' name='status' value=''>";
echo "</td></tr>";
//Sprache ausgeben
echo "<tr><td><b>".$p->t('courseInformation/unterrichtssprache')."</b></td><td>&nbsp;</td><td>$lv_obj->sprache";
echo "</td></tr>";
//Anz. Incoming ausgeben
if ($lv_obj->incoming > -1)
echo "<tr><td class='tdvertical'><b>".$p->t('courseInformation/institutskoordinator')."</b></td><td>";
if($result=$db->db_query($qry))
{
while($row=$db->db_fetch_object($result))
{
echo "<tr><td valign='top'><b>".$p->t('courseInformation/incomingplaetze')."</b></td><td>&nbsp;</td><td valign='top'>$lv_obj->incoming";
echo "$row->titelpre $row->vorname $row->nachname $row->titelpost<br>";
}
}
echo "</td></tr>";
//echo "</table>";
echo "<tr><td>";
echo "<input type='hidden' name='stg' value='$stg'>";
echo "<input type='hidden' name='sem' value='$sem'>";
echo "<input type='hidden' name='lv' value='$lv'>";
echo "<input type='hidden' name='status' value=''>";
echo "</td></tr>";
//Sprache ausgeben
echo "<tr><td><b>".$p->t('courseInformation/unterrichtssprache')."</b></td><td>$lv_obj->sprache";
echo "</td></tr>";
//Anz. Incoming ausgeben
if ($lv_obj->incoming > -1)
{
echo "<tr><td valign='top'><b>".$p->t('courseInformation/incomingplaetze')."</b></td><td valign='top'>$lv_obj->incoming";
}
else echo "<tr><td valign='top'><b>".$p->t('courseInformation/incomingplaetze')."</b></td><td>0";
echo "</td></tr><tr><td colspan='4'><font style='font-size:smaller'>".$p->t('courseInformation/beiFehlernInDenFixfeldern',array($stg_obj1->email))."</font></td></tr>";
echo "<tr><td align='left' colspan='4'><br/><br/><font style='color:black'>".$p->t('courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt',array($stg_obj1->email))."</font>.</td></tr>";
echo "</td></tr><tr><td colspan='2'><font style='font-size:smaller'>".$p->t('courseInformation/beiFehlernInDenFixfeldern',array($stg_obj1->email))."</font></td></tr>";
echo "<tr><td align='left' colspan='2'><br/><br/><font style='color:black'>".$p->t('courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt',array($stg_obj1->email))."</font>.</td></tr>";
//echo "<tr><td align='left' colspan='4'><font style='color:black'>".$p->t('courseInformation/fallsSieAufzaehlungslistenVerwenden',array($stg_obj1->email))."</font></td></tr>"; --> Es sollten keine HTML-Tags gespeichert werden koennen. Hier muss eine andere Loesung gefunde werden.
echo "</table><br><br>";
//Eingabefelder anzeigen
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
//Eingabefelder anzeigen
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
echo '<tr>
<td colspan="2"><b><u>DEUTSCH</u></b></td>
<td rowspan="12" width="20">&nbsp;</td>
<td colspan="2"><b><u>ENGLISH</u></b></td>
</tr>
';
echo '<tr>
<td colspan="2" align="center"><h2>DEUTSCH</h2></td>
<td rowspan="14" width="20">&nbsp;</td>
<td colspan="2" align="center"><h2>ENGLISH</h2></td>
</tr>';
echo '<tr>
<td colspan="2" align="center">'.($lv_de->genehmigt==false?'<span style="color:red">'.$p->t('courseInformation/nochNichtFreigegeben').'</span>':$p->t('courseInformation/freigegeben')).'</td>
<td colspan="2" align="center">'.($lv_en->genehmigt==false?'<span style="color:red">'.$p->t('courseInformation/nochNichtFreigegeben').'</span>':$p->t('courseInformation/freigegeben')).'</td>
</tr>';
echo '<tr>
<td colspan="5">&nbsp;</td>
</tr>';
echo '
<tr class="liste0">
<td><i>'.$p->t('lvinfo/kurzbeschreibung').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="kurzbeschreibung_de">'. (isset($kurzbeschreibung_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$kurzbeschreibung_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/kurzbeschreibungEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="kurzbeschreibung_en">'. (isset($kurzbeschreibung_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$kurzbeschreibung_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/methodik').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="methodik_de">'. (isset($methodik_de)?stripslashes(mb_eregi_replace("<br>","\r\n", $methodik_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/methodikEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="methodik_en">'. (isset($methodik_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$methodik_en)):'').'</textarea></td>
</tr>';
echo '<tr class="liste0">
<td><i>'.$p->t('lvinfo/lernergebnisse').' <font style="color:black">(Pflichtfeld)</font></i></td>
<td align="right"><textarea rows="5" cols="40" name="lehrziele_de">'. (isset($lehrziele_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrziele_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/lernergebnisseEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="lehrziele_en">'. (isset($lehrziele_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrziele_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/lehrinhalte').' <font style="color:black">(Pflichtfeld)</font></i></td>
<td align="right"><textarea rows="5" cols="40" name="lehrinhalte_de">'. (isset($lehrinhalte_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrinhalte_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/lehrinhalteEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="lehrinhalte_en">'. (isset($lehrinhalte_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrinhalte_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/vorkenntnisse').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="40" name="voraussetzungen_de">'. (isset($voraussetzungen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$voraussetzungen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/vorkenntnisseEN').' <font style="color:black">(Required)</font></i></td>
<td align="right"><textarea rows="5" cols="40" name="voraussetzungen_en">'. (isset($voraussetzungen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$voraussetzungen_en)):'').'</textarea></td>
</tr>';
echo '<tr class="liste1">
<td><i>'.$p->t('lvinfo/literatur').'</i> </td>
<td align="right"><textarea rows="5" cols="40" name="unterlagen_de">'. (isset($unterlagen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$unterlagen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/literaturEN').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="unterlagen_en">'. (isset($unterlagen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$unterlagen_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/leistungsbeurteilung').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="pruefungsordnung_de">'. (isset($pruefungsordnung_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$pruefungsordnung_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/leistungsbeurteilungEN').'</i> </td>
<td align="right"><textarea rows="5" cols="40" name="pruefungsordnung_en">'. (isset($pruefungsordnung_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$pruefungsordnung_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/anwesenheit').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="anwesenheit_de">'. (isset($anwesenheit_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$anwesenheit_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/anwesenheitEN').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="anwesenheit_en">'. (isset($anwesenheit_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$anwesenheit_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/anmerkungen').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="anmerkungen_de">'. (isset($anmerkungen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$anmerkungen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/anmerkungenEN').'</i></td>
<td align="right"><textarea rows="5" cols="40" name="anmerkungen_en">'. (isset($anmerkungen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$anmerkungen_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td align=center colspan=2><br><input type="checkbox" name="freig_de" '. (isset($freig_de) && ($freig_de==true || $freig_de=='1')?'checked':'').'/><i>'.$p->t('courseInformation/freigeben').'</i><br><br></td>
<td align=center colspan=2><input type="checkbox" name="freig_en" '. (isset($freig_en) && ($freig_en==true || $freig_en=='1')?'checked':'').'/><i>'.$p->t('courseInformation/freigeben').'</i> </td>
<td ></td>
</tr>';
echo "</table><br>";
echo "<div align='right'>";
echo "<input type='button' value='".$p->t('global/speichern')."' onClick='save();'>";
echo "<input type='button' value='".$p->t('courseInformation/voransicht')."' onClick='javascript:window.document.editFrm.action=\"preview.php\";window.document.editFrm.target=\"_blank\";window.document.editFrm.submit();'>";
echo "</div>";
if(isset($error) && $error!='')
echo $error;
}
echo '
<tr class="liste0">
<td><i>'.$p->t('lvinfo/kurzbeschreibung').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="kurzbeschreibung_de">'. (isset($kurzbeschreibung_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$kurzbeschreibung_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/kurzbeschreibungEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="kurzbeschreibung_en">'. (isset($kurzbeschreibung_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$kurzbeschreibung_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/methodik').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="methodik_de">'. (isset($methodik_de)?stripslashes(mb_eregi_replace("<br>","\r\n", $methodik_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/methodikEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="methodik_en">'. (isset($methodik_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$methodik_en)):'').'</textarea></td>
</tr>';
echo '<tr class="liste0">
<td><i>'.$p->t('lvinfo/lernergebnisse').' <font style="color:black">(Pflichtfeld)</font></i></td>
<td align="right"><textarea rows="5" cols="50" name="lehrziele_de">'. (isset($lehrziele_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrziele_de)):'Nach erfolgreichem Abschluss sind die Studierenden in der Lage, ').'</textarea></td>
<td><i>'.$p->t('lvinfo/lernergebnisseEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="lehrziele_en">'. (isset($lehrziele_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrziele_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/lehrinhalte').' <font style="color:black">(Pflichtfeld)</font></i></td>
<td align="right"><textarea rows="5" cols="50" name="lehrinhalte_de">'. (isset($lehrinhalte_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrinhalte_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/lehrinhalteEN').' <font style="color:black">(Required)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="lehrinhalte_en">'. (isset($lehrinhalte_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$lehrinhalte_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/vorkenntnisse').' <font style="color:black">(Pflichtfeld)</font></i> </td>
<td align="right"><textarea rows="5" cols="50" name="voraussetzungen_de">'. (isset($voraussetzungen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$voraussetzungen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/vorkenntnisseEN').' <font style="color:black">(Required)</font></i></td>
<td align="right"><textarea rows="5" cols="50" name="voraussetzungen_en">'. (isset($voraussetzungen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$voraussetzungen_en)):'').'</textarea></td>
</tr>';
echo '<tr class="liste1">
<td><i>'.$p->t('lvinfo/literatur').'</i> </td>
<td align="right"><textarea rows="5" cols="50" name="unterlagen_de">'. (isset($unterlagen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$unterlagen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/literaturEN').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="unterlagen_en">'. (isset($unterlagen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$unterlagen_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/leistungsbeurteilung').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="pruefungsordnung_de">'. (isset($pruefungsordnung_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$pruefungsordnung_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/leistungsbeurteilungEN').'</i> </td>
<td align="right"><textarea rows="5" cols="50" name="pruefungsordnung_en">'. (isset($pruefungsordnung_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$pruefungsordnung_en)):'').'</textarea></td>
</tr>
<tr class="liste1">
<td><i>'.$p->t('lvinfo/anwesenheit').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="anwesenheit_de">'. (isset($anwesenheit_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$anwesenheit_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/anwesenheitEN').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="anwesenheit_en">'. (isset($anwesenheit_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$anwesenheit_en)):'').'</textarea></td>
</tr>
<tr class="liste0">
<td><i>'.$p->t('lvinfo/anmerkungen').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="anmerkungen_de">'. (isset($anmerkungen_de)?stripslashes(mb_eregi_replace("<br>","\r\n",$anmerkungen_de)):'').'</textarea></td>
<td><i>'.$p->t('lvinfo/anmerkungenEN').'</i></td>
<td align="right"><textarea rows="5" cols="50" name="anmerkungen_en">'. (isset($anmerkungen_en)?stripslashes(mb_eregi_replace("<br>","\r\n",$anmerkungen_en)):'').'</textarea></td>
</tr>';
if ($rechte->isBerechtigt('lehre/lvinfo_freigabe',$stg))
echo ' <tr class="liste0">
<td align=center colspan=2><br><input type="checkbox" name="freig_de" '. (isset($freig_de) && ($freig_de==true || $freig_de=='1')?'checked':'').'/><i>'.$p->t('courseInformation/deutschFreigeben').'</i><br><br></td>
<td align=center colspan=2><input type="checkbox" name="freig_en" '. (isset($freig_en) && ($freig_en==true || $freig_en=='1')?'checked':'').'/><i>'.$p->t('courseInformation/englischFreigeben').'</i> </td>
<td ></td>
</tr>';
echo "</table><br>";
echo "<div align='left'>";
echo "<input type='button' value='".$p->t('global/speichern')."' onClick='save();'>";
echo "<input type='button' value='".$p->t('courseInformation/voransicht')."' onClick='javascript:window.document.editFrm.action=\"preview.php\";window.document.editFrm.target=\"_blank\";window.document.editFrm.submit();'>";
echo "<br><br>";
echo "<input type='button' value='".$p->t('courseInformation/zurFreigabeAbschicken')."' onClick='freigeben();'>";
echo "</div>";
echo "</form>";
echo "<br><br><br><br><br><br><br><br><br><br><br><br>";
if(isset($error) && $error!='')
echo $error;
}
?>
<td></tr></table>
</body>
+24 -1
View File
@@ -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 = '';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
@@ -645,7 +668,7 @@ function getLastStundeByDatum(Array $array, $filterDatum)
if ($anmerkungen_en)
{
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anmerkungeEN')."</h2></td></tr>";
echo "<tr><td align='left' valign='top'><h2>".$phrasen->t('lvinfo/anmerkungenEN')."</h2></td></tr>";
echo "<tr><td>".stripslashes($anmerkungen_en)."&nbsp;<br /></td></tr>";
}
}
+9 -5
View File
@@ -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 "</b></td><td align=\"left\" class='MarkLine'><b><font face=\"Arial,Helvetica,sans-serif\" color=\"#000000\" size=\"2\"><a href=\"$link_path\" target=\"_blank\">&nbsp;<img src=\"../../../skin/images/file.gif\" border=\"0\">&nbsp;".htmlentities($entry, ENT_QUOTES, 'UTF-8')."&nbsp;</a></font>";
$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 "</b></td><td align=\"middle\" class='MarkLine'><b><font face=\"Arial,Helvetica,sans-serif\" color=\"#000000\" size=\"2\"><input type=\"text\" name=\"new_file_name$file_count\" value=\"$entry\">&nbsp;<input type=\"submit\" name=\"confirm_rename\" value=\"OK\"></font>";
@@ -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_);
+43 -43
View File
@@ -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);
}
}
+1 -1
View File
@@ -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 "<br><a href='#BildUpload' onclick='window.open(\"../bildupload.php?person_id=$user->person_id\",\"BildUpload\", \"height=500,width=500,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes\"); return false;'>".$p->t('profil/bildHochladen')."</a>";
echo "<br><a href='#BildUpload' onclick='window.open(\"../bildupload.php?person_id=$user->person_id\",\"BildUpload\", \"height=800,width=800,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes\"); return false;'>".$p->t('profil/bildHochladen')."</a>";
}
if($user->foto_sperre)
echo '<br><b>'.$p->t('profil/profilfotoGesperrt').'</b>';
+8 -8
View File
@@ -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 '</table>';
echo '<br><br>'.$p->t('studienplan/legende').':<br>
<table>
<tr>
<!--<tr>
<td><span class="empfehlung">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td>
<td>'.$p->t('studienplan/legendeEmpfehlung').'</td>
</tr>
</tr>-->
<tr>
<td></td>
<td></td>
+2 -1
View File
@@ -94,6 +94,7 @@
foreach ($row['childs'] as $row_child)
{
$betrag += $row_child->betrag;
$betrag = round($betrag, 2);
}
}
@@ -126,7 +127,7 @@
{
echo '<a onclick="window.open(';
echo "'zahlungen_details.php?buchungsnr=".$row['parent']->buchungsnr."','Zahlungsdetails','height=500,width=550,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=no,toolbar=no,location=no,menubar=no,dependent=yes');return false;";
echo '" href="#">'.$p->t('tools/offen').'</a>';
echo '" href="#">'.$p->t('tools/offen').'</a> ('.sprintf('%.2f',$betrag*-1).' €)';
}
echo '</td>';
}
+1 -1
View File
@@ -142,7 +142,7 @@ function searchPerson($searchItems)
foreach($bn->result as $row)
{
$bisverwendung = new bisverwendung();
$bisverwendung->getLastVerwendung($row->uid);
$bisverwendung->getLastAktVerwendung($row->uid);
echo '<tr>';
//echo '<td>',$row->titelpre,'</td>';
+47 -12
View File
@@ -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);
}
?>
?>
+111 -40
View File
@@ -101,12 +101,34 @@ $firma->getFirmen('Partneruniversität');
?>
<html>
<head>
<title>Incoming-Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
<title>Incoming-Verwaltung</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[1,0],[3,0],[4,0]],
widgets: ["zebra"]
});
$("#t2").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
$("#t3").tablesorter(
{
sortList: [[1,0],[3,0],[4,0],[5,0]],
widgets: ["zebra"]
});
});
</script>
</head>
<body>
<table width="100%" border="0">
@@ -328,15 +350,15 @@ else if($method=="lehrveranstaltungen")
echo '
<table width="90%" border="0" align="center" class="table-autosort:1 table-stripeclass:alternate table-autostripe">
<table class="tablesorter" id="t1">
<thead>
<tr class="liste">
<th></th>
<th class="table-sortable:default">'.$p->t('global/studiengang').'</th>
<th class="table-sortable:default">'.$p->t('abgabetool/typ').'</th>
<th class="table-sortable:numeric">'.$p->t('global/semester').'</th>
<th class="table-sortable:default">'.$p->t('global/lehrveranstaltung').'</th>
<th class="table-sortable:default">'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>'.$p->t('global/studiengang').'</th>
<th>'.$p->t('abgabetool/typ').'</th>
<th>'.$p->t('global/semester').'</th>
<th>'.$p->t('global/lehrveranstaltung').'</th>
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>Info</th>
</tr>
</thead>
@@ -382,7 +404,7 @@ else if($method=="lehrveranstaltungen")
</table> <br><br>';
//Uebersicht Deutschkurse
echo '<table width="90%" border="0" align="center" class="table-stripeclass:alternate table-autostripe">
echo '<table width="90%" border="0" align="center" class="tablesorter" id="t2">
<thead align="center">
<tr class="liste">
<th colspan="2">'.$p->t('incoming/deutschkurse').'</th>
@@ -420,7 +442,7 @@ else if($method=="lehrveranstaltungen")
echo '</tbody></table><br><br>';
echo '
/*echo '
<table width="90%" border="0" align="center" class="table-autosort:1 table-stripeclass:alternate table-autostripe">
<thead>
<tr class="liste">
@@ -456,11 +478,11 @@ else if($method=="lehrveranstaltungen")
</tbody>
</table>
<br><br>
';
';*/
echo '
<form name="filterSemester">
<table width="90%" border="0" align="center" table-stripeclass:alternate table-autostripe">
<table width="90%" border="0" align="center">
<tr>
<td>'.$p->t('incoming/studentenImWS').'</td>
</tr>
@@ -486,18 +508,56 @@ else if($method=="lehrveranstaltungen")
echo '<option value="SSemester" '.$SSemesterSelected.'>'.$p->t('incoming/sommersemester').'</option>';
echo'</td>
echo'</SELECT><br>';
echo $p->t('courseInformation/unterrichtssprache').':<SELECT name="filterUnterrichtssprache" onchange=selectChange()>
<option value="">'.$p->t('incoming/alleSprachen').'</option>';
// Vorauswahl der Übergebenen Filter
$GermanSelected = '';
$EnglishSelected = '';
if(isset($_GET['unterrichtssprache']))
if($_GET['unterrichtssprache'] == 'German')
$GermanSelected ='selected';
elseif($_GET['unterrichtssprache']=='English')
$EnglishSelected='selected';
echo '<option value="German" '.$GermanSelected.'>German</option>';
echo '<option value="English" '.$EnglishSelected.'>English</option>';
echo'</SELECT><br>';
echo $p->t('global/studiengang').':<SELECT name="filterStudiengang" onchange=selectChange()>
<option value="">Alle Studiengänge</option>';
// Vorauswahl der Übergebenen Filter
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz', true);
foreach ($studiengang->result as $row)
{
$selected = '';
if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz)
$selected='selected';
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.strtoupper($row->typ.$row->kurzbz).' - '.$row->bezeichnung.'</option>';
}
echo'</SELECT>';
echo '</td>
</tr>
</table>
<script language="JavaScript">
function selectChange()
{
filter =document.filterSemester.filterLv.options[document.filterSemester.filterLv.selectedIndex].value;
url = document.URL;
url = url+"&filter="+filter;
document.location=url;
filter = document.filterSemester.filterLv.options[document.filterSemester.filterLv.selectedIndex].value;
filterSprache = document.filterSemester.filterUnterrichtssprache.options[document.filterSemester.filterUnterrichtssprache.selectedIndex].value;
filterStudiengang = document.filterSemester.filterStudiengang.options[document.filterSemester.filterStudiengang.selectedIndex].value;
url = [location.protocol, "//", location.host, location.pathname].join("");
url = url+"?method=lehrveranstaltungen&filter="+filter+"&unterrichtssprache="+filterSprache+"&studiengang="+filterStudiengang;
document.location=url;
}
</script>
@@ -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 '<table width="90%" border="0" align="center" class="table-autosort:1 table-stripeclass:alternate table-autostripe">
echo '<table class="tablesorter" id="t3" width="90%" border="0" align="center">
<thead align="center">
<tr class="liste">
<tr>
<th width="6%"></th>
<th class="table-sortable:default">'.$p->t('global/studiengang').'</th>
<th class="table-sortable:default">'.$p->t('abgabetool/typ').'</th>
<th class="table-sortable:numeric">'.$p->t('global/semester').'</th>
<th class="table-sortable:default">'.$p->t('global/lehrveranstaltung').'</th>
<th class="table-sortable:default">'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th class="table-sortable:numeric">'.$p->t('incoming/ects').'</th>
<th>'.$p->t('global/studiengang').'</th>
<th>'.$p->t('abgabetool/typ').'</th>
<th>'.$p->t('incoming/orgform').'</th>
<th>'.$p->t('global/semester').'</th>
<th>'.$p->t('global/lehrveranstaltung').'</th>
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('courseInformation/unterrichtssprache').'</th>
<th>Info</th>
<th class="table-sortable:numeric">'.$p->t('incoming/freieplätze').'</th>
<th>'.$p->t('incoming/freieplätze').'</th>
</tr>
</thead>
<tbody>';
@@ -599,15 +668,17 @@ else if($method=="lehrveranstaltungen")
echo '<td>'.$p->t('global/angemeldet').'</td>';
echo '<td>',$studiengang_language,'</td>';
echo '<td>',$typ,'</td>';
echo '<td>',$row->orgform_kurzbz,'</td>';
echo '<td>',$row->semester,'</td>';
echo '<td>',$row->bezeichnung,'</td>';
echo '<td>',$row->bezeichnung_english,'</td>';
echo '<td>',$row->ects,'</td>';
echo '<td>',$row->sprache,'</td>';
echo '<td>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Deutsch&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Englisch</a>
</td>';
echo '<td>',$freieplaetze,'</td>';
echo '<td>',($freieplaetze<$row->incoming?'<strong>'.$freieplaetze.'/'.$row->incoming.'</strong>':$freieplaetze.'/'.$row->incoming),'</td>';
echo '</tr>';
}
}
+2 -2
View File
@@ -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 " <a href='#' target='_self'><td style='width:12px; text-align:center; padding:2px; box-shadow: 0px 0px 3px 3px #888888;".(count($antwort->result)!=0?"background-color:lightgreen;":"")."'>".($row->nummer<10?" ":"")."$row->nummer</td></a>";
echo " <a href='#' target='_self'><td style='width:12px; text-align:center; padding:2px; box-shadow: 0px 0px 3px 3px #888888;".(count($antwort->result)!=0?"background-color:lightblue;":"")."'>".($row->nummer<10?" ":"")."$row->nummer</td></a>";
else
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;frage_id=$row->frage_id'><td style='width:12px; text-align:center; padding:2px; box-shadow: 0px 0px 3px 0px #888888;".(count($antwort->result)!=0?"background-color:lightgreen;":"")."'>$row->nummer</td></a>";
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;frage_id=$row->frage_id'><td style='width:12px; text-align:center; padding:2px; box-shadow: 0px 0px 3px 0px #888888;".(count($antwort->result)!=0?"background-color:lightblue;":"")."'>$row->nummer</td></a>";
}
//echo " </tr></table>";
}
+102 -5
View File
@@ -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')
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../include/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<script type="text/javascript">
function conf_del()
{
return confirm('Möchten Sie diesen Eintrag wirklich löschen?');
}
tinyMCE.init
(
{
@@ -126,6 +130,7 @@ $parent_content_id = isset($_GET['parent_content_id'])?$_GET['parent_content_id'
$action = isset($_GET['action'])?$_GET['action']:'';
$method = isset($_GET['method'])?$_GET['method']:null;
$filter = isset($_GET['filter'])?$_GET['filter']:null;
$deleted = isset($_GET['deleted'])?$_GET['deleted']:'';
$message = '';
$submenu_depth=0;
$datum_obj = new datum();
@@ -657,6 +662,29 @@ if(!is_null($method))
$message.='<span class="error">Fehler: ID wurde nicht uebergeben</span>';
}
break;
case 'delete':
if(!$rechte->isBerechtigt('basis/cms', null, 'suid'))
{
$message.='<span class="error">Sie haben keine Berechtigung zum loeschen von Contents</span>';
break;
}
$content = new content();
if (isset($_GET['versionold']) || isset($_GET['spracheold']))
{
$versionold = $_GET['versionold'];
$spracheold = $_GET['spracheold'];
$content->deleteContent($_GET['deleted'], $spracheold, $versionold);
}
/*
* letzte default-language
* letzte version (!= 1)
*/
else
{
$content->deleteContent($_GET['deleted']);
}
break;
default: break;
}
}
@@ -796,10 +824,13 @@ if(!is_null($content_id) && $content_id!='')
case 'history':
print_history();
break;
case 'delete':
print_delete();
break;
default: break;
}
}
echo '</td></tr></table>';
echo '</body>
</html>';
@@ -880,7 +911,8 @@ function drawheader()
echo get_content_link('content','Inhalt').' | ';
echo get_content_link('rights','Rechte').' | ';
echo get_content_link('childs','Childs').' | ';
echo get_content_link('history','History');
echo get_content_link('history','History').' | ';
echo get_content_link('delete', 'Delete');
}
/**
* Gibt einen Menue Link aus
@@ -1335,4 +1367,69 @@ function print_history()
echo '</ul>';
}
}
/**
* Erstellt den Karteireiter zum Löschen des Contents / der Version
* Achtet auch darauf ob es die letzte version überhaupt bzw. die Letzte in der DEFAULT_LANGUAGE ist
*
*/
function print_delete()
{
global $content_id, $sprache, $version, $filterstr;
$content = new content();
if ($sprache == DEFAULT_LANGUAGE)
{
if ($content->getNumberOfVersions($content_id, $sprache) == 1)
{
echo'Diese Version kann nicht gelöscht werden, da sie die letzte Vorhandene in der Standardsprache ('.DEFAULT_LANGUAGE.') ist.<br>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?deleted='.$content_id.'&method=delete&filter='.implode(' ', $filterstr).'" method="POST">
Den gesamten Content <input type="submit" value="löschen" onclick="return conf_del()"></form>';
}
else
{
echo'<form action="'.$_SERVER['PHP_SELF'].'?deleted='.$content_id.'&action=delete&versionold='.$version.'&spracheold='.$sprache.'&method=delete&content_id='.$content_id.'&filter='.implode(' ', $filterstr).'" method="POST">
Diese Version ('.$sprache.' '.$version.'. Version) <input type="submit" value="löschen" onclick="return conf_del()"> <br /></form>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?deleted='.$content_id.'&method=delete&filter='.implode(' ', $filterstr).'" method="POST">
Den gesamten Content <input type="submit" value="löschen" onclick="return conf_del()"></form>';
}
}
else
{
echo'<form action="'.$_SERVER['PHP_SELF'].'?deleted='.$content_id.'&action=delete&versionold='.$version.'&spracheold='.$sprache.'&method=delete&content_id='.$content_id.'&filter='.implode(' ', $filterstr).'" method="POST">
Diese Version ('.$sprache.' '.$version.'. Version) <input type="submit" value="löschen" onclick="return conf_del()"> <br /></form>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?deleted='.$content_id.'&method=delete&filter='.implode(' ', $filterstr).'" method="POST">
Den gesamten Content <input type="submit" value="löschen" onclick="return conf_del()"></form>';
}
}
?>
+334 -56
View File
@@ -24,7 +24,9 @@ require_once('../config/cis.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/dms.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/basis_db.class.php');
$db = new basis_db();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
@@ -43,39 +45,59 @@ $rechte->getBerechtigungen($user);
<script type="text/javascript" src="../include/js/jquery.js"></script>
<script type="text/javascript" src="../include/js/superfish.js"></script>
<script type="text/javascript" src="../include/tiny_mce/tiny_mce_popup.js"></script>
<style type="text/css">
.buttondesign {
background-color: #87cefa;
border: 1px solid black;
border-radius: 5px;
}
</style>
<script type="text/javascript">
function conf_del()
function conf_del()
{
return confirm('Möchten Sie das File wirklich löschen?');
}
var FileBrowserDialog={
init: function(){
},
mySubmit : function (id) {
var URL = "dms.php?id="+id;
var win = tinyMCEPopup.getWindowArg("window");
// insert information now
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL;
var FileBrowserDialog=
{
init: function(){
},
mySubmit : function (id) {
var URL = "dms.php?id="+id;
var win = tinyMCEPopup.getWindowArg("window");
// are we an image browser
if (typeof(win.ImageDialog) != "undefined") {
// we are, so update image dimensions...
if (win.ImageDialog.getImageData)
win.ImageDialog.getImageData();
// insert information now
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL;
// ... and preview if necessary
if (win.ImageDialog.showPreviewImage)
win.ImageDialog.showPreviewImage(URL);
}
// are we an image browser
if (typeof(win.ImageDialog) != "undefined") {
// we are, so update image dimensions...
if (win.ImageDialog.getImageData)
win.ImageDialog.getImageData();
// close popup window
tinyMCEPopup.close();
}
// ... and preview if necessary
if (win.ImageDialog.showPreviewImage)
win.ImageDialog.showPreviewImage(URL);
}
// close popup window
tinyMCEPopup.close();
}
};
$('document').ready(function() {
$('.buttondesign').mouseenter(function() {
$(this).animate({
backgroundColor: "#bfefff"
}, 300);
});
$('.buttondesign').mouseleave(function() {
$(this).animate({
backgroundColor: "#87cefa"
}, 300);
});
});
//tinyMCEPopup.onInit.add(FileBrowserDialog.init, FileBrowserDialog);
$(document).ready(function()
@@ -93,6 +115,7 @@ $rechte->getBerechtigungen($user);
$('#dms_id').val(id);
$('#dms_id_import').val(id);
$('#ueberschrift').html('Neue Version von '+name);
}
else
{
@@ -103,6 +126,16 @@ $rechte->getBerechtigungen($user);
return false;
}
function updateBeschreibung(beschreibung)
{
var beschreibungstext = ""+beschreibung;
beschreibungstext = beschreibungstext.replace(/4nführungsze1ch3n/g, "'");
beschreibungstext = beschreibungstext.replace(/6Sl4sh/g, "\\");
beschreibungstext = beschreibungstext.replace(/D4n7ührung/g, "\"");
beschreibungstext = beschreibungstext.replace(/Ze1l3numxbr/g, "\r\n");
document.getElementById("beschreibung-textarea").value = beschreibungstext;
}
var __js_page_array = new Array();
function js_toggle_container(conid)
{
@@ -171,7 +204,11 @@ $projekt_kurzbz = isset($_REQUEST['projekt_kurzbz'])?$_REQUEST['projekt_kurzbz']
$projektphase_id = isset($_REQUEST['projektphase_id'])?$_REQUEST['projektphase_id']:'';
$openupload = isset($_GET['openupload'])?$_GET['openupload']:false;
$newVersionID = isset($_GET['newVersionID'])?$_GET['newVersionID']:false;
$suche = false;
$suche = false;
$chkatID = isset($_REQUEST['chkatID'])?$_REQUEST['chkatID']:'';
$page = isset($_REQUEST['page'])?$_REQUEST['page']:1;
$dpp = isset($_REQUEST['dpp'])?$_REQUEST['dpp']:20;
$searching = isset($_REQUEST['searching'])?$_REQUEST['searching']:'false';
$mimetypes = array(
'application/pdf'=>'pdf.ico',
@@ -332,8 +369,8 @@ if(isset($_POST['action']) && $_POST['action']=='rename')
if(isset($_REQUEST['delete']))
{
if(!$rechte->isberechtigt('basis/dms',null, 'sui', null))
die('Sie haben keine Berechtigung diese Seite zu sehen.');
if(!$rechte->isberechtigt('basis/dms',null, 'suid', null))
die($rechte->errormsg);
// lösche nur die Version
if(isset($_REQUEST['version']))
@@ -370,23 +407,52 @@ if($versionId != '')
elseif($renameId!='')
{
// Übersicht der Versionen
echo '<h1>Versionsübersicht</h1>';
echo '<h1>Datei umbennen</h1>';
echo '<span style="float:right";><a href="'.$_SERVER['PHP_SELF'].'">zurück</a></span>';
drawRenameForm($renameId, $version);
drawRenameForm($renameId, $version, $page, $dpp, $searching, $searchstring);
}
elseif($chkatID != '')
{
if(isset($_POST['action']) && ($_POST['action']=='chkat'))
{
// neue Kategorie speichern
$dms = new dms();
$dms->load($chkatID);
$dms->kategorie_kurzbz = $_POST['kategoriez'];
$dms->save();
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true') {
echo '<meta http-equiv="refresh" content="0; url='.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'" />';
}
else
{
echo '<meta http-equiv="refresh" content="0; url='.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$_REQUEST['kategorie_kurzbz'].'&page='.$page.'&dpp='.$dpp.'" />';
}
}
else
{
// Kategorieauswahl
$dms = new dms();
$dms->load($chkatID);
echo '<h1>Kategorie von '.$dms->name.' ändern</h1>';
echo '<span style="float:right";><a href="'.$_SERVER['PHP_SELF'].'">zurück</a></span>';
drawChangeKategorie($chkatID, $page, $dpp);
}
}
else
{
echo '<div align="left"><h1>Dokument Auswählen</h1></div><div align="right"><a href="admin_dms.php" target="_blank">Administration</a></div>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
echo '<div align="left"><h1>Dokument Auswählen</h1></div><div align="right"></div>
<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'" method="POST">
<input type="text" name="searchstring" value="'.$searchstring.'">
<input type="submit" value="Suchen">
<input type="submit" class="buttondesign" value="Suchen">
</form>';
// Suche anzeigen
echo' <table cellspacing=0>
<tr>
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
<h3>Kategorie:</h3>
<a href="admin_dms.php" target="_blank" style="position: absolute; margin-left:12px; margin-top:29px;">Administration</a>
<h3>Kategorie:</h3>
<hr><hr style="margin-top:20px;">
';
//Kategorien anzeigen
$dms = new dms();
@@ -431,18 +497,155 @@ else
//Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
$dms = new dms();
if($searchstring!='')
if($searchstring!='' || (isset($_GET['searching']) && $_GET['searching'] == true))
{
$dms->search($searchstring);
$suche = true;
$count = new dms();
$count->search($searchstring);
$anzahl = count($count->result);
$dms->search($searchstring, $dpp, $page);
$suche = true;
if ($page != 0)
{
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?page='; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp); } else { echo (int)(($anzahl/$dpp)+1); } echo '&dpp='.$dpp.'&searching=true&searchstring='.$searchstring.'">';
if (is_int($anzahl/$dpp))
{
echo (int)($anzahl/$dpp).'&nbsp;</a></span>';
}
else
{
echo (int)(($anzahl/$dpp)+1).'&nbsp;</a></span>';
}
}
else
{
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?page=1&dpp='.$dpp.'&searching=true&searchstring='.$searchstring.'">Seite 1</a></span>';
}
drawFilesList($dms->result);
echo '
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page-100 < 1){echo '1';}else{echo ($page-100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100zurück" value="100 zurück" style="margin-left:5px;"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page-10 < 1){echo '1';}else{echo ($page-10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10zurück" value="10 zurück" style="margin-left:2px;"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page-1 < 1){echo '1';}else{echo ($page-1);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="zurück" value="zurück" style="margin-left:2px;"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page=0&searching=true" method="POST" style="float:left"><input type=submit class="buttondesign" name="showAll" value="Alle anzeigen" style="margin-left:2px"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page+1 < 1){echo '1';}else{echo ($page+1);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="weiter" value="weiter" style="margin-left:2px"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page+10 < 1){echo '1';}else{echo ($page+10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10weiter" value="10 weiter" style="margin-left:2px"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page+100 < 1){echo '1';}else{echo ($page+100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100weiter" value="100 weiter" style="margin-left:2px"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>
<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'&page='.$page.' method="POST" style="float:right">
<input type="hidden" name="page" id="page" value="'; if ($page == 0 || $page == '') { echo '1'; } else { echo $page; } echo '">
<input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" />
<input type="hidden" name="searching" id="searchstring" value="'.$searching.'" />
<select name="dpp" onchange="this.form.submit();" style="margin-left:20px;">';
if (isset($_GET['dpp']))
{
for ($i = 10; $i <= 100; $i = $i+10)
{
if ($_GET['dpp'] == $i)
{
echo '<option selected>'.$i.'</option>';
}
else
{
echo '<option>'.$i.'</option>';
}
}
switch ($_GET['dpp'])
{
case 150: echo'<option selected>150</option><option>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
case 200: echo'<option>150</option><option selected>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
case 500: echo'<option>150</option><option>200</option><option selected>500</option><option>1000</option><option>2000</option>'; break;
case 1000: echo'<option>150</option><option>200</option><option>500</option><option selected>1000</option><option>2000</option>'; break;
case 2000: echo'<option>150</option><option>200</option><option>500</option><option>1000</option><option selected>2000</option>'; break;
default: echo'<option>150</option><option>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
}
}
else
{
echo ' <option>10</option><option selected>20</option><option>30</option>
<option>40</option><option>50</option><option>60</option>
<option>70</option><option>80</option><option>90</option>
<option>100</option><option>150</option><option>200</option>
<option>500</option><option>1000</option><option>2000</option>';
}
echo'
</select> Elemente pro Seite&nbsp;
</form>';
}
else
{
$dms->getDocuments($kategorie_kurzbz);
$count = new dms();
$count->getDocuments($kategorie_kurzbz);
$anzahl = count($count->result);
$dms->getDocuments($kategorie_kurzbz, $dpp, $page);
if ($page != 0)
{
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp); } else { echo (int)(($anzahl/$dpp)+1); } echo '&dpp='.$dpp.'">';
if (is_int($anzahl/$dpp))
{
echo (int)($anzahl/$dpp).'&nbsp;</a></span>';
}
else
{
echo (int)(($anzahl/$dpp)+1).'&nbsp;</a></span>';
}
}
else
{
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=1&dpp='.$dpp.'">Seite 1</a></span>';
}
drawFilesList($dms->result);
echo '
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page-100 < 1){echo '1';}else{echo ($page-100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100zurück" value="100 zurück" style="margin-left:5px;"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page-10 < 1){echo '1';}else{echo ($page-10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10zurück" value="10 zurück" style="margin-left:2px;"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page-1 < 1){echo '1';}else{echo ($page-1);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="zurück" value="zurück" style="margin-left:2px;"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=0" method="POST" style="float:left"><input type=submit class="buttondesign" name="showAll" value="Alle anzeigen" style="margin-left:2px"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page+1 < 1){echo '1';}else{echo ($page+1);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="weiter" value="weiter" style="margin-left:2px"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page+10 < 1){echo '1';}else{echo ($page+10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10weiter" value="10 weiter" style="margin-left:2px"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page+100 < 1){echo '1';}else{echo ($page+100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100weiter" value="100 weiter" style="margin-left:2px"/></form>
<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='.$page.' method="POST" style="float:right">
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'" /><input type="hidden" name="page" id="page" value="'; if ($page == 0 || $page == '') { echo '1'; } else { echo $page; } echo '">
<select name="dpp" onchange="this.form.submit();" style="margin-left:20px;">';
if (isset($_GET['dpp']))
{
for ($i = 10; $i <= 100; $i = $i+10)
{
if ($_GET['dpp'] == $i)
{
echo '<option selected>'.$i.'</option>';
}
else
{
echo '<option>'.$i.'</option>';
}
}
switch ($_GET['dpp'])
{
case 150: echo'<option selected>150</option><option>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
case 200: echo'<option>150</option><option selected>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
case 500: echo'<option>150</option><option>200</option><option selected>500</option><option>1000</option><option>2000</option>'; break;
case 1000: echo'<option>150</option><option>200</option><option>500</option><option selected>1000</option><option>2000</option>'; break;
case 2000: echo'<option>150</option><option>200</option><option>500</option><option>1000</option><option selected>2000</option>'; break;
default: echo'<option>150</option><option>200</option><option>500</option><option>1000</option><option>2000</option>'; break;
}
}
else
{
echo ' <option>10</option><option selected>20</option><option>30</option>
<option>40</option><option>50</option><option>60</option>
<option>70</option><option>80</option><option>90</option>
<option>100</option><option>150</option><option>200</option>
<option>500</option><option>1000</option><option>2000</option>';
}
echo'
</select> Elemente pro Seite&nbsp;
</form>';
}
//drawFilesThumb($dms->result);
drawFilesList($dms->result);
echo '
</td>
@@ -450,17 +653,27 @@ else
</table>
<br>
<a href="#Upload" onclick="return upload()">Neue Datei hochladen</a>
<br><br>
<br>
<br><br>
<div id="divupload">
<hr>
<span id="ueberschrift"></span>
<form action="'.$_SERVER['PHP_SELF'].'" method="POST" enctype="multipart/form-data">
<span id="ueberschrift"></span>';
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
echo '
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
<input type="hidden" name="dms_id" id="dms_id" value="">
<table>
<tr>
<td>Beschreibung</td>
<td><textarea name="beschreibung" rows="2" cols="80" style="font-size: small;"></textarea></td>
<td><textarea name="beschreibung" id="beschreibung-textarea" rows="2" cols="80" style="font-size: small;"></textarea></td>
</tr>
<tr>
<td></td>
@@ -469,11 +682,11 @@ else
</table>
<input type="hidden" name="projekt_kurzbz" value="'.$projekt_kurzbz.'">
<input type="hidden" name="projektphase_id" value="'.$projektphase_id.'">
<input type="submit" name="fileupload" value="Upload">
<input type="submit" class="buttondesign" name="fileupload" value="Upload">
</form>
<br>';
drawFilesFromImport();
echo'
echo'
</div>';
if($openupload)
{
@@ -496,7 +709,6 @@ else
}
}
/************ FUNCTIONS ********************/
@@ -516,7 +728,7 @@ function drawAllVersions($id)
$("#t3").tablesorter(
{
sortList: [[0,0]], headers: {6:{sorter:false}},
widgets: ["zebra"]
widgets: ["zebra"],
});
});
</script>
@@ -632,7 +844,7 @@ function drawKategorieMenue($rows)
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap">
<a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="MenuItem" onClick="js_toggle_container(\''.$row->kategorie_kurzbz.'\');"><img src="../skin/images/menu_item.gif" alt="menu item" width="7" height="9">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.'</span></a>
<a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="MenuItem" onClick="js_toggle_container(\''.$row->kategorie_kurzbz.'\');">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.'</span></a>
'.$locked.'
<table class="tabcontent" id="'.$row->kategorie_kurzbz.'" style="display: none;">';
drawKategorieMenue($dms->result);
@@ -645,7 +857,7 @@ function drawKategorieMenue($rows)
echo '
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a id="'.$row->kategorie_kurzbz.'" href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="Item"><img src="../skin/images/menu_item.gif" alt="menu item" width="7" height="9">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.'</span></a>'.$locked.'</td>
<td class="tdwrap"><a id="'.$row->kategorie_kurzbz.'" href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="Item">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.'</span></a>'.$locked.'</td>
</tr>';
}
@@ -745,10 +957,29 @@ function drawFilesList($rows)
<ul>
<li><a href="id://'.$row->dms_id.'/Auswahl" onclick="'.$newerVersionAlert.' FileBrowserDialog.mySubmit('.$row->dms_id.');" style="font-size:small">Auswählen</a></li>
<li><a href="dms.php?id='.$row->dms_id.'&version='.$row->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>
<li><a href="id://'.$row->dms_id.'/Upload" onclick="return upload(\''.$row->dms_id.'\',\''.$row->name.'\')" style="font-size:small">Neue Version hochladen</a></li>
<li><a href="'.$_SERVER['PHP_SELF'].'?versionid='.$row->dms_id.'" style="font-size:small" >Alle Versionen anzeigen</a></li>
<li><a href="'.$_SERVER['PHP_SELF'].'?renameid='.$row->dms_id.'&version='.$row->version.'&kategorie_kurzbz='.$row->kategorie_kurzbz.'" style="font-size:small" >Datei umbenennen</a></li>
<li><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'&dms_id='.$row->dms_id.'&delete" onclick="return conf_del()" style="font-size:small" >Löschen</a></li>
<li><a href="id://'.$row->dms_id.'/Upload" onclick=" updateBeschreibung(\'';
$beschreibungstext = $row->beschreibung;
$beschreibungstext = str_replace("'","4nführungsze1ch3n",$beschreibungstext);
$beschreibungstext = str_replace('"',"D4n7ührung",$beschreibungstext);
$beschreibungstext = str_replace("\\","6Sl4sh",$beschreibungstext);
$beschreibungstext = str_replace("\r\n","Ze1l3numxbr",$beschreibungstext);
echo $beschreibungstext.'\'); return upload(\''.$row->dms_id.'\',\''.$row->name.'\');" style="font-size:small">Neue Version hochladen</a></li>
<li><a href="'.$_SERVER['PHP_SELF'].'?versionid='.$row->dms_id.'" style="font-size:small" >Alle Versionen anzeigen</a></li>';
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
{
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?chkatID='.$row->dms_id.'&page='; if (isset($_REQUEST['page'])) { echo $_REQUEST['page']; } else { echo '1'; } echo '&dpp='; if (isset($_REQUEST['dpp'])) { echo $_REQUEST['dpp']; } else { echo '20'; } echo '&searching=true&searchstring='.$_REQUEST['searchstring'].'" style="font-size:small" >Kategorie ändern</a></li>';
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?renameid='.$row->dms_id.'&version='.$row->version.'&searching=true&'; if (isset($_REQUEST['searchstring'])) echo 'searchstring='.$_REQUEST['searchstring'].'&page='; if (isset($_REQUEST['page'])) { echo $_REQUEST['page']; } else { echo '1'; } echo '&dpp='; if (isset($_REQUEST['dpp'])) { echo $_REQUEST['dpp']; } else { echo '20'; } echo '" style="font-size:small" >Datei umbenennen</a></li>';
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?searching=true&'; if (isset($_REQUEST['searchstring'])) echo 'searchstring='.$_REQUEST['searchstring'].'&dms_id='.$row->dms_id.'&delete" onclick="return conf_del()" style="font-size:small" >Löschen</a></li>';
}
else
{
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?chkatID='.$row->dms_id.'&page='; if (isset($_REQUEST['page'])) { echo $_REQUEST['page']; } else { echo '1'; } echo '&dpp='; if (isset($_REQUEST['dpp'])) { echo $_REQUEST['dpp']; } else { echo '20'; } echo '" style="font-size:small" >Kategorie ändern</a></li>';
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?renameid='.$row->dms_id.'&version='.$row->version.'&kategorie_kurzbz='.$row->kategorie_kurzbz.'&page='; if (isset($_REQUEST['page'])) { echo $_REQUEST['page']; } else { echo '1'; } echo '&dpp='; if (isset($_REQUEST['dpp'])) { echo $_REQUEST['dpp']; } else { echo '20'; } echo '" style="font-size:small" >Datei umbenennen</a></li>';
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'&dms_id='.$row->dms_id.'&delete" onclick="return conf_del()" style="font-size:small" >Löschen</a></li>';
}
echo '
</ul>
</li>
</ul>';
@@ -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 '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'" method="POST">
if ($searching == 'true')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
echo '
<table>
<tr>
<td>Dateiname:</td>
@@ -788,8 +1027,8 @@ function drawRenameForm($dms_id, $version)
</table>
<input type="hidden" name="action" value="rename">
<input type="hidden" name="dms_id" value="'.$dms_id.'">
<input type="hidden" name="version" value="'.$version.'">
<input type="submit" name="submit" value="Umbenennen">
<input type="hidden" name="version" value="'.$version.'">';
echo '<input type="submit" class="buttondesign" name="submit" value="Umbenennen">
</form>';
}
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 '<form action="'.$_SERVER['PHP_SELF'].'?chkatID='.$dms_id.'&searching=true&searchstring='.$_REQUEST['searchstring']; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?chkatID='.$dms_id.'&kategorie_kurzbz='.$dms->kategorie_kurzbz; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
echo '
<select name="kategoriez">
<option value="auswahl">-- Bitte Auswählen --</option>';
foreach($allKategorien->result as $kategorienResult)
{
$selected ='';
if($kategorienResult->kategorie_kurzbz == $dms->kategorie_kurzbz)
$selected='selected';
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
}
echo '</select>
<input type="hidden" name="action" value="chkat">
<input type="hidden" name="dms_id" value="'.$dms_id.'">';
if (!is_null($page)) echo '<input type="hidden" name="page" value="'.$page.'">';
if (!is_null($dpp)) echo '<input type="hidden" name="dpp" value="'.$dpp.'">';
echo '<input type="submit" class="buttondesign" name="chkat_save" value="Speichern"></form>';
}
?>
</body>
</html>
+19 -4
View File
@@ -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', '');
+42 -9
View File
@@ -24,6 +24,8 @@
// Aufruf mit <img src='bild.php?src=frage&frage_id=1
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/dms.class.php');
$db = new basis_db();
//base64 Dump aus der DB holen
$cTmpHEX='/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQABAwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAI/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCywAf/2Q==';
@@ -32,22 +34,53 @@ if(isset($_GET['src']) && $_GET['src']=='person' && isset($_GET['person_id']))
$qry = "SELECT foto FROM public.tbl_person WHERE person_id=".$db->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));
?>
exit($cTmpHEX);
?>
+25 -4
View File
@@ -125,7 +125,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<splitter class="tree-splitter"/>
<treecol id="fachbereich-treecol-uid" label="UID" flex="1" hidden="true"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -155,7 +155,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<splitter class="tree-splitter"/>
<treecol id="organisationseinheit-treecol-oe_kurzbz" label="oe_kurzbz" hidden="true" flex="1"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -303,6 +303,27 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
</treeitem>
</treechildren>
</treeitem>
<?php
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
{
echo '
<treeitem container="true" open="true">
<treerow>
<treecell label="Vertrag"/>
<treecell label="Vertrag"/>
</treerow>
<treechildren>
<treeitem>
<treerow>
<treecell label="noch nicht retourniert"/>
<treecell label="VertragNochNichtRetour"/>
</treerow>
</treeitem>
</treechildren>
</treeitem>
';
}
?>
</treechildren>
</tree>
@@ -311,7 +332,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<menupopup id="fasoverlay-lektor-tree-popup">
<menuitem label="Mail senden" oncommand="LektorFunktionMail();" />
<menuseparator />
<menuitem label="Entfernen" oncommand="LektorFunktionDel();" />
<menuitem label="Entfernen" oncommand="LektorFunktionDel();" />
</menupopup>
</popupset>
<tabbox id="tabbox-main" flex="3" orient="vertical">
@@ -344,7 +365,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
{
echo '<vbox id="MitarbeiterEditor" />';
}
?>
<vbox id="box-notiz">
<box class="Notiz" flex="1" id="box-notizen"/>
+56 -24
View File
@@ -140,7 +140,7 @@ function SetStatusBarText(text)
function CheckDatum(datum)
{
var pattern = /^(0[1-9]|[1-9]|[12][0-9]|3[01])[.](0[1-9]|[1-9]|1[012])[.](19|20)\d\d$/
if(pattern.exec(datum))
return true;
else
@@ -156,13 +156,13 @@ function ConvertDateToISO(datum)
if(datum!='')
{
arr = datum.split('.');
if(arr[0].length==1)
arr[0]='0'+arr[0];
if(arr[1].length==1)
arr[1]='0'+arr[1];
return arr[2]+'-'+arr[1]+'-'+arr[0];
}
else
@@ -173,25 +173,25 @@ function ConvertDateToISO(datum)
// * Liefert die Daten aus der Zwischenablage
// ****
function getDataFromClipboard()
{
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clip)
return false;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return false;
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clip)
return false;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return false;
trans.addDataFlavor("text/unicode");
clip.getData(trans,clip.kGlobalClipboard);
var str = new Object();
var strLength = new Object();
clip.getData(trans,clip.kGlobalClipboard);
var str = new Object();
var strLength = new Object();
trans.getTransferData("text/unicode",str,strLength);
if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
if (str) pastetext = str.data.substring(0,strLength.value / 2);
return pastetext;
}
@@ -199,9 +199,9 @@ function getDataFromClipboard()
// * Oeffnet ein neues Fenster welches dann die Datei 'action' mit dem POST Parameter 'data' aufruft
// ****
function OpenWindowPost(action, data)
{
{
newwindow= window.open ("","FAS","width=350, height=350");
newwindow.document.getElementsByTagName('body')[0].innerHTML = "<form id='postform-form' name='postfrm' action='' method='POST'><input type='hidden' id='postform-textbox-data' name='data' /></form>";
newwindow.document.getElementsByTagName('body')[0].innerHTML = "<form id='postform-form' name='postfrm' action='' method='POST'><input type='hidden' id='postform-textbox-data' name='data' /></form>";
newwindow.document.getElementById('postform-textbox-data').value=data;
newwindow.document.getElementById('postform-form').action=action;
newwindow.document.postfrm.submit();
@@ -234,13 +234,13 @@ function MenulistSelectItemOnValue(id, data)
function MenulistGetSelectedValue(id)
{
menulist = document.getElementById(id);
//Es kann sein, dass im Eingabefeld nichts steht und
//trotzdem ein Eintrag auf selected gesetzt ist.
//In diesem Fall soll aber kein Wert zurueckgegeben werden
if(menulist.value=='')
return '';
//Wenn es Selektierte Eintraege gibt, dann den value zurueckliefern
var children = menulist.getElementsByAttribute('selected','true');
if(children.length>0)
@@ -290,14 +290,14 @@ function getvariable(variable)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'getvariable');
req.add('name', variable);
var response = req.executePOST();
var val = new ParseReturnValue(response)
@@ -316,3 +316,35 @@ function getvariable(variable)
}
}
/**
* Setzte eine Variable
*/
function setVariable(variable, wert)
{
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', wert);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
return true;
}
}
+164 -87
View File
@@ -73,25 +73,26 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$r
}
function kollision($lehreinheit_id, $mitarbeiter_uid, $mitarbeiter_uid_old)
function kollision($lehreinheit_id, $mitarbeiter_uid, $mitarbeiter_uid_old, $db_stpl_table)
{
global $db_stpl_table,$errormsg;
//Lehrstunden laden
$lehrstunden=new lehrstunde();
$lehrstunde=new lehrstunde();
$lehrstunden->load_lehrstunden_le($lehreinheit_id,$mitarbeiter_uid_old);
$koll_arr=array();
foreach ($lehrstunden->lehrstunden as $ls)
{
$lehrstunde->load($ls->stundenplan_id);
$lehrstunde->lektor_uid=$mitarbeiter_uid;
if ($lehrstunde->kollision($db_stpl_table))
{
$errormsg=$lehrstunde->errormsg;
return true;
$koll_arr[]=$lehrstunde->errormsg;
}
}
if(count($koll_arr)>0)
return $koll_arr;
return false;
}
@@ -104,9 +105,9 @@ function kollision($lehreinheit_id, $mitarbeiter_uid, $mitarbeiter_uid_old)
function LehrauftragAufFirma($mitarbeiter_uid)
{
global $db;
$qry_firma = "
SELECT * FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_adresse USING(person_id)
SELECT * FROM campus.vw_mitarbeiter LEFT JOIN public.tbl_adresse USING(person_id)
WHERE uid=".$db->db_add_param($mitarbeiter_uid)."
ORDER BY zustelladresse DESC, firma_id LIMIT 1";
if($result_firma = $db->db_query($qry_firma))
@@ -115,15 +116,15 @@ function LehrauftragAufFirma($mitarbeiter_uid)
{
if($row_firma->firma_id=='')
return false;
else
else
return true;
}
else
else
{
return false;
}
}
else
else
{
return false;
}
@@ -139,14 +140,14 @@ function LehrauftragAufFirma($mitarbeiter_uid)
function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz, $oe_arr)
{
global $db;
$ret="Der Lektor ist in folgenden Organisationseinheiten zugeteilt:\n";
//Liste mit den Stunden in den jeweiligen Instituten anzeigen
$qry = "SELECT sum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe, tbl_studiengang.bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
@@ -157,7 +158,7 @@ function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz, $oe_ar
bismelden AND
tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")
GROUP BY tbl_studiengang.bezeichnung";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -172,7 +173,7 @@ if(!$error)
{
if(!empty($_POST['lehrveranstaltung']))
$lva = new lehrveranstaltung($_POST['lehrveranstaltung']);
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
{
//Lehreinheitmitarbeiter Zuteilung
@@ -229,6 +230,8 @@ if(!$error)
$faktor_alt = $lem->faktor;
$stundensatz_alt = $lem->stundensatz;
$qry_lvplanaenderung='';
if(!$error)
{
$lem->lehreinheit_id = $_POST['lehreinheit_id'];
@@ -248,33 +251,31 @@ if(!$error)
//Wenn sich der Lektor aendert und keine Kollision dadurch entsteht, dann werden die
//Daten automatisch im Stundenplan geaendert
if($ignore_kollision=='false' && $lem->mitarbeiter_uid!=$lem->mitarbeiter_uid_old)
if($lem->mitarbeiter_uid!=$lem->mitarbeiter_uid_old)
{
$koll_arr = kollision($lem->lehreinheit_id, $lem->mitarbeiter_uid, $lem->mitarbeiter_uid_old, $db_stpl_table);
//check kollision
if(!kollision($lem->lehreinheit_id, $lem->mitarbeiter_uid, $lem->mitarbeiter_uid_old))
if($koll_arr===false || $ignore_kollision=='true')
{
//Update im Stundenplan
$stpl_table='lehre.tbl_stundenplandev';
$qry = "UPDATE $stpl_table SET mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid)." WHERE lehreinheit_id=".$db->db_add_param($lem->lehreinheit_id, FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid_old);
if($db->db_query($qry))
$qry_lvplanaenderung = "UPDATE $stpl_table SET mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid).", updateamum=now(), updatevon=".$db->db_add_param($user)." WHERE lehreinheit_id=".$db->db_add_param($lem->lehreinheit_id, FHC_INTEGER)." AND mitarbeiter_uid=".$db->db_add_param($lem->mitarbeiter_uid_old);
// Das Update wird erst weiter unten durchgefuehrt wenn die restlichen Checks erfolgreich sind da es sonst zu inkonsistenzen kommt
if(is_array($koll_arr))
{
$error = false;
}
else
{
$error = true;
$return = false;
$errormsg = 'Fehler beim Update im LV-Plan'.$qry;
$errormsg="Da Kollisionen deaktiviert sind, wird die Änderung durchgeführt obwohl dadurch kollisionen entstehen. Bitte korrigieren Sie folgende Kollisionen manuell:\n";
$errormsg.=implode("\n",$koll_arr);
}
}
else
{
$return = false;
$errormsg = "Fehler: Die Aenderung des Lektors fuehrt zu einer Kollision im LV-Plan!\n".$errormsg;
$errormsg = "Änderung fehlgeschlagen!\nDie Änderung des Lektors führt zu ".count($koll_arr)." Kollision(en) im LV-Plan. Deaktivieren Sie die Kollisionspruefung oder wenden Sie sich an die LV-Planung!\n";
$errormsg.= "zB:".$koll_arr[0];
$error = true;
}
}
$fixangestellt=false;
if(!$error)
{
@@ -284,7 +285,7 @@ if(!$error)
$ma->load($lem->mitarbeiter_uid);
$fixangestellt=$ma->fixangestellt;
$oe_obj = new organisationseinheit();
$oe_obj = new organisationseinheit();
$stunden_oe_kurzbz=null;
$stg_obj = new studiengang();
@@ -295,21 +296,21 @@ if(!$error)
list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, true);
else
list($stunden_oe_kurzbz, $max_stunden) = $oe_obj->getStundengrenze($stg_obj->oe_kurzbz, false);
//Summe der Stunden ermitteln
$le = new lehreinheit();
$le->load($lem->lehreinheit_id);
if($lem->stundensatz<=0 || $lem->faktor<=0 || $lem->bismelden==false)
$neue_stunden_eingerechnet=false;
else
$neue_stunden_eingerechnet=true;
if(($stundensatz_alt<=0 || $faktor_alt<=0 || $bismelden_alt==false))
$alte_stunden_eingerechnet=false;
else
$alte_stunden_eingerechnet=true;
//Stundenreduzierung immer moeglich
if(($lem->semesterstunden>$semesterstunden_alt) || $neue_stunden_eingerechnet)
{
@@ -325,7 +326,7 @@ if(!$error)
elseif(!$alte_stunden_eingerechnet && !$neue_stunden_eingerechnet)
$qry.=" (sum(tbl_lehreinheitmitarbeiter.semesterstunden)) as summe";
$qry.=" FROM
lehre.tbl_lehreinheitmitarbeiter
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -338,7 +339,7 @@ if(!$error)
if(count($oe_arr)>0)
$qry.=" AND tbl_studiengang.oe_kurzbz in(".$db->db_implode4SQL($oe_arr).")";
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
@@ -352,17 +353,17 @@ if(!$error)
//Warnung wenn die Stundenzahl ueberschritten wurde
$return = false;
$error = true;
$errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
$errormsg = "ACHTUNG: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden NICHT gespeichert!\n\n";
}
}
else
else
{
$return = true;
$error = false;
$warnung = true;
$errormsg = "Hinweis: Die maximal erlaubte Semesterstundenanzahl des Lektors von $max_stunden Stunden ($stunden_oe_kurzbz) wurde ueberschritten!\n Daten wurden gespeichert!\n\n";
}
}
$errormsg.=getStundenproInstitut($lem->mitarbeiter_uid, $le->studiensemester_kurzbz, $oe_arr);
}
}
@@ -372,17 +373,17 @@ if(!$error)
$error=true;
$errormsg='Fehler beim Ermitteln der Gesamtstunden';
}
}
else
{
$return = false;
$error=true;
$errormsg='Fehler beim Ermitteln der Gesamtstunden';
}
}
}
}
if(!$error)
{
if($lem->save())
@@ -392,13 +393,39 @@ if(!$error)
if($warnung)
{
$return=false;
$error = true;
$error = true;
}
else
else
{
$return = true;
$error = false;
}
// Wenn eine LVPlan aenderung noetig ist, dann diese jetzt
// durchfuehrten
if($qry_lvplanaenderung!='')
{
if($db->db_query($qry_lvplanaenderung))
{
if($errormsg=='' || $errormsg=='unknown')
{
$error = false;
$return = true;
}
else
{
// Bei Kollisionen steht in errormsg die Kollisionsinformation
$error = true;
$return = false;
}
}
else
{
$error = true;
$return = false;
$errormsg = 'Fehler beim Update im LV-Plan'.$qry;
}
}
}
else
{
@@ -423,7 +450,7 @@ if(!$error)
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
@@ -493,10 +520,10 @@ if(!$error)
$return=false;
$errormsg='Fehler bei einer Datenbankabfrage:'.$db->db_last_error();
}
$maxstunden=9999;
$oe_obj = new organisationseinheit();
$oe_obj = new organisationseinheit();
$stunden_oe_kurzbz=null;
$stg_obj = new studiengang();
@@ -517,11 +544,11 @@ if(!$error)
$oe_obj = new organisationseinheit();
$oe_arr = $oe_obj->getChilds($stunden_oe_kurzbz);
$qry = "SELECT
sum(tbl_lehreinheitmitarbeiter.semesterstunden) as summe
FROM
lehre.tbl_lehreinheitmitarbeiter
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -555,7 +582,7 @@ if(!$error)
}
}
}
if(!$error)
{
//Faktor und Semesterstunden aus tbl_lehrveranstaltung holen
@@ -568,7 +595,7 @@ if(!$error)
$lem->faktor = $row->planfaktor;
else
$lem->faktor = '1.0';
if($row->semesterstunden!='')
{
//wenn es sich um einen freien Lektor handelt, und dieser nicht mehr die volle Stundenanzahl unterrichten
@@ -576,7 +603,7 @@ if(!$error)
$lem->semesterstunden = ($row->semesterstunden>$maxstunden?$maxstunden:$row->semesterstunden);
$lem->planstunden = ($row->semesterstunden>$maxstunden?$maxstunden:$row->semesterstunden);
}
else
else
{
$lem->planstunden = '0';
$lem->semesterstunden = '0';
@@ -595,7 +622,7 @@ if(!$error)
$return = false;
$errormsg = 'Fehler in einer Datenbankabfrage:'.$db->db_last_error();
}
if(!$error)
{
if($lem->save())
@@ -631,7 +658,7 @@ if(!$error)
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
@@ -712,7 +739,7 @@ if(!$error)
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
@@ -767,25 +794,14 @@ if(!$error)
//Pruefen ob diese Gruppe im Stundenplan schon verplant wurde
if(!$error)
{
$qry = "SELECT stundenplandev_id as id FROM lehre.tbl_stundenplandev
WHERE
$qry = "SELECT stundenplandev_id as id FROM lehre.tbl_stundenplandev
WHERE
(lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))) =
(SELECT
(SELECT
lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER)."
)
UNION
SELECT stundenplan_id as id FROM lehre.tbl_stundenplan
WHERE
(lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))) =
(SELECT
lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))
FROM
lehre.tbl_lehreinheitgruppe
WHERE
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER)."
)
";
@@ -798,7 +814,7 @@ if(!$error)
$errormsg = 'Diese Gruppe kann nicht geloescht werden, da sie bereits im LV-Plan verplant ist. Bitte wenden Sie sich an die LV-Planung';
}
}
else
else
{
$errormsg = 'Fehler beim Pruefen des LV-Plans: '.$db->db_last_error();
$return = false;
@@ -806,7 +822,7 @@ if(!$error)
}
}
if(!$error)
{
//Lehreinheitgruppezuteilung loeschen
@@ -831,6 +847,67 @@ if(!$error)
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del_lvplan')
{
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=(SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER).")";
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('lv-plan/gruppenentfernen', $lva->getAllOe(), 'suid'))
{
$error = true;
$return = false;
$errormsg = 'Keine Berechtigung';
}
}
else
{
$error = true;
$return = false;
$errormsg = 'Lehreinheit wurde nicht gefunden';
}
}
else
{
$error = true;
$return = false;
$errormsg = 'Lehreinheit wurde nicht gefunden';
}
//Pruefen ob diese Gruppe im Stundenplan schon verplant wurde
if(!$error)
{
$qry = "DELETE FROM lehre.tbl_stundenplandev
WHERE
(lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))) =
(SELECT
lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER)."
)";
if($db->db_query($qry))
{
$error = false;
$return = true;
}
else
{
$errormsg = 'Fehler beim Entfernen des LV-Plans: '.$db->db_last_error();
$return = false;
$error = true;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_add')
{
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
@@ -843,7 +920,7 @@ if(!$error)
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
@@ -898,7 +975,7 @@ if(!$error)
$errormsg = $leg->errormsg;
}
}
else
else
{
$return = false;
$errormsg=$leg->errormsg;
@@ -998,17 +1075,17 @@ if(!$error)
$leDAO->stundenblockung=$_POST['stundenblockung'];
$leDAO->wochenrythmus=$_POST['wochenrythmus'];
if (isset($_POST['start_kw']))
if (isset($_POST['start_kw']))
$leDAO->start_kw=$_POST['start_kw'];
$leDAO->raumtyp=$_POST['raumtyp'];
$leDAO->raumtypalternativ=$_POST['raumtypalternativ'];
$leDAO->sprache=$_POST['sprache'];
if (isset($_POST['lehre']))
if (isset($_POST['lehre']))
$leDAO->lehre=($_POST['lehre']=='true'?true:false);
if (isset($_POST['anmerkung']))
if (isset($_POST['anmerkung']))
$leDAO->anmerkung=$_POST['anmerkung'];
$leDAO->lvnr=(isset($_POST['lvnr'])?$_POST['lvnr']:'');
@@ -1068,8 +1145,8 @@ if(!$error)
}
else if ($_POST['do']=='delete') //Lehreinheit loeschen
{
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid'))
{
$return = false;
@@ -1100,7 +1177,7 @@ if(!$error)
$return = false;
$errormsg = 'Lehreinheit kann nicht geloescht werden, da dazu bereits ein Moodle-Kurs angelegt wurde';
}
else
else
{
if ($leDAO->delete($_POST['lehreinheit_id']))
{
@@ -1151,7 +1228,7 @@ if(!$error)
$lehrveranstaltung_obj = new lehrveranstaltung();
if(!$lehrveranstaltung_obj->load($_POST['lehrveranstaltung_id']))
$errormsg = 'Fehler beim Laden der Lehrveranstaltung';
if(!$rechte->isBerechtigtMultipleOe('admin', $lehrveranstaltung_obj->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lehrveranstaltung_obj->getAllOe(), 'suid'))
{
@@ -1159,7 +1236,7 @@ if(!$error)
$return = false;
$errormsg = 'Keine Berechtigung';
}
if(!$error)
{
isset($_POST['lvangebot_id']) ? $lvangebot_id = $_POST['lvangebot_id'] : $lvangebot_id = null;
@@ -1240,7 +1317,7 @@ if(!$error)
$lvangebot = new lvangebot();
$lvangebot->load($_POST['lvangebot_id']);
$lva = new lehrveranstaltung($lvangebot->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
@@ -1250,7 +1327,7 @@ if(!$error)
$return = false;
$errormsg = 'Keine Berechtigung';
}
if(!$error)
{
if(!$lvangebot->delete($_POST['lvangebot_id']))
@@ -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 '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
@@ -39,6 +45,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<popupset>
<menupopup id="lehrveranstaltung-detail-gruppe-tree-popup">
<menuitem label="Entfernen" oncommand="LeGruppeDel();" />
<?php
if($rechte->isBerechtigt('lv-plan/gruppenentfernen'))
{
echo '<menuseparator />';
echo '<menuitem label="Stunden aus LV-Plan entfernen" oncommand="LeGruppeDelLVPlan();" />';
}
?>
</menupopup>
</popupset>
<popupset>
@@ -73,10 +86,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<!--<row>
<label value="Lehrveranstaltung" />
<textbox id="lehrveranstaltung-detail-textbox-lehrveranstaltung" maxlength="20" disabled="true"/>
</row>
</row>-->
</rows>
</grid>
</vbox>
@@ -95,6 +108,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column style="min-width:240px" />
</columns>
<rows>
<row>
<label value="LV-ID" <?php echo ($rechte->isBerechtigt('lehre/lehrveranstaltung',null,'suid'))?'':'hidden="true"'; ?>/>
<textbox id="lehrveranstaltung-detail-textbox-lehrveranstaltung" disabled="true" maxlength="20" <?php echo ($rechte->isBerechtigt('lehre/lehrveranstaltung',null,'suid'))?'':'hidden="true"'; ?>/>
</row>
<row>
<label value="Lehrfach" />
<menulist id="lehrveranstaltung-detail-menulist-lehrfach" disabled="true"
@@ -223,7 +240,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
datasources="rdf:null"
ref="http://www.technikum-wien.at/lehreinheitgruppe/liste"
flags="dont-build-content"
style="border: 1px solid black;"
style="border: 1px solid black; min-height: 100px;"
ondragdrop="nsDragAndDrop.drop(event,LeLvbgrpDDObserver)"
ondrop="nsDragAndDrop.drop(event,LeLvbgrpDDObserver)"
ondragover="nsDragAndDrop.dragOver(event,LeLvbgrpDDObserver)"
@@ -233,7 +250,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
onkeypress="LvDetailGruppenTreeKeyPress(event)"
>
<treecols>
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-bezeichnung" label="Bezeichnung" flex="2" hidden="false" persist="hidden, width, ordinal"
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-bezeichnung" label="Bezeichnung" flex="4" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
@@ -249,6 +266,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id" label="ID" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-verplant" label="verplant" flex="1" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#verplant" />
</treecols>
<template>
<rule>
@@ -260,6 +280,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#studiengang_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#semester" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
<treecell src="../skin/images/verplant_rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#verplant^.png" />
</treerow>
</treeitem>
</treechildren>
@@ -481,7 +502,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Gruppe" />
<menulist id="lehrveranstaltung-lvangebot-textbox-gruppe"
editable="true" datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/gruppen/liste"
ref="http://www.technikum-wien.at/gruppen/liste"
oninput="LvAngebotGruppenLoad(this)">
<template>
<menupopup>
@@ -48,8 +48,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<popupset>
<menupopup id="lehrveranstaltung-noten-tree-popup">
<menuitem label="Entfernen" oncommand="LehrveranstaltungNotenDelete();" id="lehrveranstaltung-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Freifaecher-Zertifikat erstellen" oncommand="LehrveranstaltungFFZertifikatPrint();" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="LehrveranstaltungLVZeugnisPrint();" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Freifaecher-Zertifikat erstellen" oncommand="LehrveranstaltungFFZertifikatPrint(event);" id="lehrveranstaltung-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="LehrveranstaltungLVZeugnisPrint(event);" id="lehrveranstaltung-noten-tree-popup-lvzeugnis" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
@@ -62,7 +62,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
context="lehrveranstaltung-noten-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="lehrveranstaltung-noten-tree-student_vorname" label="Vorname" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
@@ -87,7 +87,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<treecol id="lehrveranstaltung-noten-tree-benotungsdatum" label="Benotungsdatum" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#benotungsdatum_iso" />
<splitter class="tree-splitter"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-noten-tree-benotungsdatum-iso" label="BenotungsdatumISO" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#benotungsdatum_iso" />
@@ -125,7 +125,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#punkte" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
@@ -156,7 +156,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<button id="lehrveranstaltung-note-copy" label="&lt;=" style="font-weight: bold;" oncommand="LehrveranstaltungNotenMove();"/>
<spacer flex="1"/>
</vbox>
<vbox flex="1">
<label value="Lektor" />
<tree id="lehrveranstaltung-lvgesamtnoten-tree" seltype="multi" hidecolumnpicker="false" flex="1"
@@ -164,7 +164,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
style="margin-bottom:5px;" height="100%" enableColumnDrag="true"
flags="dont-build-content"
>
<treecols>
<treecol id="lehrveranstaltung-lvgesamtnoten-tree-student-vorname" label="Vorname" flex="2" hidden="false"
class="sortDirectionIndicator"
@@ -219,7 +219,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
sort="rdf:http://www.technikum-wien.at/lvgesamtnote/rdf#punkte" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
@@ -243,12 +243,12 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
</template>
</tree>
</vbox>
</hbox>
<hbox>
</hbox>
<hbox>
<label value="Note" control="lehrveranstaltung-noten-menulist-note"/>
<menulist id="lehrveranstaltung-noten-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
ref="http://www.technikum-wien.at/note/liste"
oncommand="LehrveranstaltungNoteSpeichern()">
<template>
<menupopup>
@@ -264,5 +264,39 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<spacer flex="1" />
<button id="lehrveranstaltung-noten-button-import" label="Notenimport" oncommand="LehrveranstaltungNotenImport();" />
</hbox>
<?php
if(defined('FAS_GESAMTNOTE_PRUEFUNGSHONORAR') && FAS_GESAMTNOTE_PRUEFUNGSHONORAR)
{
echo '
<hbox>
<groupbox id="lehrveranstaltung-noten-groupbox-pruefung">
<caption label="Prüfungshonorar" />
<hbox>
<label value="Mitarbeiter" control="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"/>
<menulist id="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"
datasources="'.APP_ROOT.'rdf/mitarbeiter.rdf.php" flex="1"
ref="http://www.technikum-wien.at/mitarbeiter/_alle"
minwidth="250"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname ( rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid )"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Satz pro Prüfung" control="lehrveranstaltung-noten-pruefung-textbox-satz"/>
<textbox id="lehrveranstaltung-noten-pruefung-textbox-satz" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
<label value="Anzahl Prüfungen" control="lehrveranstaltung-noten-pruefung-textbox-anzahl"/>
<textbox id="lehrveranstaltung-noten-pruefung-textbox-anzahl" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
<label value="0.0" id="lehrveranstaltung-noten-pruefung-label-gesamt"/>
<button id="lehrveranstaltung-noten-pruefung-button-save" label="Speichern" oncommand="LehrveranstaltungNotenPruefungSave();" />
<spacer flex="1"/>
</hbox>
</groupbox>
</hbox>';
}
?>
</vbox>
</overlay>
+188 -42
View File
@@ -137,7 +137,7 @@ var LeDetailLehrfachSinkObserver =
//Vom Label des DropDowns den Fachbereich abschneiden
//der dahinter in Klammer steht
lflabel = items[i].label.substr(0, items[i].label.lastIndexOf('(')).trim();
//Richtigen Eintrag suchen
if(lflabel==LeDetailLehrfach_label)
{
@@ -387,7 +387,7 @@ function LeNeu()
var stsem = getStudiensemester();
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=stsem;
//Defaultwert fuer Anmerkung
document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value='<?php echo str_replace("'","\'",LEHREINHEIT_ANMERKUNG_DEFAULT);?>';
}
@@ -432,7 +432,7 @@ function LeLektorTreeSelectLektor()
// ****
function LvAngebotTreeSelectGruppe()
{
}
// ****
@@ -610,6 +610,7 @@ function LeDetailDisableFields(val)
document.getElementById('lehrveranstaltung-detail-button-save').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-unr').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').disabled=val;
}
// ****
@@ -723,7 +724,7 @@ function LeAuswahl()
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=false;
document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=false;
document.getElementById('lehrveranstaltung-tab-lektor').collapsed=false;
lehrveranstaltungNotenTreeloaded=false;
lehrveranstaltungGesamtNotenTreeloaded=false;
@@ -754,7 +755,7 @@ function LeAuswahl()
//Notizen Tab ausblenden
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=true;
//LV-Angebot Tab einblenden und Gruppen laden
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=false;
LvAngebotLoad(lehrveranstaltung_id);
@@ -787,7 +788,7 @@ function LeAuswahl()
//Notizen Tab einblenden
//document.getElementById('lehrveranstaltung-tab-notizen').collapsed=false;
//LV-Angebot Tab ausblenden
document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=true;
@@ -799,8 +800,8 @@ function LeAuswahl()
document.getElementById('lehrveranstaltung-toolbar-neu').disabled=true;
document.getElementById('lehrveranstaltung-toolbar-del').disabled=false;
//Wenn ein Tab markiert ist der nun ausgeblendet wurde,
//Wenn ein Tab markiert ist der nun ausgeblendet wurde,
//dann wird der Detail Tab markiert
if(document.getElementById('lehrveranstaltung-tabs').selectedItem.collapsed)
{
@@ -941,7 +942,7 @@ function LeAuswahl()
{
debug(e);
}
//Lehreinheitgruppe tree setzen
url='<?php echo APP_ROOT; ?>rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
@@ -1231,7 +1232,7 @@ function LeMitarbeiterAuswahl()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=true;
else
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false;
LeMitarbeiterGesamtkosten();
}
@@ -1306,6 +1307,59 @@ function LeGruppeDel()
}
}
// ****
// * Loescht den LVPlan einer Gruppe zu einer aus dem LVPlan
// ****
function LeGruppeDelLVPlan()
{
tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe');
//Nachsehen ob Gruppe markiert wurde
var idx;
if(tree.currentIndex>=0)
idx = tree.currentIndex;
else
{
alert('Bitte zuerst eine Gruppe markieren');
return false;
}
try
{
//Lehreinheit_id holen
var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id"] : "lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id";
var lehreinheitgruppe_id=tree.view.getCellText(idx,col);
}
catch(e)
{
alert(e);
return false;
}
if(!confirm("Sind Sie sicher dass Sie diese Gruppe aus dem LVPlan entfernen wollen?"))
return false;
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
neu = document.getElementById('lehrveranstaltung-detail-checkbox-new').checked;
req.add('type', 'lehreinheit_gruppe_del_lvplan');
req.add('lehreinheitgruppe_id', lehreinheitgruppe_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
//Refresh des Trees
LeDetailGruppeTreeRefresh();
LvTreeRefresh();
}
}
// ****
// * Gruppen Tree Refreshen
// ****
@@ -1448,7 +1502,7 @@ function LehrveranstaltungGesamtNotenTreeSelectDifferent()
var zeugnistree = document.getElementById("lehrveranstaltung-noten-tree");
var lvgesamttree = document.getElementById("lehrveranstaltung-lvgesamtnoten-tree");
lvgesamttree.view.selection.clearSelection();
if(lehrveranstaltungNotenTreeloaded && lehrveranstaltungGesamtNotenTreeloaded)
{
lvgesamttree.view.selection.clearSelection();
@@ -1482,14 +1536,14 @@ function LehrveranstaltungGesamtNotenTreeSelectDifferent()
var zeugnisnote=zeugnistree.view.getCellText(j,col);
col = zeugnistree.columns ? zeugnistree.columns["lehrveranstaltung-noten-tree-benotungsdatum-iso"] : "lehrveranstaltung-noten-tree-benotungsdatum-iso";
var zeugnisbenotungsdatum=zeugnistree.view.getCellText(j,col);
//debug(zeugnisuid+'=='+lvgesamtuid+' && '+zeugnisnote+'=='+lvgesamtnote);
if(zeugnisuid==lvgesamtuid && zeugnisnote==lvgesamtnote && zeugnisbenotungsdatum==lvgesamtbenotungsdatum)
{
found=true;
break;
}
//Wenn die Noten unterschiedlich sind, aber das benotungsdatum im Zeugnis
//nach dem benotungsdatum des lektors liegt, dann wird die zeile auch nicht markiert.
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
@@ -1841,22 +1895,22 @@ function LehrveranstaltungNotenPunkteChange()
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'getnotenotenschluessel');
req.add('lehrveranstaltung_id', lehrveranstaltung_id);
req.add('punkte', punkte);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response);
else
alert(val.dbdml_errormsg);
alert(val.dbdml_errormsg);
}
else
{
@@ -1868,7 +1922,7 @@ function LehrveranstaltungNotenPunkteChange()
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
function LehrveranstaltungFFZertifikatPrint()
function LehrveranstaltungFFZertifikatPrint(event)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -1896,7 +1950,14 @@ function LehrveranstaltungFFZertifikatPrint()
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
//prompt('test:',url);
}
@@ -1904,7 +1965,7 @@ function LehrveranstaltungFFZertifikatPrint()
// ****
// * Erstellt ein Lehrveranstaltungszeugnis fuer die LV
// ****
function LehrveranstaltungLVZeugnisPrint()
function LehrveranstaltungLVZeugnisPrint(event)
{
tree = document.getElementById('lehrveranstaltung-noten-tree');
//Alle markierten Noten holen
@@ -1932,7 +1993,14 @@ function LehrveranstaltungLVZeugnisPrint()
col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiengang_kz"] : "lehrveranstaltung-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid='+paramList+'&output='+output+'&ss='+ss+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
//prompt('test:',url);
}
@@ -1992,14 +2060,14 @@ function LeMitarbeiterGesamtkosten()
semesterstunden = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').value
faktor = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').value
stundensatz = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value
if(!isNaN(semesterstunden) && !isNaN(faktor) && !isNaN(stundensatz))
gesamtkosten = semesterstunden*faktor*stundensatz;
else
gesamtkosten = 0;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-gesamtkosten').value=gesamtkosten.toFixed(2)+' €';
if(gesamtkosten<=0)
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-gesamtkosten').setAttribute("style",'color: red');
else
@@ -2081,7 +2149,7 @@ function LvAngebotGruppenLoad(menulist, filter)
{
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
@@ -2090,7 +2158,7 @@ function LvAngebotGruppenLoad(menulist, filter)
var datasource = rdfService.GetDataSource(url);
else
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
@@ -2106,13 +2174,13 @@ function LvAngebotGruppeSave()
{
var tree = document.getElementById('lehrveranstaltung-tree');
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id";
if(tree.currentIndex == -1)
{
alert('Bitte zuerst eine Lehrveranstaltung auswaehlen');
return false;
}
//Werte holen
var lehrveranstaltung_id = tree.view.getCellText(tree.currentIndex,col);
var neue_gruppe = document.getElementById('lehrveranstaltung-lvangebot-checkbox-gruppe').checked;
@@ -2121,16 +2189,16 @@ function LvAngebotGruppeSave()
var gesamtplaetze = document.getElementById('lehrveranstaltung-lvangebot-textbox-gesamt').value;
var anmeldefenster_start = document.getElementById('lehrveranstaltung-lvangebot-textbox-start').value;
var anmeldefenster_ende = document.getElementById('lehrveranstaltung-lvangebot-textbox-ende').value;
//Eingaben validieren
if(neue_gruppe == false && gruppe == "")
{
alert('Es muss eine Gruppe ausgewaehlt werden');
return false;
}
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
//Wenn ein Angebot gewaehlt wurde dann ID fuer Update ermitteln
tree = document.getElementById('lehrveranstaltung-lvangebot-tree-gruppen');
var idx;
@@ -2140,8 +2208,8 @@ function LvAngebotGruppeSave()
var col = tree.columns ? tree.columns["lehrveranstaltung-lvangebot-treecol-lvangebot_id"] : "lehrveranstaltung-lvangebot-treecol-lvangebot_id";
var lvangebot_id = tree.view.getCellText(idx,col);
req.add('lvangebot_id', lvangebot_id);
}
}
req.add('type', 'lvangebot-gruppe-save');
req.add('neue_gruppe', neue_gruppe);
req.add('gruppe', gruppe);
@@ -2151,7 +2219,7 @@ function LvAngebotGruppeSave()
req.add('anmeldefenster_ende', anmeldefenster_ende);
req.add('lehrveranstaltung_id', lehrveranstaltung_id);
req.add('studiensemester_kurzbz', getStudiensemester());
var response = req.executePOST();
var val = new ParseReturnValue(response)
@@ -2204,7 +2272,7 @@ function LvAngebotLoad(lehrveranstaltung_id)
LvAngebotGruppenDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lvangebottree.database.AddDataSource(LvAngebotGruppenDatasource);
lvangebottree.builder.addListener(LvAngebotTreeListener);
//Eingefelder leeren
LvAngebotReset();
}
@@ -2242,12 +2310,12 @@ function LvAngebotGruppeDel()
alert(e);
return false;
}
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
req.add('type', 'lvangebot_gruppe_del');
req.add('lvangebot_id', lvangebot_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
@@ -2353,7 +2421,7 @@ function LehrveranstaltungTermineIFrameLoad()
{
var tree = document.getElementById('lehrveranstaltung-tree');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
return;
try
{
@@ -2375,11 +2443,11 @@ function LehrveranstaltungTermineIFrameLoad()
/**
* Laedt die Anwesenheiten einer Lehrveranstaltung wenn auf den Tab gewechselt wird
*/
function LehrveranstaltungTermineIFrameLoad()
function LehrveranstaltungAnwesenheitIFrameLoad()
{
var tree = document.getElementById('lehrveranstaltung-tree');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
return;
try
{
@@ -2393,3 +2461,81 @@ function LehrveranstaltungTermineIFrameLoad()
catch(e)
{}
}
/**
* Berechnet das Pruefungshonorar
*/
function LehrveranstaltungNotenPruefungCalculate()
{
var satz = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-satz').value;
var anzahl = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anzahl').value;
satz = satz.replace(',','.');
var gesamt = satz*anzahl;
document.getElementById('lehrveranstaltung-noten-pruefung-label-gesamt').value=gesamt;
}
function LehrveranstaltungNotenPruefungSave()
{
var mitarbeiter_uid = document.getElementById('lehrveranstaltung-noten-pruefung-menulist-mitarbeiter').value;
var satz = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-satz').value;
var anzahl = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anzahl').value;
satz = satz.replace(',','.');
if(mitarbeiter_uid == '' || satz == '' || anzahl == '')
{
alert('Bitte wählen Sie einen Mitarbeiter aus und geben Sie den Satz pro Prüfung sowie die Anzahl der Prüfungen an!');
return false;
}
var gesamt = satz*anzahl;
var tree = document.getElementById('lehrveranstaltung-tree');
if (tree.currentIndex==-1)
{
alert('Bitte wählen Sie die gewünschte Lehrveranstaltung aus!');
return;
}
//Ausgewaehlte LV holen
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung-id";
var lehrveranstaltung_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-bezeichnung"] : "lehrveranstaltung-treecol-bezeichnung";
var lv_bezeichnung=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-studiengang"] : "lehrveranstaltung-treecol-studiengang";
var lv_studiengang=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-semester"] : "lehrveranstaltung-treecol-semester";
var lv_semester=tree.view.getCellText(tree.currentIndex,col);
var req = new phpRequest('mitarbeiter/mitarbeiterDBDML.php','','');
var heute = new Date();
var datum = '';
datum = heute.getFullYear()+'-'+(heute.getMonth()+1)+'-'+heute.getDate();
req.add('type', 'vertraggenerate');
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('vertragstyp_kurzbz', 'Pruefungshonorar');
req.add('betrag', gesamt);
req.add('bezeichnung', 'Pruefungshonorar '+lv_studiengang+' '+lv_semester+' '+lv_bezeichnung+' '+lehrveranstaltung_id);
req.add('anmerkung', satz+'€ * '+anzahl);
req.add('vertragsdatum', datum);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if (val.dbdml_errormsg == "")
alert('Es ist ein unbekannter Fehler aufgetreten');
else
alert(val.dbdml_errormsg);
}
else
{
SetStatusBarText('Daten wurden gespeichert');
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-satz').value='';
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anzahl').value='';
document.getElementById('lehrveranstaltung-noten-pruefung-label-gesamt').value='';
}
}
+78 -57
View File
@@ -66,7 +66,7 @@ if(!$error)
{
//Speichert die Mitarbeiterdaten
$mitarbeiter = new mitarbeiter();
if($mitarbeiter->load($_POST['uid']))
{
//Werte zuweisen
@@ -116,46 +116,46 @@ if(!$error)
{
$resturlaub->new = false;
}
else
else
{
$resturlaub->new = true;
$resturlaub->insertamum = date('Y-m-d H:i:s');
$resturlaub->insertvon = $user;
$resturlaub->mitarbeiter_uid = $_POST['uid'];
}
$resturlaub->updateamum = date('Y-m-d H:i:s');
$resturlaub->updatevon = $user;
$resturlaub->urlaubstageprojahr = $_POST['urlaubsanspruch'];
$resturlaub->resturlaubstage = $_POST['resturlaubstage'];
if($resturlaub->save())
{
$return = true;
}
else
else
{
$return = false;
$errormsg = 'Fehler beim Speichern der Resturlaubstage/Urlaubsanspruch'.$resturlaub->errormsg;
}
}
else
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
else
else
{
$errormsg = $mitarbeiter->errormsg;
$return = false;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='verwendungsave')
{
//Speichert die BISVerwendung
$verwendung = new bisverwendung();
if($_POST['neu']!='true')
{
if(!$verwendung->load($_POST['bisverwendung_id']))
@@ -166,13 +166,13 @@ if(!$error)
}
$verwendung->new = false;
}
else
else
{
$verwendung->new = true;
$verwendung->insertamum = date('Y-m-d H:i:s');
$verwendung->insertvon = $user;
}
if(!$error)
{
$verwendung->ba1code = $_POST['ba1code'];
@@ -185,22 +185,22 @@ if(!$error)
$verwendung->hauptberuflich = true;
elseif($_POST['hauptberuflich']=='false')
$verwendung->hauptberuflich = false;
else
else
$verwendung->hauptberuflich = '';
$verwendung->habilitation = ($_POST['habilitation']=='true'?true:false);
$verwendung->beginn = $_POST['beginn'];
$verwendung->ende = $_POST['ende'];
$verwendung->vertragsstunden = str_replace(',','.',$_POST['vertragsstunden']);
$verwendung->updateamum = date('Y-m-d H:i:s');
$verwendung->updatevon = $user;
$verwendung->dv_art = $_POST['dv_art'];
$verwendung->updatevon = $user;
$verwendung->dv_art = $_POST['dv_art'];
if($verwendung->save())
{
$return = true;
$data = $verwendung->bisverwendung_id;
}
else
else
{
$errormsg = $verwendung->errormsg;
$return = false;
@@ -215,7 +215,7 @@ if(!$error)
{
$return = true;
}
else
else
{
$return = false;
$errormsg = $verwendung->errormsg;
@@ -225,7 +225,7 @@ if(!$error)
{
//Speichert die BISFunktion
$funktion = new bisfunktion();
if($_POST['neu']!='true')
{
if(!$funktion->load($_POST['bisverwendung_id'],$_POST['studiengang_kz_old']))
@@ -236,13 +236,13 @@ if(!$error)
}
$funktion->new = false;
}
else
else
{
$funktion->new = true;
$funktion->insertamum = date('Y-m-d H:i:s');
$funktion->insertvon = $user;
}
if(!$error)
{
$funktion->bisverwendung_id = $_POST['bisverwendung_id'];
@@ -250,13 +250,13 @@ if(!$error)
$funktion->studiengang_kz_old = $_POST['studiengang_kz_old'];
$funktion->sws = str_replace(',','.',$_POST['sws']);
$funktion->updateamum = date('Y-m-d H:i:s');
$funktion->updatevon = $user;
$funktion->updatevon = $user;
if($funktion->save())
{
$return = true;
}
else
else
{
$errormsg = $funktion->errormsg;
$return = false;
@@ -271,7 +271,7 @@ if(!$error)
{
$return = true;
}
else
else
{
$return = false;
$errormsg = $funktion->errormsg;
@@ -281,7 +281,7 @@ if(!$error)
{
//Speichert den Entwicklungsteameintrag
$entwt = new entwicklungsteam();
if($_POST['neu']!='true')
{
if(!$entwt->load($_POST['mitarbeiter_uid'],$_POST['studiengang_kz_old']))
@@ -292,8 +292,8 @@ if(!$error)
}
$entwt->new = false;
}
else
{
else
{
if($entwt->exists($_POST['mitarbeiter_uid'],$_POST['studiengang_kz']))
{
@@ -305,7 +305,7 @@ if(!$error)
$entwt->insertamum = date('Y-m-d H:i:s');
$entwt->insertvon = $user;
}
if(!$error)
{
$entwt->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
@@ -315,19 +315,19 @@ if(!$error)
$entwt->beginn = $_POST['beginn'];
$entwt->ende = $_POST['ende'];
$entwt->updateamum = date('Y-m-d H:i:s');
$entwt->updatevon = $user;
$entwt->updatevon = $user;
if($entwt->save())
{
$return = true;
}
else
else
{
$errormsg = $entwt->errormsg;
$return = false;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='entwicklungsteamdelete')
{
@@ -337,7 +337,7 @@ if(!$error)
{
$return = true;
}
else
else
{
$return = false;
$errormsg = $entwt->errormsg;
@@ -374,12 +374,12 @@ if(!$error)
$buchung->updateamum = date('Y-m-d H:i:s');
$buchung->updatevon = $user;
}
if($buchung->save())
{
$return = true;
}
else
else
{
$errormsg = $buchung->errormsg;
$return = false;
@@ -401,7 +401,7 @@ if(!$error)
{
$return = true;
}
else
else
{
$return = false;
$errormsg = $buchung->errormsg;
@@ -419,17 +419,29 @@ if(!$error)
{
$errormsg='';
$person_id = $_POST['person_id'];
if(isset($_POST['person_id']))
$person_id = $_POST['person_id'];
elseif(isset($_POST['mitarbeiter_uid']))
{
$ma = new mitarbeiter();
$ma->load($_POST['mitarbeiter_uid']);
$person_id=$ma->person_id;
}
else
{
$return = false;
$errormsg = 'Falsche Parameter';
}
$person = new person();
$person->load($person_id);
$vertrag = new vertrag();
$neu = false;
if($_POST['vertrag_id']!='')
if(isset($_POST['vertrag_id']) && $_POST['vertrag_id']!='')
{
// Bearbeiten eines Vertrags
$vertrag_id=$_POST['vertrag_id'];
$vertrag_id=$_POST['vertrag_id'];
if($vertrag->load($vertrag_id))
{
@@ -523,25 +535,34 @@ if(!$error)
{
// Neu Status setzen
$vertrag = new vertrag();
$vertrag->vertrag_id = $vertrag_id;
$vertrag->vertragsstatus_kurzbz = 'neu';
$vertrag->datum = date('Y-m-d H:i:s');
$vertrag->uid = $user;
if(!$vertrag->saveVertragsstatus(true))
$errormsg.=$vertrag->erromsg;
$errormsg.=$vertrag->errormsg;
else if($_POST['vertragstyp_kurzbz'] == 'Pruefungshonorar')
{
// Retour Status setzen
$vertrag->vertragsstatus_kurzbz = 'retour';
$vertrag->datum = date('Y-m-d H:i:s');
if(!$vertrag->saveVertragsstatus(true))
$errormsg.=$vertrag->errormsg;
}
}
if($errormsg=='')
$return=true;
else
$return=false;
}
else
{
$return = false;
$return = false;
$errormsg = $vertrag->errormsg;
}
}
@@ -562,22 +583,22 @@ if(!$error)
{
$vertrag_id = $_POST['vertrag_id'];
$status = $_POST['status'];
$vertrag = new vertrag();
$vertrag->vertrag_id = $vertrag_id;
$vertrag->vertragsstatus_kurzbz = $status;
$vertrag->datum = date('Y-m-d H:i:s');
$vertrag->uid = $user;
$vertrag->insertvon = $user;
if($vertrag->saveVertragsstatus(true))
{
$return=true;
$return=true;
}
else
{
$return = false;
$return = false;
$errormsg = $vertrag->errormsg;
}
}
@@ -598,21 +619,21 @@ if(!$error)
$time = explode(":",$time);
$datum = explode("-", $datum);
$datum = date('Y-m-d H:i:s', mktime($time[0],$time[1],0,$datum[1],$datum[2],$datum[0]));
$vertrag = new vertrag($vertrag_id);
$vertrag->getStatus($vertrag_id,$status);
$vertrag->datum = $datum;
$vertrag->updatevon = $user;
$vertrag->updateamum = date('Y-m-d H:i:s');
if($vertrag->saveVertragsstatus(false))
{
$return=true;
$return=true;
}
else
{
$return = false;
$return = false;
$errormsg = $vertrag->errormsg;
}
}
@@ -633,11 +654,11 @@ if(!$error)
if($vertrag->deleteVertragsstatus($vertrag_id, $status))
{
$return=true;
$return=true;
}
else
{
$return = false;
$return = false;
$errormsg = 'Failed'.$vertrag->errormsg;
}
}
@@ -735,7 +756,7 @@ if(!$error)
$konto->beschreibung['German'] = $_POST['beschreibung'];
$konto->kurzbz = $_POST['kurzbz'];
$konto->person_id = isset($_POST['person_id']) ? $_POST['person_id'] : null;
if (!$konto->save())
{
$error = true;
+137 -134
View File
@@ -82,7 +82,7 @@ var MitarbeiterTreeListener =
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
MitarbeiterTreeLoadDataOnSelect2=true;
window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
window.setTimeout(MitarbeiterTreeSelectMitarbeiter,10);
}
};
@@ -231,22 +231,22 @@ function MitarbeiterTreeSort()
// * die diesem Filter entsprechen geladen
// ****
function onMitarbeiterSelect()
{
{
//Warnung falls Daten veraendert wurden aber noch nicht gespeichert
if(MitarbeiterDetailValueChanged)
{
if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
return false;
}
MitarbeiterDetailValueChanged=false;
var tree=document.getElementById('tree-menu-mitarbeiter');
var col = tree.columns ? tree.columns["tree-menu-mitarbeiter-col-filter"] : "tree-menu-mitarbeiter-col-filter";
if(tree.currentIndex==-1)
return false;
var filter=tree.view.getCellText(tree.currentIndex,col);
var url = "<?php echo APP_ROOT; ?>rdf/personal.rdf.php";
var attributes="?type=unknown";
@@ -302,8 +302,11 @@ function onMitarbeiterSelect()
{
attributes+="&fix=false";
}
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
if(filter=="VertragNochNichtRetour")
{
attributes+="&VertragNochNichtRetour";
}
document.getElementById('mitarbeiter-toolbar-neu').disabled=false;
//Timestamp anhaengen da beim Laden von Zwischengespeicherten Dateien kein
//Observer Event ausgeloest wird.
url+=attributes+'&'+gettimestamp();
@@ -312,7 +315,7 @@ function onMitarbeiterSelect()
MitarbeiterDetailDisableFields(true);
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('mitarbeiter-tree');
try
@@ -322,14 +325,14 @@ function onMitarbeiterSelect()
}
catch(e)
{}
///Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -415,7 +418,7 @@ function MitarbeiterDetailDisableFields(val)
document.getElementById('mitarbeiter-detail-button-image-infomail').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
//document.getElementById('mitarbeiter-detail-textbox-personalnummer').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').disabled=val;
document.getElementById('mitarbeiter-detail-checkbox-lektor').disabled=val;
@@ -450,9 +453,9 @@ function MitarbeiterAuswahl()
if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
return false;
}
MitarbeiterDetailValueChanged=false;
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('mitarbeiter-tree');
@@ -515,7 +518,7 @@ function MitarbeiterAuswahl()
geburtsnation=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsnation" ));
sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" ));
person_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
personalnummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personalnummer" ));
kurzbezeichnung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kurzbz" ));
stundensatz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
@@ -531,7 +534,7 @@ function MitarbeiterAuswahl()
urlaubstageprojahr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#urlaubstageprojahr" ));
resturlaubstage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#resturlaubstage" ));
kleriker=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kleriker" ));
//Daten den Feldern zuweisen
//Personendaten
@@ -551,7 +554,7 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-detail-textbox-ersatzkennzeichen').value=ersatzkennzeichen;
document.getElementById('mitarbeiter-detail-menulist-familienstand').value=familienstand;
document.getElementById('mitarbeiter-detail-menulist-geschlecht').value=geschlecht;
if(aktiv=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-aktiv').checked=true;
else
@@ -562,7 +565,7 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-detail-menulist-sprache').value=sprache;
document.getElementById('mitarbeiter-detail-image').src='<?php echo APP_ROOT?>content/bild.php?src=person&person_id='+person_id+'&'+gettimestamp();
document.getElementById('mitarbeiter-detail-textbox-person_id').value=person_id;
//Mitarbeiterdaten
document.getElementById('mitarbeiter-detail-textbox-personalnummer').value=personalnummer;
document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value=kurzbezeichnung;
@@ -572,22 +575,22 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-lektor').checked=false;
if(fixangestellt=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-fixangestellt').checked=false;
if(bismelden=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-bismelden').checked=false;
if(kleriker=='Ja')
document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=true;
else
document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=false;
document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked=false;
document.getElementById('mitarbeiter-detail-menulist-ausbildung').value=ausbildung;
document.getElementById('mitarbeiter-detail-textbox-mitarbeiteranmerkung').value=anmerkung;
document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz;
@@ -600,7 +603,7 @@ function MitarbeiterAuswahl()
// ***** BETRIEBSMITTEL *****
document.getElementById('mitarbeiter-betriebsmittel').setAttribute('src','betriebsmitteloverlay.xul.php?person_id='+person_id+'&uid='+uid);
if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-termine'))
{
@@ -611,7 +614,7 @@ function MitarbeiterAuswahl()
// **** VERWENDUNG ****
verwendungtree = document.getElementById('mitarbeiter-tree-verwendung');
url='<?php echo APP_ROOT;?>rdf/bisverwendung.rdf.php?uid='+uid+"&"+gettimestamp();
try
{
MitarbeiterVerwendungTreeDatasource.removeXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
@@ -619,7 +622,7 @@ function MitarbeiterAuswahl()
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = verwendungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -628,7 +631,7 @@ function MitarbeiterAuswahl()
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
verwendungtree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
MitarbeiterVerwendungTreeDatasource = rdfService.GetDataSource(url);
@@ -637,9 +640,9 @@ function MitarbeiterAuswahl()
verwendungtree.database.AddDataSource(MitarbeiterVerwendungTreeDatasource);
MitarbeiterVerwendungTreeDatasource.addXMLSinkObserver(MitarbeiterVerwendungTreeSinkObserver);
verwendungtree.builder.addListener(MitarbeiterVerwendungTreeListener);
MitarbeiterVerwendungDisableFields(false);
// **** ENTWICKLUNGSTEAM ****
entwicklungsteamtree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
url='<?php echo APP_ROOT;?>rdf/entwicklungsteam.rdf.php?mitarbeiter_uid='+uid+"&"+gettimestamp();
@@ -651,7 +654,7 @@ function MitarbeiterAuswahl()
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = entwicklungsteamtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -668,13 +671,13 @@ function MitarbeiterAuswahl()
entwicklungsteamtree.database.AddDataSource(MitarbeiterEntwicklungsteamTreeDatasource);
MitarbeiterEntwicklungsteamTreeDatasource.addXMLSinkObserver(MitarbeiterEntwicklungsteamTreeSinkObserver);
entwicklungsteamtree.builder.addListener(MitarbeiterEntwicklungsteamTreeListener);
MitarbeiterEntwicklungsteamDetailDisableFields(true);
MitarbeiterEntwicklungsteamDisableFields(false);
// Funktionen Tree Leeren
funktiontree = document.getElementById('mitarbeiter-tree-funktion');
//Alte DS entfernen
var oldDatasources = funktiontree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -683,9 +686,9 @@ function MitarbeiterAuswahl()
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
funktiontree.builder.rebuild();
MitarbeiterFunktionDisableFields(true);
//Funktionen Laden
if(document.getElementById('mitarbeiter-tabs').selectedItem==document.getElementById('mitarbeiter-tab-funktionen'))
{
@@ -693,7 +696,7 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-funktionen').setAttribute('src',url);
}
// Buchungen laden falls vorhanden
// Buchungen laden falls vorhanden
if(document.getElementById('mitarbeiter-tab-buchung'))
MitarbeiterBuchungLoad(person_id)
@@ -733,15 +736,15 @@ function MitarbeiterImageDelete()
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'imagedelete');
req.add('person_id', person_id);
req.add('studiengang_kz', '');
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -790,7 +793,7 @@ function MitarbeiterSave()
geburtsnation = document.getElementById('mitarbeiter-detail-menulist-geburtsnation').value;
sprache = document.getElementById('mitarbeiter-detail-menulist-sprache').value;
person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
//Mitarbeiterdaten
personalnummer = document.getElementById('mitarbeiter-detail-textbox-personalnummer').value;
kurzbezeichnung = document.getElementById('mitarbeiter-detail-textbox-kurzbezeichnung').value;
@@ -805,16 +808,16 @@ function MitarbeiterSave()
standort_id = document.getElementById('mitarbeiter-detail-menulist-standort').value;
alias = document.getElementById('mitarbeiter-detail-textbox-alias').value;
kleriker = document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked;
urlaubsanspruch = document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value;
resturlaubstage = document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value;
if(geburtsdatum!='' && !CheckDatum(geburtsdatum))
{
alert('Geburtsdatum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
@@ -856,13 +859,13 @@ function MitarbeiterSave()
req.add('resturlaubstage', resturlaubstage);
req.add('kleriker', kleriker);
req.add('personalnummer', personalnummer);
var response = req.executePOST();
var val = new ParseReturnValue(response)
MitarbeiterDetailValueChanged=false;
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1047,7 +1050,7 @@ function MitarbeiterVerwendungSelect()
{
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('mitarbeiter-tree-verwendung');
if (tree.currentIndex==-1) return;
@@ -1056,7 +1059,7 @@ function MitarbeiterVerwendungSelect()
var col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-bisverwendung_id"] : "mitarbeiter-verwendung-treecol-bisverwendung_id";
var bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
// Laden der Funktionen
funktiontree = document.getElementById('mitarbeiter-tree-funktion');
url='<?php echo APP_ROOT;?>rdf/bisfunktion.rdf.php?bisverwendung_id='+bisverwendung_id+"&"+gettimestamp();
@@ -1068,7 +1071,7 @@ function MitarbeiterVerwendungSelect()
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = funktiontree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -1085,7 +1088,7 @@ function MitarbeiterVerwendungSelect()
funktiontree.database.AddDataSource(MitarbeiterFunktionTreeDatasource);
MitarbeiterFunktionTreeDatasource.addXMLSinkObserver(MitarbeiterFunktionTreeSinkObserver);
funktiontree.builder.addListener(MitarbeiterFunktionTreeListener);
MitarbeiterFunktionDisableFields(false);
}
@@ -1106,12 +1109,12 @@ function MitarbeiterVerwendungBearbeiten()
{
var tree=document.getElementById('mitarbeiter-tree-verwendung');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag auswaehlen');
return false;
}
//Uid der row holen
col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-mitarbeiter_uid"] : "mitarbeiter-verwendung-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
@@ -1134,7 +1137,7 @@ function MitarbeiterVerwendungNeu()
//Uid der row holen
col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
@@ -1151,7 +1154,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
{
if(hauptberuflich==true)
@@ -1174,25 +1177,25 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
alert('Hauptberuflich darf bei dieser Verwendung nicht gesetzt sein');
return false;
}
}
}
if(beginn!='' && !CheckDatum(beginn))
{
alert('Beginn Datum ist ungueltig');
return false;
}
if(ende!='' && !CheckDatum(ende))
{
alert('Ende Datum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'verwendungsave');
req.add('neu', neu);
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('bisverwendung_id', bisverwendung_id);
@@ -1211,7 +1214,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1236,7 +1239,7 @@ function MitarbeiterVerwendungLoeschen()
{
var tree=document.getElementById('mitarbeiter-tree-verwendung');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag auswaehlen');
return false;
@@ -1244,21 +1247,21 @@ function MitarbeiterVerwendungLoeschen()
//Bisverwendung_id holen
col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-bisverwendung_id"] : "mitarbeiter-verwendung-treecol-bisverwendung_id";
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
if(confirm('Diese Verwendung wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'verwendungdelete');
req.add('bisverwendung_id', bisverwendung_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1350,30 +1353,30 @@ function MitarbeiterFunktionSpeichern()
sws = document.getElementById('mitarbeiter-funktion-detail-textbox-sws').value;
neu = document.getElementById('mitarbeiter-funktion-detail-checkbox-neu').checked;
studiengang_kz_old = document.getElementById('mitarbeiter-funktion-detail-textbox-studiengang').value;
if(studiengang_kz=='')
{
alert('Bitte einen Studiengang auswaehlen');
return false;
}
//Bisverwendung_id holen
var tree=document.getElementById('mitarbeiter-tree-verwendung');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Es wurde keine Verwendung ausgewaehlt');
return false;
}
col = tree.columns ? tree.columns["mitarbeiter-verwendung-treecol-bisverwendung_id"] : "mitarbeiter-verwendung-treecol-bisverwendung_id";
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'funktionsave');
req.add('neu', neu);
req.add('studiengang_kz', studiengang_kz);
req.add('studiengang_kz_old', studiengang_kz_old);
@@ -1383,7 +1386,7 @@ function MitarbeiterFunktionSpeichern()
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1403,7 +1406,7 @@ function MitarbeiterFunktionSpeichern()
}
}
// ****
// ****
// * bei der Auswahl einer Funktion wird diese zum Bearbeiten geladen
// ****
function MitarbeiterFunktionSelect()
@@ -1411,23 +1414,23 @@ function MitarbeiterFunktionSelect()
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Daten laden
tree = document.getElementById('mitarbeiter-tree-funktion');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
return false;
col = tree.columns ? tree.columns["mitarbeiter-funktion-treecol-bisverwendung_id"] : "mitarbeiter-funktion-treecol-bisverwendung_id";
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-funktion-treecol-studiengang_kz"] : "mitarbeiter-funktion-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>rdf/bisfunktion.rdf.php?bisverwendung_id='+bisverwendung_id+'&studiengang_kz='+studiengang_kz+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/bisfunktion/" + bisverwendung_id+'/'+studiengang_kz);
var predicateNS = "http://www.technikum-wien.at/bisfunktion/rdf";
@@ -1435,10 +1438,10 @@ function MitarbeiterFunktionSelect()
//RDF parsen
var sws = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sws" ));
document.getElementById('mitarbeiter-funktion-detail-menulist-studiengang').value=studiengang_kz;
document.getElementById('mitarbeiter-funktion-detail-textbox-sws').value=sws;
document.getElementById('mitarbeiter-funktion-detail-checkbox-neu').checked=false;
document.getElementById('mitarbeiter-funktion-detail-checkbox-neu').checked=false;
document.getElementById('mitarbeiter-funktion-detail-textbox-studiengang').value=studiengang_kz;
MitarbeiterFunktionDetailDisableFields(false);
}
@@ -1450,33 +1453,33 @@ function MitarbeiterFunktionLoeschen()
{
//Daten laden
tree = document.getElementById('mitarbeiter-tree-funktion');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Es wurde keine Verwendung ausgewaehlt');
return false;
}
col = tree.columns ? tree.columns["mitarbeiter-funktion-treecol-bisverwendung_id"] : "mitarbeiter-funktion-treecol-bisverwendung_id";
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-funktion-treecol-studiengang_kz"] : "mitarbeiter-funktion-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
if(confirm("Wollen Sie diese Funktion wirklich loeschen?"))
{
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'funktiondelete');
req.add('studiengang_kz', studiengang_kz);
req.add('bisverwendung_id', bisverwendung_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1535,7 +1538,7 @@ function MitarbeiterEntwicklungsteamDisableFields(val)
{
document.getElementById('mitarbeiter-entwicklungsteam-button-neu').disabled=val;
document.getElementById('mitarbeiter-entwicklungsteam-button-loeschen').disabled=val;
if(val)
MitarbeiterEntwicklungsteamDetailDisableFields(val)
}
@@ -1549,7 +1552,7 @@ function MitarbeiterEntwicklungsteamDetailDisableFields(val)
document.getElementById('mitarbeiter-entwicklungsteam-detail-menulist-besqual').disabled=val;
document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-beginn').disabled=val;
document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-ende').disabled=val;
document.getElementById('mitarbeiter-entwicklungsteam-detail-button-speichern').disabled=val;
document.getElementById('mitarbeiter-entwicklungsteam-detail-button-speichern').disabled=val;
}
// ****
@@ -1572,23 +1575,23 @@ function MitarbeiterEntwicklungsteamSelect()
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Daten laden
tree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
return false;
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>rdf/entwicklungsteam.rdf.php?studiengang_kz='+studiengang_kz+'&mitarbeiter_uid='+mitarbeiter_uid+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/entwicklungsteam/" + mitarbeiter_uid+'/'+studiengang_kz);
var predicateNS = "http://www.technikum-wien.at/entwicklungsteam/rdf";
@@ -1598,10 +1601,10 @@ function MitarbeiterEntwicklungsteamSelect()
var besqualcode = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#besqualcode" ));
var beginn = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
var ende = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
document.getElementById('mitarbeiter-entwicklungsteam-detail-menulist-studiengang').value=studiengang_kz;
document.getElementById('mitarbeiter-entwicklungsteam-detail-menulist-besqual').value=besqualcode;
document.getElementById('mitarbeiter-entwicklungsteam-detail-checkbox-neu').checked=false;
document.getElementById('mitarbeiter-entwicklungsteam-detail-checkbox-neu').checked=false;
document.getElementById('mitarbeiter-entwicklungsteam-detail-textbox-studiengang').value=studiengang_kz;
document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-beginn').value=beginn;
document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-ende').value=ende;
@@ -1615,14 +1618,14 @@ function MitarbeiterEntwicklungsteamSpeichern()
{
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
studiengang_kz = document.getElementById('mitarbeiter-entwicklungsteam-detail-menulist-studiengang').value;
besqualcode = document.getElementById('mitarbeiter-entwicklungsteam-detail-menulist-besqual').value;
neu = document.getElementById('mitarbeiter-entwicklungsteam-detail-checkbox-neu').checked;
studiengang_kz_old = document.getElementById('mitarbeiter-entwicklungsteam-detail-textbox-studiengang').value;
beginn = document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-beginn').value;
ende = document.getElementById('mitarbeiter-entwicklungsteam-detail-datum-ende').value;
if(studiengang_kz=='')
{
alert('Bitte einen Studiengang auswaehlen');
@@ -1630,7 +1633,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
}
var tree = document.getElementById('mitarbeiter-tree');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Es ist kein Mitarbeiter ausgewaehlt');
return;
@@ -1642,9 +1645,9 @@ function MitarbeiterEntwicklungsteamSpeichern()
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'entwicklungsteamsave');
req.add('neu', neu);
req.add('studiengang_kz', studiengang_kz);
req.add('studiengang_kz_old', studiengang_kz_old);
@@ -1656,7 +1659,7 @@ function MitarbeiterEntwicklungsteamSpeichern()
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1684,33 +1687,33 @@ function MitarbeiterEntwicklungsteamLoeschen()
{
//Daten laden
tree = document.getElementById('mitarbeiter-tree-entwicklungsteam');
if (tree.currentIndex==-1)
if (tree.currentIndex==-1)
{
alert('Es wurde keine Eintrag ausgewaehlt');
return false;
}
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-studiengang_kz"] : "mitarbeiter-entwicklungsteam-treecol-studiengang_kz";
studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
col = tree.columns ? tree.columns["mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid"] : "mitarbeiter-entwicklungsteam-treecol-mitarbeiter_uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
if(confirm("Wollen Sie diesen Eintrag wirklich loeschen?"))
{
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'entwicklungsteamdelete');
req.add('studiengang_kz', studiengang_kz);
req.add('mitarbeiter_uid', mitarbeiter_uid);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -1769,7 +1772,7 @@ function MitarbeiterFunktionIFrameUnLoad()
function MitarbeiterGenerateGebDatFromSVNR()
{
var svnr = document.getElementById('mitarbeiter-detail-textbox-svnr').value;
if(svnr!='' && svnr.length==10)
document.getElementById('mitarbeiter-detail-textbox-geburtsdatum').value = svnr.charAt(4) + svnr.charAt(5) + "." + svnr.charAt(6) + svnr.charAt(7) + ".19" + svnr.charAt(8) + svnr.charAt(9);
}
@@ -1785,23 +1788,23 @@ function MitarbeiterSuche()
if(!confirm('Achtung! Die Daten wurden veraendert aber noch nicht gespeichert. Neuen Datensatz trotzdem laden? (Die geaenderten Daten gehen dabei verloren)'))
return false;
}
MitarbeiterDetailValueChanged=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
filter = document.getElementById('mitarbeiter-toolbar-textbox-suche').value;
var treeMitarbeiterMenu=document.getElementById('tree-menu-mitarbeiter');
treeMitarbeiterMenu.currentIndex=-1;
treeMitarbeiterMenu.view.selection.clearSelection();
//Wenn mehr als 2 Zeichen eingegeben wurden, die Personensuche starten
if(filter.length>2)
{
//Datasource setzen und Felder deaktivieren
url = "<?php echo APP_ROOT; ?>rdf/personal.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
var treeMitarbeiter=document.getElementById('mitarbeiter-tree');
try
{
MitarbeiterTreeDatasource.removeXMLSinkObserver(MitarbeiterTreeSinkObserver);
@@ -1809,7 +1812,7 @@ function MitarbeiterSuche()
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeMitarbeiter.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -1817,7 +1820,7 @@ function MitarbeiterSuche()
treeMitarbeiter.database.RemoveDataSource(oldDatasources.getNext());
}
treeMitarbeiter.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
MitarbeiterTreeDatasource = rdfService.GetDataSource(url);
MitarbeiterTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -1825,12 +1828,12 @@ function MitarbeiterSuche()
treeMitarbeiter.database.AddDataSource(MitarbeiterTreeDatasource);
MitarbeiterTreeDatasource.addXMLSinkObserver(MitarbeiterTreeSinkObserver);
treeMitarbeiter.builder.addListener(MitarbeiterTreeListener);
//Detailfelder Deaktivieren
MitarbeiterDetailDisableFields(true);
}
else
alert('Es muessen mindestens 3 Zeichen eingegeben werden');
alert('Es muessen mindestens 3 Zeichen eingegeben werden');
}
function MitarbeiterImageInfomail()
+113 -87
View File
@@ -20,7 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/* Erstellt diverse Dokumente
*
*
* Erstellt ein XML File Transformiert dieses mit
* Hilfe der XSL-FO Vorlage aus der DB und generiert
* daraus ein PDF mittels xslfo2pdf bzw unoconv
@@ -61,7 +61,7 @@ else
// Studiengang ermitteln dessen Vorlage verwendet werden soll
$xsl_stg_kz=0;
// Direkte uebergabe des Studienganges dessen Vorlage verwendet werden soll
if(isset($_GET['xsl_stg_kz']))
if(isset($_GET['xsl_stg_kz']))
$xsl_stg_kz=$_GET['xsl_stg_kz'];
else
{
@@ -70,13 +70,13 @@ else
$xsl_stg_kz=$_GET['stg_kz'];
else
{
// Werden UIDs uebergeben, wird die Vorlage des Studiengangs genommen
// Werden UIDs uebergeben, wird die Vorlage des Studiengangs genommen
// in dem der 1. Studierende in der Liste ist
if(isset($_GET['uid']) && $_GET['uid']!='')
{
if(strstr($_GET['uid'],';'))
$uids = explode(';',$_GET['uid']);
else
else
$uids[1] = $_GET['uid'];
$student_obj = new student();
@@ -97,7 +97,7 @@ $params='?xmlformat=xml';
if(isset($_GET['uid']))
$params.='&uid='.urlencode($_GET['uid']);
if(isset($_GET['stg_kz']))
$params.='&stg_kz='.urlencode($_GET['stg_kz']);
$params.='&stg_kz='.urlencode($_GET['stg_kz']);
if(isset($_GET['person_id']))
$params.='&person_id='.urlencode($_GET['person_id']);
if(isset($_GET['id']))
@@ -122,7 +122,7 @@ if(isset($_GET['projekt_kurzbz']))
$params.='&projekt_kurzbz='.urlencode($_GET['projekt_kurzbz']);
if(isset($_GET['version']) && is_numeric($_GET['version']))
$version = $_GET['version'];
else
else
$version ='';
if(isset($_GET['von']))
$params.='&von='.urlencode($_GET['von']);
@@ -147,6 +147,12 @@ if(isset($_GET['vertrag_id']))
}
if(isset($_GET['studienordnung_id']))
$params.='&studienordnung_id='.urlencode($_GET['studienordnung_id']);
if(isset($_GET['fixangestellt']))
$params.='&fixangestellt='.urlencode($_GET['fixangestellt']);
if(isset($_GET['standort']))
$params.='&standort='.urlencode($_GET['standort']);
if(isset($_GET['form']))
$params.='&form='.urlencode($_GET['form']);
$output = (isset($_GET['output'])?$_GET['output']:'odt');
$rechte = new benutzerberechtigung();
@@ -205,7 +211,7 @@ elseif(in_array($xsl,array('Lehrveranstaltungszeugnis','Zertifikat','Diplomurkun
'DiplSupplement','Zutrittskarte','Projektbeschr','Ausbildungsver','AusbildStatus','PrProtBA','PrProtMA',
'PrProtBAEng','PrProtMAEng','Studienordnung','Erfolgsnachweis','ErfolgsnwHead','Studienblatt','LV_Informationen',
'LVZeugnis','AnwListBarcode','Honorarvertrag','AusbVerEng','AusbVerEngHead','Zeugnis','ErfolgsnachweisE','ErfolgsnwHeadE','Magisterurkunde','Masterurkunde',
'Defensiourkunde','Magisterzeugnis','Laufzettel','StudienblattEng','Zahlung1')))
'Defensiourkunde','Magisterzeugnis','Laufzettel','StudienblattEng','Zahlung1','Terminliste','Studienbuchblatt','Veranstaltungen')))
{
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
{
@@ -267,8 +273,8 @@ foreach($addons->aktive_addons as $addon)
}
if(!$xml_found)
$xml_url=XML_ROOT.$xml.$params;
// Load the XML source
$xml_doc = new DOMDocument;
@@ -306,19 +312,19 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$filename=$xsl.$nachname;
if (!isset($_REQUEST["archive"]))
{
{
if(mb_strstr($vorlage->mimetype, 'application/vnd.oasis.opendocument'))
{
switch($vorlage->mimetype)
{
case 'application/vnd.oasis.opendocument.text':
$endung = 'odt';
break;
break;
case 'application/vnd.oasis.opendocument.spreadsheet':
$endung = 'ods';
break;
$endung = 'ods';
break;
default:
$endung = 'pdf';
$endung = 'pdf';
}
// Load the XSL source
@@ -326,11 +332,11 @@ if (!isset($_REQUEST["archive"]))
if(!$xsl_doc->loadXML($xsl_content))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
//echo $buffer;
//exit;
@@ -340,20 +346,30 @@ if (!isset($_REQUEST["archive"]))
file_put_contents('content.xml', $buffer);
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']) || $vorlage->style!='')
{
$style_xsl=$_GET['style_xsl'];
$style_vorlage = new vorlage();
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($style_vorlage->text))
die('unable to load xsl');
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
if($vorlage->style!='')
{
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($vorlage->style))
die('unable to load xsl from tbl_vorlagestudiengang');
}
else
{
$style_xsl=$_GET['style_xsl'];
$style_vorlage = new vorlage();
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($style_vorlage->text))
die('unable to load xsl');
}
// Configure the transformer
$style_proc = new XSLTProcessor;
$style_proc->importStyleSheet($style_xsl_doc); // attach the xsl rules
$stylebuffer = $style_proc->transformToXml($xml_doc);
file_put_contents('styles.xml', $stylebuffer);
@@ -365,7 +381,7 @@ if (!isset($_REQUEST["archive"]))
foreach($addons->aktive_addons as $addon)
{
$zipfile = DOC_ROOT.'addons/'.$addon.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
if(file_exists($zipfile))
{
$vorlage_found=true;
@@ -374,19 +390,19 @@ if (!isset($_REQUEST["archive"]))
}
if(!$vorlage_found)
$zipfile = DOC_ROOT.'system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
$tempname_zip = 'out.zip';
if(copy($zipfile, $tempname_zip))
{
exec("zip $tempname_zip content.xml");
if(isset($_GET['style_xsl']))
if(isset($_GET['style_xsl']) || $vorlage->style!='')
exec("zip $tempname_zip styles.xml");
clearstatcache();
clearstatcache();
if($vorlage->bezeichnung!='')
$filename = $vorlage->bezeichnung.$nachname;
else
else
$filename = $vorlage->vorlage_kurzbz.$nachname;
if($output == 'pdf')
{
@@ -415,12 +431,12 @@ if (!isset($_REQUEST["archive"]))
$filename = $filename.'.pdf';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
else if($output =='odt')
{
@@ -434,8 +450,8 @@ if (!isset($_REQUEST["archive"]))
$handle = fopen($tempname_zip,'r');
header('Content-type: '.$vorlage->mimetype);
header('Content-Disposition: attachment; filename="'.$filename.'.'.$endung.'"');
header('Content-Length: '.$fsize);
}
header('Content-Length: '.$fsize);
}
else if($output =='doc')
{
$tempPdfName = $vorlage->vorlage_kurzbz.'.doc';
@@ -445,26 +461,26 @@ if (!isset($_REQUEST["archive"]))
$studienordnung->loadStudienordnung($_GET['studienordnung_id']);
$filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.doc';
}
else
else
{
$filename = $filename.'.doc';
}
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > $tempPdfName");
$fsize = filesize($tempPdfName);
$fsize = filesize($tempPdfName);
$handle = fopen($tempPdfName,'r');
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Length: '.$fsize);
header('Content-Length: '.$fsize);
}
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
fclose($handle);
unlink('content.xml');
if(isset($_GET['style_xsl']))
if(isset($_GET['style_xsl']) || $vorlage->style!='')
unlink('styles.xml');
unlink($tempname_zip);
if($output=='pdf' || $output=='doc')
@@ -472,7 +488,7 @@ if (!isset($_REQUEST["archive"]))
rmdir($tempfolder);
}
}
else
else
{
if(PDF_CREATE_FUNCTION=='FOP')
{
@@ -482,20 +498,20 @@ if (!isset($_REQUEST["archive"]))
//$xsl='foobar';
$fop->generatePdf($xml, $xsl_content, $filename, "D");
}
else
else
{
$fo2pdf = new XslFo2Pdf();
// Load the XSL source
$xsl_doc = new DOMDocument;
if(!$xsl_doc->loadXML($xsl_content))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
if (!$fo2pdf->generatePdf($buffer, $filename, "D"))
{
@@ -521,15 +537,15 @@ else
$prestudent->getLastStatus($student->prestudent_id,$ss);
$semester=$prestudent->ausbildungssemester;
$query = "SELECT
tbl_studiengang.studiengang_kz, tbl_studentlehrverband.semester, tbl_studiengang.typ,
tbl_studiengang.kurzbz, tbl_person.person_id FROM tbl_person, tbl_benutzer,
tbl_studentlehrverband, tbl_studiengang
WHERE
tbl_studentlehrverband.student_uid = tbl_benutzer.uid
AND tbl_benutzer.person_id = tbl_person.person_id
AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz
AND tbl_studentlehrverband.student_uid = ".$db->db_add_param($uid)."
$query = "SELECT
tbl_studiengang.studiengang_kz, tbl_studentlehrverband.semester, tbl_studiengang.typ,
tbl_studiengang.kurzbz, tbl_person.person_id FROM tbl_person, tbl_benutzer,
tbl_studentlehrverband, tbl_studiengang
WHERE
tbl_studentlehrverband.student_uid = tbl_benutzer.uid
AND tbl_benutzer.person_id = tbl_person.person_id
AND tbl_studentlehrverband.studiengang_kz = tbl_studiengang.studiengang_kz
AND tbl_studentlehrverband.student_uid = ".$db->db_add_param($uid)."
AND tbl_studentlehrverband.studiensemester_kurzbz = ".$db->db_add_param($ss);
if($result = $db->db_query($query))
@@ -565,12 +581,12 @@ else
{
case 'application/vnd.oasis.opendocument.text':
$endung = 'odt';
break;
break;
case 'application/vnd.oasis.opendocument.spreadsheet':
$endung = 'ods';
break;
$endung = 'ods';
break;
default:
$endung = 'pdf';
$endung = 'pdf';
}
// Load the XSL source
@@ -578,11 +594,11 @@ else
if(!$xsl_doc->loadXML($xsl_content))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
//echo $buffer;
//exit;
@@ -592,20 +608,30 @@ else
file_put_contents('content.xml', $buffer);
// Wenn ein Style XSL uebergeben wurde wird ein zweites XML File erstellt mit den
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
// Styleanweisungen und ebenfalls zum Zip hinzugefuegt
if(isset($_GET['style_xsl']))
{
$style_xsl=$_GET['style_xsl'];
$style_vorlage = new vorlage();
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($style_vorlage->text))
die('unable to load xsl');
//Wenn die Spalte style in der DB befuellt ist, wird dieses verwendet
if($vorlage->style!='')
{
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($vorlage->style))
die('unable to load xsl from tbl_vorlagestudiengang');
}
else
{
$style_xsl=$_GET['style_xsl'];
$style_vorlage = new vorlage();
$style_vorlage->getAktuelleVorlage($xsl_stg_kz, $style_xsl, $version);
$style_xsl_doc = new DOMDocument;
if(!$style_xsl_doc->loadXML($style_vorlage->text))
die('unable to load xsl');
}
// Configure the transformer
$style_proc = new XSLTProcessor;
$style_proc->importStyleSheet($style_xsl_doc); // attach the xsl rules
$stylebuffer = $style_proc->transformToXml($xml_doc);
file_put_contents('styles.xml', $stylebuffer);
@@ -617,7 +643,7 @@ else
foreach($addons->aktive_addons as $addon)
{
$zipfile = DOC_ROOT.'addons/'.$addon.'/system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
if(file_exists($zipfile))
{
$vorlage_found=true;
@@ -626,19 +652,19 @@ else
}
if(!$vorlage_found)
$zipfile = DOC_ROOT.'system/vorlage_zip/'.$vorlage->vorlage_kurzbz.'.'.$endung;
$tempname_zip = 'out.zip';
if(copy($zipfile, $tempname_zip))
{
exec("zip $tempname_zip content.xml");
if(isset($_GET['style_xsl']))
if(isset($_GET['style_xsl']) || $vorlage->style!='')
exec("zip $tempname_zip styles.xml");
clearstatcache();
clearstatcache();
$tempPdfName = $vorlage->vorlage_kurzbz.'.pdf';
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > $tempPdfName");
}
$file = $tempfolder.'/'.$tempPdfName;
}
@@ -649,23 +675,23 @@ else
$fop = new fop();
$file = $fop->generatePdf($xml_doc->saveXML(), $xsl_content, $filename, "F");
}
else
else
{
$filename = $user;
$fo2pdf = new XslFo2Pdf();
// Load the XSL source
$xsl_doc = new DOMDocument;
if(!$xsl_doc->loadXML($xsl_content))
die('unable to load xsl');
// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl_doc); // attach the xsl rules
$buffer = $proc->transformToXml($xml_doc);
if (!$fo2pdf->generatePdf($buffer, $filename, 'F'))
{
echo('Failed to generate PDF');
@@ -673,13 +699,13 @@ else
$file = "/tmp/".$filename.".pdf";
}
}
$handle = fopen($file, "rb");
$string = fread($handle, filesize($file));
fclose($handle);
//$string = file_get_contents($file);
unlink($file);
$hex="";
//for ($i=0;$i<mb_strlen($string);$i++)
// $hex.=(mb_strlen(dechex(ord(mb_substr($string,$i,1)))<2)? "0".dechex(ord(mb_substr($string,$i,1))): dechex(ord(mb_substr($string,$i,1))));
+1 -1
View File
@@ -61,7 +61,7 @@ if($studiensemester_kurzbz != -1)
FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id)
JOIN public.tbl_prestudentstatus ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentstatus.prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE status_kurzbz='Absolvent' AND typ!='m'
WHERE status_kurzbz='Absolvent' AND typ!='m' AND studiengang_kz<10000
AND public.tbl_person.person_id IN(SELECT public.tbl_person.person_id FROM public.tbl_person
JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id)
JOIN public.tbl_prestudentstatus ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentstatus.prestudent_id)
+29 -10
View File
@@ -30,6 +30,7 @@ require_once('../../include/lehrstunde.class.php');
require_once('../../include/datum.class.php');
require_once('../../include/stunde.class.php');
require_once('../../include/Excel/excel.php');
require_once('../../include/benutzer.class.php');
$user = get_uid();
$variable = new variable();
@@ -56,12 +57,15 @@ $lehrveranstaltung_id = filter_input(INPUT_GET, 'lehrveranstaltung_id');
$lehreinheit_id = filter_input(INPUT_GET, 'lehreinheit_id');
$mitarbeiter_uid = filter_input(INPUT_GET,'mitarbeiter_uid');
$student_uid = filter_input(INPUT_GET,'student_uid');
$db_stpl_table = filter_input(INPUT_GET,'db_stpl_table');
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
$db_stpl_table='stundenplan';
$db = new basis_db();
$lehrstunde = new lehrstunde();
//$variable->variable->db_stpl_table
$lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
$lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
function writecol($zeile, $i, $content)
{
@@ -70,7 +74,7 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable-
if(mb_strlen($content)>$maxlength[$i])
$maxlength[$i]=mb_strlen($content);
}
$maxlength= array();
$zeile=1;
@@ -83,7 +87,7 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable-
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Termine");
$worksheet->setInputEncoding('utf-8');
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
@@ -91,10 +95,10 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable-
$format_title->setBold();
// let's merge
$format_title->setAlign('merge');
//Zeilenueberschriften ausgeben
//Zeilenueberschriften ausgeben
$headline=array('Datum','Von','Bis','Ort','Lektoren','Gruppen','Lehrfach','StundeVon','StundeBis');
$i=0;
foreach ($headline as $title)
{
@@ -103,26 +107,41 @@ $lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable-
$i++;
}
$lektoren_arr=array();
foreach($lehrstunde->result as $row)
{
$i=0;
writecol($zeile, $i++, $datum_obj->formatDatum($row->datum,'d.m.Y'));
writecol($zeile, $i++, $stunden_arr[$row->stundevon]['beginn']);
writecol($zeile, $i++, $stunden_arr[$row->stundebis]['ende']);
writecol($zeile, $i++, implode(',',$row->orte));
writecol($zeile, $i++, implode(',',$row->lektoren));
$lektoren='';
foreach($row->lektoren as $rowlkt)
{
if(!isset($lektoren_arr[$rowlkt]))
{
$lkt_obj = new benutzer();
$lkt_obj->load($rowlkt);
$lektoren_arr[$rowlkt]=$lkt_obj->nachname.' '.$lkt_obj->vorname;
}
$lektoren .=",".$lektoren_arr[$rowlkt];
}
$lektoren = mb_substr($lektoren,1);
writecol($zeile, $i++, $lektoren);
writecol($zeile, $i++, implode(',',$row->gruppen));
writecol($zeile, $i++, $row->lehrfach_bezeichnung);
writecol($zeile, $i++, $row->stundevon);
writecol($zeile, $i++, $row->stundebis);
$zeile++;
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
?>
File diff suppressed because it is too large Load Diff
+7 -2
View File
@@ -46,8 +46,8 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<popupset>
<menupopup id="student-noten-tree-popup">
<menuitem label="Entfernen" oncommand="StudentNotenDelete();" id="student-noten-tree-popup-delete" hidden="false"/>
<menuitem label="Zertifikat erstellen" oncommand="StudentFFZertifikatPrint();" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint();" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
<menuitem label="Zertifikat erstellen" oncommand="StudentFFZertifikatPrint(event);" id="student-noten-tree-popup-ffzertifikat" hidden="false"/>
<menuitem label="Lehrveranstaltungszeugnis erstellen" oncommand="StudentLVZeugnisPrint(event);" id="student-noten-tree-popup-lvzeugnis" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1" style="margin-top: 10px;">
@@ -60,6 +60,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
flags="dont-build-content"
>
<treecols>
<treecol id="student-noten-tree-zeugnis" label="Zeugnis" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator" tooltiptext="Zeugnisoption deaktiviert"
sort="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#Zeugnis"/>
<splitter class="tree-splitter"/>
<treecol id="student-noten-tree-lehrveranstaltung_bezeichnung" label="Lehrveranstaltung" flex="2" hidden="false" primary="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sortActive="true"
@@ -136,6 +140,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell src="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#zeugnis"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#lehrveranstaltung_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#note_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/zeugnisnote/rdf#uebernahmedatum"/>
+19 -4
View File
@@ -394,7 +394,7 @@ function StudentTreeKeyPress(event)
// ****
// * Erstellt das Zertifikat fuer die Freifaecher
// ****
function StudentFFZertifikatPrint()
function StudentFFZertifikatPrint(event)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -411,7 +411,14 @@ function StudentFFZertifikatPrint()
col = tree.columns ? tree.columns["student-noten-tree-studiengang_kz"] : "student-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid=;'+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=zertifikat.rdf.php&xsl=Zertifikat&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
// alert('url: '+url);
window.location.href = url;
@@ -420,7 +427,7 @@ function StudentFFZertifikatPrint()
//****
//* Erstellt ein Lehrveranstaltungszeugnis fuer die LV
//****
function StudentLVZeugnisPrint()
function StudentLVZeugnisPrint(event)
{
// netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -437,7 +444,15 @@ function StudentLVZeugnisPrint()
col = tree.columns ? tree.columns["student-noten-tree-studiengang_kz"] : "student-noten-tree-studiengang_kz";
stg_kz = tree.view.getCellText(tree.currentIndex,col);
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid=;'+uid+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
if (event.shiftKey)
var output='odt';
else if (event.ctrlKey)
var output='doc';
else
var output='pdf';
url = '<?php echo APP_ROOT; ?>content/pdfExport.php?xml=lehrveranstaltungszeugnis.rdf.php&xsl=LVZeugnis&stg_kz='+stg_kz+'&uid=;'+uid+'&output='+output+'&ss='+stsem+'&lvid='+lvid+'&'+gettimestamp();
window.location.href = url;
}
+59 -14
View File
@@ -24,52 +24,97 @@ var TermineLehreinheitID='';
var TermineLehrveranstaltungID='';
var TermineMitarbeiterUID='';
var TermineStudentUID='';
var TermineStundenplanTable='stundenplan';
// ****
// * Laedt die Trees
// ****
function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, student_uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
TermineLehreinheitID=lehreinheit_id;
TermineLehrveranstaltungID=lehrveranstaltung_id;
TermineMitarbeiterUID=mitarbeiter_uid;
TermineStudentUID=student_uid;
// Stundenplan Tabelle aus Variablen holen
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
TermineSetSTPLTable(TermineStundenplanTable);
TermineLoadTree();
}
function TermineLoadTree()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Termine laden
url = "<?php echo APP_ROOT; ?>rdf/termine.rdf.php?ts="+gettimestamp();
if(lehreinheit_id!='')
url=url+"&lehreinheit_id="+lehreinheit_id;
if(lehrveranstaltung_id!='')
url=url+"&lehrveranstaltung_id="+lehrveranstaltung_id;
if(mitarbeiter_uid!='')
url=url+"&mitarbeiter_uid="+mitarbeiter_uid;
if(student_uid!='')
url=url+"&student_uid="+student_uid;
if(TermineLehreinheitID!='')
url=url+"&lehreinheit_id="+TermineLehreinheitID;
if(TermineLehrveranstaltungID!='')
url=url+"&lehrveranstaltung_id="+TermineLehrveranstaltungID;
if(TermineMitarbeiterUID!='')
url=url+"&mitarbeiter_uid="+TermineMitarbeiterUID;
if(TermineStudentUID!='')
url=url+"&student_uid="+TermineStudentUID;
url=url+"&db_stpl_table="+TermineStundenplanTable;
var treeTermine=document.getElementById('termine-tree');
//Alte DS entfernen
var oldDatasources = treeTermine.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeTermine.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var TerminTreeDatasource = rdfService.GetDataSource(url);
TerminTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
treeTermine.database.AddDataSource(TerminTreeDatasource);
}
function TermineChangeSTPLTable()
{
var checkState = document.getElementById('termine-button-stpltable').checked;
if(checkState==true)
{
TermineSetSTPLTable('stundenplandev');
setVariable('termin_export_db_stpl_table','stundenplandev');
}
else
{
TermineSetSTPLTable('stundenplan');
setVariable('termin_export_db_stpl_table','stundenplan');
}
TermineLoadTree();
}
/**
* Aendert die Stundenplantabelle fuer den TermineExport
*/
function TermineSetSTPLTable(db_stpl_table)
{
var button = document.getElementById('termine-button-stpltable');
if(db_stpl_table=='stundenplandev')
{
button.label='StundenplanDEV';
button.checked=true;
TermineStundenplanTable='stundenplandev';
}
else
{
button.label='Stundenplan';
button.checked=false;
TermineStundenplanTable='stundenplan';
}
}
/**
* Exportiert die Termine
*/
function TermineExport()
{
var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID;
var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID+'&db_stpl_table='+TermineStundenplanTable;
window.open(url);
}
+8 -4
View File
@@ -49,7 +49,11 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
<vbox flex="1">
<groupbox id="termine-groupbox-termine" flex="1">
<caption label="Termine" />
<hbox flex="1">
<vbox flex="1">
<hbox>
<spacer flex="1" />
<button type="checkbox" id="termine-button-stpltable" label="Stundenplan" oncommand="TermineChangeSTPLTable();"/>
</hbox>
<tree id="termine-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/termine"
persist="hidden, height"
@@ -100,12 +104,12 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
sort="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treerow properties="rdf:http://www.technikum-wien.at/termine/rdf#kollision">
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#stundevon" />
<treecell label="rdf:http://www.technikum-wien.at/termine/rdf#stundebis" />
@@ -123,7 +127,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
</rule>
</template>
</tree>
</hbox>
</vbox>
</groupbox>
<button label="Exportieren" oncommand="TermineExport()"/>
</vbox>
+59 -61
View File
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -28,7 +28,7 @@ class abschlusspruefung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $abschlusspruefung_id;
public $student_uid;
@@ -48,7 +48,7 @@ class abschlusspruefung extends basis_db
public $insertamum;
public $insertvon;
public $ext_id;
/**
* Konstruktor
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
@@ -56,11 +56,11 @@ class abschlusspruefung extends basis_db
public function __construct($abschlusspruefung_id=null)
{
parent::__construct();
if(!is_null($abschlusspruefung_id))
$this->load($abschlusspruefung_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
@@ -73,15 +73,15 @@ class abschlusspruefung extends basis_db
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -105,9 +105,9 @@ class abschlusspruefung extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
return true;
}
else
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
@@ -119,7 +119,7 @@ class abschlusspruefung extends basis_db
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
@@ -133,21 +133,21 @@ class abschlusspruefung extends basis_db
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
@@ -172,7 +172,7 @@ class abschlusspruefung extends basis_db
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -185,14 +185,14 @@ class abschlusspruefung extends basis_db
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
ext_id, note) VALUES (".
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion,
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
note) VALUES (".
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->vorsitz).', '.
$this->db_add_param($this->pruefer1).', '.
@@ -208,11 +208,10 @@ class abschlusspruefung extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->note, FHC_INTEGER).');';
}
else
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
@@ -229,11 +228,10 @@ class abschlusspruefung extends basis_db
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
" anmerkung=".$this->db_add_param($this->anmerkung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" ext_id=".$this->db_add_param($this->ext_id, FHC_INTEGER).
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($new)
@@ -247,31 +245,31 @@ class abschlusspruefung extends basis_db
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
else
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Abschlusspruefungen eines Studenten
* @param student_uid UID des Studenten
@@ -279,20 +277,20 @@ class abschlusspruefung extends basis_db
*/
public function getAbschlusspruefungen($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new abschlusspruefung();
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
$obj->student_uid = $row->student_uid;
$obj->vorsitz = $row->vorsitz;
@@ -312,33 +310,33 @@ class abschlusspruefung extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
$qry = "SELECT
*
FROM
lehre.tbl_abschlusspruefung
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -362,16 +360,16 @@ class abschlusspruefung extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
}
?>
+60 -9
View File
@@ -56,7 +56,7 @@ class adresse extends basis_db
public function __construct($adresse_id=null)
{
parent::__construct();
if(!is_null($adresse_id))
$this->load($adresse_id);
}
@@ -160,13 +160,13 @@ class adresse extends basis_db
}
return true;
}
/**
* Laedt alle Adressen zu der Firma die uebergeben wird
*
*
* ACHTUNG: Diese Funktion wird nur mehr fuer Lehrauftraege benoetigt.
* Die Adresse zu einer Firma wird nun ueber die Tabelle Standort hergestellt!
*
*
* @deprec 2.0
* @param $firma_id ID der Firma zu der die Adressen geladen werden sollen
* @return true wenn ok, false im Fehlerfall
@@ -262,7 +262,7 @@ class adresse extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -279,7 +279,7 @@ class adresse extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, ext_id) VALUES('.
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->strasse).', '.
@@ -292,8 +292,7 @@ class adresse extends basis_db
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->updatevon).');';
}
else
{
@@ -319,7 +318,7 @@ class adresse extends basis_db
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -384,5 +383,57 @@ class adresse extends basis_db
return false;
}
}
/**
* Laedt die Zustell Adresse einer Person
* @param $person_id ID der Person
* @return true wenn ok, false im Fehlerfall
*/
public function loadZustellAdresse($person_id)
{
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($person_id) || $person_id == '')
{
$this->errormsg = 'PersonID muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER, false)."
ORDER BY zustelladresse DESC LIMIT 1";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->adresse_id = $row->adresse_id;
$this->heimatadresse = $this->db_parse_bool($row->heimatadresse);
$this->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->nation = $row->nation;
$this->ort = $row->ort;
$this->person_id = $row->person_id;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->firma_id = $row->firma_id;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
}
?>
+64 -66
View File
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -25,7 +25,7 @@ class akte extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $akte_id;
public $person_id;
@@ -40,14 +40,14 @@ class akte extends basis_db
public $updatevon;
public $insertamum;
public $insertvon;
public $uid;
public $uid;
public $ext_id;
public $dms_id;
public $nachgereicht;
public $anmerkung;
public $titel_intern;
public $anmerkung_intern;
public $nachgereicht;
public $anmerkung;
public $titel_intern;
public $anmerkung_intern;
/**
* Konstruktor
* @param akte_id ID des zu ladenden Datensatzes
@@ -59,7 +59,7 @@ class akte extends basis_db
if(!is_null($akte_id))
$this->load($akte_id);
}
/**
* Laedt einen Datensatz
* @param akte_id ID des zu ladenden Datensatzes
@@ -72,10 +72,10 @@ class akte extends basis_db
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -95,13 +95,13 @@ class akte extends basis_db
$this->insertvon = $row->insertvon;
$this->uid = $row->uid;
$this->dms_id = $row->dms_id;
$this->anmerkung = $row->anmerkung;
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$this->titel_intern = $row->titel_intern;
$this->anmerkung_intern = $row->anmerkung_intern;
return true;
$this->anmerkung = $row->anmerkung;
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$this->titel_intern = $row->titel_intern;
$this->anmerkung_intern = $row->anmerkung_intern;
return true;
}
else
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
@@ -113,7 +113,7 @@ class akte extends basis_db
return false;
}
}
/**
* Loescht einen Datensatz
* @param akte_id ID des zu loeschenden Datensatzes
@@ -127,21 +127,21 @@ class akte extends basis_db
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Löschen';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
*
@@ -162,7 +162,7 @@ class akte extends basis_db
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -173,15 +173,15 @@ class akte extends basis_db
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
bezeichnung, updateamum, updatevon, insertamum, insertvon, ext_id, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->dokument_kurzbz).', '.
$this->db_add_param($this->inhalt).', '.
@@ -194,16 +194,15 @@ class akte extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->uid).','.
$this->db_add_param($this->dms_id, FHC_INTEGER).','.
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->titel_intern).','.
$this->db_add_param($this->anmerkung_intern).');';
}
else
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE public.tbl_akte SET".
@@ -217,7 +216,6 @@ class akte extends basis_db
" bezeichnung=".$this->db_add_param($this->bezeichnung).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" ext_id=".$this->db_add_param($this->ext_id).",".
" uid=".$this->db_add_param($this->uid).",".
" dms_id=".$this->db_add_param($this->dms_id, FHC_INTEGER).",".
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
@@ -226,7 +224,7 @@ class akte extends basis_db
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($new)
@@ -247,36 +245,36 @@ class akte extends basis_db
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
else
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Liefert die Akten einer Person
*
* @param $person_id
* @param $dokument_kurzbz
* @param $stg_kz -> wenn gesetzt werden nur Akten angezeigt die ZUSÄTZLICH zum Studiengang abgegeben worden sind ohne Zeugnis
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
* nicht mehr angezeigt werden
* @return true wenn ok, sonst false
*/
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id= null)
{
$qry = "SELECT
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
@@ -284,21 +282,21 @@ class akte extends basis_db
if($dokument_kurzbz!=null)
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
if($stg_kz != null && $prestudent_id != null)
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
$qry.=" ORDER BY erstelltam";
$this->errormsg = $qry;
$this->errormsg = $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
@@ -315,23 +313,23 @@ class akte extends basis_db
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Liefert die Akten die ein Outgoing sehen darf
*
@@ -340,21 +338,21 @@ class akte extends basis_db
*/
public function getAktenOutgoing($person_id)
{
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
$qry = "SELECT
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
$qry.=" ORDER BY erstelltam";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$akten = new akte();
$akten->akte_id = $row->akte_id;
$akten->person_id = $row->person_id;
$akten->dokument_kurzbz = $row->dokument_kurzbz;
@@ -370,21 +368,21 @@ class akte extends basis_db
$akten->insertvon = $row->insertvon;
$akten->uid = $row->uid;
$akten->dms_id = $row->dms_id;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
$akten->anmerkung = $row->anmerkung;
$akten->titel_intern = $row->titel_intern;
$akten->anmerkung_intern = $row->anmerkung_intern;
$this->result[] = $akten;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+39 -38
View File
@@ -21,6 +21,7 @@
* Klasse zur Verwaltung der Anwesenheiten der Studierenden
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/../config/global.config.inc.php');
class anwesenheit extends basis_db
{
@@ -42,7 +43,7 @@ class anwesenheit extends basis_db
public function __construct($anwesenheit_id=null)
{
parent::__construct();
if(!is_null($anwesenheit_id))
$this->load($anwesenheit_id);
}
@@ -113,7 +114,7 @@ class anwesenheit extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -154,7 +155,7 @@ class anwesenheit extends basis_db
' anmerkung='.$this->db_add_param($this->anmerkung).' '.
'WHERE anwesenheit_id='.$this->db_add_param($this->anwesenheit_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -200,13 +201,13 @@ class anwesenheit extends basis_db
*/
public function getAnwesenheitLehreinheit($lehreinheit_id, $datum=null)
{
$qry = "SELECT * FROM campus.tbl_anwesenheit
WHERE
$qry = "SELECT * FROM campus.tbl_anwesenheit
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
if(!is_null($datum))
$qry.=" AND datum=".$this->db_add_param($datum);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -220,7 +221,7 @@ class anwesenheit extends basis_db
$obj->anwesend = $this->db_parse_bool($row->anwesend);
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->anmerkung = $row->anmerkung;
$this->result[] = $obj;
}
return true;
@@ -234,16 +235,16 @@ class anwesenheit extends basis_db
public function loadAnwesenheitMitarbeiter($mitarbeiter_uid, $lehreinheit_id)
{
$qry = "SELECT
datum, a.einheiten,
(SELECT true FROM campus.tbl_anwesenheit
$qry = "SELECT
datum, a.einheiten,
(SELECT true FROM campus.tbl_anwesenheit
WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id)." AND datum=a.datum LIMIT 1) as anwesend,
(SELECT stundensatz FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid).") as stundensatz
FROM
(SELECT datum, count(stunde) as einheiten FROM lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
(SELECT datum, count(distinct stunde) as einheiten FROM lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)."
GROUP by datum) as a
";
@@ -277,7 +278,7 @@ class anwesenheit extends basis_db
}
else
{
$this->errormsg='Fehler beim Laden der Daten';
$this->errormsg='Fehler beim Laden der Daten';
return false;
}
}
@@ -316,12 +317,12 @@ class anwesenheit extends basis_db
*/
public function getAnwesenheitLehrveranstaltung($student_uid, $lehrveranstaltung_id, $studiensemester_kurzbz, $anwesend=false)
{
$qry = 'SELECT
distinct tbl_anwesenheit.*
FROM
$qry = 'SELECT
distinct tbl_anwesenheit.*
FROM
campus.tbl_anwesenheit
JOIN campus.vw_student_lehrveranstaltung USING(uid)
WHERE
WHERE
uid='.$this->db_add_param($student_uid).'
AND lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).'
AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
@@ -341,7 +342,7 @@ class anwesenheit extends basis_db
$obj->anwesend = $this->db_parse_bool($row->anwesend);
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->anmerkung = $row->anmerkung;
$this->result[] = $obj;
}
return true;
@@ -372,7 +373,7 @@ class anwesenheit extends basis_db
$result = $this->db_query($qry);
$ret_obj = array();
while($row = $this->db_fetch_object($result))
{
$ret_obj[] = $row;
@@ -384,11 +385,11 @@ class anwesenheit extends basis_db
public function getAmpel($anwesenheit_relativ)
{
if($anwesenheit_relativ < 70)
if($anwesenheit_relativ < FAS_ANWESENHEIT_ROT)
{
return 'red';
}
elseif($anwesenheit_relativ < 90)
elseif($anwesenheit_relativ < FAS_ANWESENHEIT_GELB)
{
return 'yellow';
}
@@ -407,13 +408,13 @@ class anwesenheit extends basis_db
*/
public function AnwesenheitExists($lehreinheit_id, $datum, $uid=null)
{
$qry = "SELECT
$qry = "SELECT
1
FROM
campus.tbl_anwesenheit
WHERE
FROM
campus.tbl_anwesenheit
WHERE
anwesend=true
AND lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND datum=".$this->db_add_param($datum);
if($uid!='')
@@ -446,12 +447,12 @@ class anwesenheit extends basis_db
public function loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid=null, $lehrveranstaltung_id=null)
{
$qry = "SELECT lehrveranstaltung_id, bezeichnung, vorname, nachname, uid, sum(anwesend) as anwesend, sum(nichtanwesend) as nichtanwesend, sum(gesamtstunden) as gesamtstunden FROM (
SELECT
SELECT
lehrveranstaltung_id, bezeichnung, vorname, nachname, uid,
(
SELECT
sum(einheiten)
FROM
SELECT
sum(einheiten)
FROM
campus.tbl_anwesenheit
WHERE
lehreinheit_id=vw_student_lehrveranstaltung.lehreinheit_id
@@ -459,9 +460,9 @@ class anwesenheit extends basis_db
AND anwesend
) as anwesend,
(
SELECT
sum(einheiten)
FROM
SELECT
sum(einheiten)
FROM
campus.tbl_anwesenheit
WHERE
lehreinheit_id=vw_student_lehrveranstaltung.lehreinheit_id
@@ -469,11 +470,11 @@ class anwesenheit extends basis_db
AND NOT anwesend
) as nichtanwesend,
(
SELECT count(*) anzahl FROM
(SELECT datum, stunde FROM campus.vw_stundenplan
SELECT count(*) anzahl FROM
(SELECT datum, stunde FROM campus.vw_stundenplan
WHERE lehreinheit_id=vw_student_lehrveranstaltung.lehreinheit_id GROUP BY datum, stunde) as a
) as gesamtstunden
FROM
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id)
@@ -517,7 +518,7 @@ class anwesenheit extends basis_db
}
else
{
$this->errormsg='Fehler beim Laden der Daten';
$this->errormsg='Fehler beim Laden der Daten';
return false;
}
}
+26 -28
View File
@@ -15,12 +15,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse aufmerksamdurch
* Klasse aufmerksamdurch
* @create 02-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -29,13 +29,13 @@ class aufmerksamdurch extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $aufmerksamdurch_kurzbz;
public $beschreibung;
public $ext_id;
/**
* Konstruktor
* @param $aufmerksamdurch_kurzbz = ID (Default=null)
@@ -43,14 +43,14 @@ class aufmerksamdurch extends basis_db
public function __construct($aufmerksamdurch_kurzbz=null)
{
parent::__construct();
if(!is_null($aufmerksamdurch_kurzbz))
$this->load($aufmerksamdurch_kurzbz);
}
/**
* Laedt einen Datensatz
* @param $aufmerksam_kurzbz ID
* @param $aufmerksam_kurzbz ID
* @return true wenn ok, false im Fehlerfall
*/
public function load($aufmerksam_kurzbz)
@@ -58,7 +58,7 @@ class aufmerksamdurch extends basis_db
//noch nicht implementiert
return false;
}
/**
* Laedt alle Datansaetze
* @return true wenn ok, false im Fehlerfall
@@ -68,62 +68,60 @@ class aufmerksamdurch extends basis_db
$qry = "SELECT * FROM public.tbl_aufmerksamdurch";
if($orderby!='')
$qry .= " ORDER BY ".($orderby);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new aufmerksamdurch();
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
$obj->beschreibung = $row->beschreibung;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden';
return false;
return false;
}
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $schluessel_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_aufmerksamdurch (aufmerksamdurch_kurzbz, beschreibung, ext_id) VALUES('.
$qry='INSERT INTO public.tbl_aufmerksamdurch (aufmerksamdurch_kurzbz, beschreibung) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).', '.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->beschreibung).');';
}
else
{
{
$qry='UPDATE public.tbl_aufmerksamdurch SET '.
'beschreibung='.$this->db_add_param($this->beschreibung).', '.
'ext_id='.$this->db_add_param($this->ext_id).' '.
'beschreibung='.$this->db_add_param($this->beschreibung).' '.
'WHERE aufmerksamdurch_kurzbz='.$this->db_add_param($this->aufmerksamdurch_kurzbz).';';
}
if($this->db_query($qry))
{
return true;
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
}
?>
?>
+28 -30
View File
@@ -25,7 +25,7 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bankverbindung extends basis_db
class bankverbindung extends basis_db
{
public $new; // boolean
public $result = array(); // adresse Objekt
@@ -55,7 +55,7 @@ class bankverbindung extends basis_db
public function __construct($bankverbindung_id=null)
{
parent::__construct();
if(!is_null($bankverbindung_id))
$this->load($bankverbindung_id);
}
@@ -72,9 +72,9 @@ class bankverbindung extends basis_db
$this->errormsg = 'Bankverbindung_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE bankverbindung_id=".$this->db_add_param($bankverbindung_id);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -97,13 +97,13 @@ class bankverbindung extends basis_db
$this->oe_kurzbz = $row->oe_kurzbz;
return true;
}
else
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
@@ -148,7 +148,7 @@ class bankverbindung extends basis_db
$this->errormsg = 'IBAN darf nicht laenger als 32 Zeichen sein';
return false;
}
if(!is_numeric($this->person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
@@ -158,7 +158,7 @@ class bankverbindung extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -176,7 +176,7 @@ class bankverbindung extends basis_db
//Neuen Datensatz einfuegen
$qry = 'BEGIN;INSERT INTO public.tbl_bankverbindung (person_id, name, anschrift, blz, bic,
kontonr, iban, typ, ext_id, oe_kurzbz, verrechnung, insertamum, insertvon, updateamum, updatevon) VALUES('.
kontonr, iban, typ, oe_kurzbz, verrechnung, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anschrift).', '.
@@ -185,7 +185,6 @@ class bankverbindung extends basis_db
$this->db_add_param($this->kontonr).', '.
$this->db_add_param($this->iban).', '.
$this->db_add_param($this->typ).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->verrechnung, FHC_BOOLEAN).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
@@ -201,7 +200,7 @@ class bankverbindung extends basis_db
$this->errormsg = 'bankverbindung_id muss eine gueltige Zahl sein: '.$this->bankverbindung_id.' ('.$this->person_id.')';
return false;
}
$qry='UPDATE public.tbl_bankverbindung SET '.
'person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
'name='.$this->db_add_param($this->name).', '.
@@ -212,7 +211,6 @@ class bankverbindung extends basis_db
'iban='.$this->db_add_param($this->iban).', '.
'typ='.$this->db_add_param($this->typ).', '.
'verrechnung='.$this->db_add_param($this->verrechnung,FHC_BOOLEAN).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
'updateamum='.$this->db_add_param($this->updateamum).','.
'updatevon='.$this->db_add_param($this->updatevon).' '.
@@ -233,14 +231,14 @@ class bankverbindung extends basis_db
$this->db_query('COMMIT');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
@@ -268,18 +266,18 @@ class bankverbindung extends basis_db
$this->errormsg = 'Bankverbindung_id ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_bankverbindung WHERE bankverbindung_id=".$this->db_add_param($bankverbindung_id, FHC_INTEGER);
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Laedt die Bankverbindung einer Person
* @param $person_id
@@ -292,15 +290,15 @@ class bankverbindung extends basis_db
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new bankverbindung();
$obj->bankverbindung_id = $row->bankverbindung_id;
$obj->person_id = $row->person_id;
$obj->name = $row->name;
@@ -317,12 +315,12 @@ class bankverbindung extends basis_db
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
@@ -341,15 +339,15 @@ class bankverbindung extends basis_db
$this->errormsg = 'keine oe_kurzbz uebergeben';
return false;
}
$qry = "SELECT * FROM public.tbl_bankverbindung WHERE oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new bankverbindung();
$obj->bankverbindung_id = $row->bankverbindung_id;
$obj->person_id = $row->person_id;
$obj->name = $row->name;
@@ -366,16 +364,16 @@ class bankverbindung extends basis_db
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
}
?>
?>
+86 -87
View File
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -30,7 +30,7 @@ class benutzer extends person
public $bn_ext_id;
public $aktivierungscode;
public $result = array();
/**
* Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
* @param $uid Benutzer der geladen werden soll (default=null)
@@ -38,11 +38,11 @@ class benutzer extends person
public function __construct($uid=null)
{
parent::__construct();
if($uid != null)
$this->load($uid);
}
/**
* Laedt Benutzer mit der uebergebenen ID
* @param $uid ID der Person die geladen werden soll
@@ -50,7 +50,7 @@ class benutzer extends person
public function load($uid)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -62,24 +62,24 @@ class benutzer extends person
if(!person::load($row->person_id))
return false;
else
else
return true;
}
else
else
{
$this->errormsg = "Benutzer nicht gefunden";
return false;
}
}
}
else
else
{
$this->errormsg = "Fehler beim Laden der Benutzerdaten";
return false;
}
}
}
/**
* Prueft die Variablen vor dem Speichern
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
@@ -110,7 +110,7 @@ class benutzer extends person
$this->errormsg = 'aktiv muss ein boolscher wert sein';
return false;
}
if($this->alias!='')
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($this->alias)." AND uid!=".$this->db_add_param($this->uid);
@@ -122,7 +122,7 @@ class benutzer extends person
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Pruefen des Alias';
return false;
@@ -130,7 +130,7 @@ class benutzer extends person
}
return true;
}
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -145,17 +145,17 @@ class benutzer extends person
if(!person::save())
return false;
}
if($new==null)
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!benutzer::validate())
return false;
if($new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, ext_id, aktivierungscode) VALUES('.
$qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, aktivierungscode) VALUES('.
$this->db_add_param($this->uid).",".
$this->db_add_param($this->bnaktiv,FHC_BOOLEAN).",".
$this->db_add_param($this->alias).",".
@@ -164,11 +164,10 @@ class benutzer extends person
$this->db_add_param($this->insertvon).",".
$this->db_add_param($this->updateamum).",".
$this->db_add_param($this->updatevon).",".
$this->db_add_param($this->bn_ext_id).",".
$this->db_add_param($this->aktivierungscode).");";
}
else
{
{
//Wenn der Aktiv Status geaendert wurde, dann auch updateaktivamum und updateaktivvon setzen
$upd='';
$qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($this->uid);
@@ -177,12 +176,12 @@ class benutzer extends person
if($row = $this->db_fetch_object())
{
$aktiv = $this->db_parse_bool($row->aktiv);
if($aktiv!=$this->bnaktiv)
$upd =" updateaktivam=".$this->db_add_param($this->updateamum).", updateaktivvon=".$this->db_add_param($this->updatevon).",";
}
}
$qry = 'UPDATE public.tbl_benutzer SET'.
' aktiv='.$this->db_add_param($this->bnaktiv, FHC_BOOLEAN).','.
' alias='.$this->db_add_param($this->alias).','.
@@ -191,45 +190,45 @@ class benutzer extends person
' updatevon='.$this->db_add_param($this->updatevon).
' WHERE uid='.$this->db_add_param($this->uid).';';
}
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
else
{
$this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes';
return false;
}
}
/**
* Löscht den Benutzer mit der übergebenen uid. Da beim Speichern auch
* eine Person angelegt wird, muss eventuell auch diese gelöscht werden.
* Das kann durch Aufruf der geerbten Methode {@link person::delete()}
* eine Person angelegt wird, muss eventuell auch diese gelöscht werden.
* Das kann durch Aufruf der geerbten Methode {@link person::delete()}
* erledigt werden. Damit die Klasse Abwärtskombatibel bleibt, wurde die
* Methode delete() absichtlich nicht überschrieben.
* @param $uid
*/
public function deleteBenutzer($uid)
{
$qry = "DELETE from public.tbl_benutzer where uid = ".$this->db_add_param($uid).";";
{
$qry = "DELETE from public.tbl_benutzer where uid = ".$this->db_add_param($uid).";";
if($this->db_query($qry))
{
return true;
return true;
}
else
{
$this->errormsg = "Es ist ein Fehler beim Löschen des Benutzers aufgetreten";
return false;
$this->errormsg = "Es ist ein Fehler beim Löschen des Benutzers aufgetreten";
return false;
}
}
/**
* Prueft ob die UID bereits existiert
* @param uid
@@ -237,7 +236,7 @@ class benutzer extends person
public function uid_exists($uid)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
@@ -245,21 +244,21 @@ class benutzer extends person
$this->errormsg = '';
return true;
}
else
else
{
$this->errormsg = '';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler bei DatenbankAbfrage';
return false;
}
}
/**
* Prueft ob der alias bereits existiert
* @param $alias
@@ -267,7 +266,7 @@ class benutzer extends person
public function alias_exists($alias)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
@@ -275,23 +274,23 @@ class benutzer extends person
$this->errormsg = '';
return true;
}
else
else
{
$this->errormsg = '';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler bei DatenbankAbfrage';
return false;
}
}
/**
* Sucht nach Benutzern. Limit optional. Aktiv optional.
*
*
* @param $limit (optional)
* @param $aktiv (optional). Default true. Wenn false werden nur inaktive benutzer geladen, wenn null dann alle
*/
@@ -299,29 +298,29 @@ class benutzer extends person
{
$qry = "SELECT * FROM (
SELECT
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv,
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv,
(SELECT UPPER
(tbl_studiengang.typ || tbl_studiengang.kurzbz)
FROM public.tbl_student
JOIN public.tbl_studiengang USING(studiengang_kz)
FROM public.tbl_student
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE student_uid=tbl_benutzer.uid) as studiengang,
(SELECT studiengang_kz FROM public.tbl_student
(SELECT studiengang_kz FROM public.tbl_student
WHERE student_uid=tbl_benutzer.uid) as studiengang_kz,
(SELECT tbl_kontakt.kontakt || ' - ' ||telefonklappe
(SELECT tbl_kontakt.kontakt || ' - ' ||telefonklappe
FROM public.tbl_mitarbeiter
LEFT JOIN public.tbl_kontakt USING(standort_id)
WHERE
LEFT JOIN public.tbl_kontakt USING(standort_id)
WHERE
mitarbeiter_uid=tbl_benutzer.uid
AND (tbl_kontakt.kontakttyp='telefon' OR tbl_kontakt.kontakttyp is null)
limit 1) as klappe,
(SELECT planbezeichnung FROM public.tbl_mitarbeiter
LEFT JOIN public.tbl_ort USING (ort_kurzbz)
LEFT JOIN public.tbl_ort USING (ort_kurzbz)
WHERE mitarbeiter_uid=tbl_benutzer.uid) as raum
FROM
public.tbl_person
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
WHERE";
@@ -331,27 +330,27 @@ class benutzer extends person
$qry.=" tbl_benutzer.aktiv=true AND (";
elseif($aktiv==false)
$qry.=" tbl_benutzer.aktiv=false AND (";
$qry.=" lower(vorname || ' ' || nachname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" lower(vorname || ' ' || nachname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
$qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
foreach($searchItems as $value)
{
$qry.=" OR lower(uid) = lower(".$this->db_add_param($value).")";
$qry.=" OR lower(uid) = lower(".$this->db_add_param($value).")";
}
$qry.=")) a ORDER BY nachname, vorname";
if(!is_null($limit) && is_numeric($limit))
$qry.=" LIMIT ".$limit;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new benutzer();
$obj->titelpre = $row->titelpre;
$obj->vorname = $row->vorname;
$obj->nachname = $row->nachname;
@@ -366,7 +365,7 @@ class benutzer extends person
$obj->lektor = $row->lektor;
$obj->fixangestellt = $row->fixangestellt;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$this->result[] = $obj;
}
$this->errormsg = $qry;
@@ -378,7 +377,7 @@ class benutzer extends person
return false;
}
}
/**
* Laedt alle Benutzer einer Person
* @param $person_id
@@ -386,31 +385,31 @@ class benutzer extends person
*/
function getBenutzerFromPerson($person_id, $aktiv=true)
{
$qry = "SELECT
$qry = "SELECT
person_id, titelpre, vorname, nachname, titelpost, uid
FROM
FROM
public.tbl_benutzer
JOIN public.tbl_person USING(person_id)
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if($aktiv)
$qry.=" AND tbl_benutzer.aktiv=true ";
$qry .= "ORDER BY tbl_person.insertamum";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new benutzer();
$obj->person_id = $row->person_id;
$obj->titelpre = $row->titelpre;
$obj->vorname = $row->vorname;
$obj->nachname = $row->nachname;
$obj->titelpost = $row->titelpost;
$obj->uid = $row->uid;
$this->result[] = $obj;
}
return true;
@@ -421,11 +420,11 @@ class benutzer extends person
return false;
}
}
/**
* Entfernt den Aktivierungscode eines Users
* @param $username
*/
*/
public function DeleteAktivierungscode($username)
{
$qry = "UPDATE public.tbl_benutzer SET aktivierungscode=null WHERE uid=".$this->db_add_param($username);
@@ -437,7 +436,7 @@ class benutzer extends person
return false;
}
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
*/
@@ -474,7 +473,7 @@ class benutzer extends person
public function loadAlias($alias)
{
$qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -486,20 +485,20 @@ class benutzer extends person
if(!person::load($row->person_id))
return false;
else
else
return true;
}
else
else
{
$this->errormsg = "Benutzer nicht gefunden";
return false;
}
}
}
else
else
{
$this->errormsg = "Fehler beim Laden der Benutzerdaten";
return false;
}
}
}
}
?>
+1 -1
View File
@@ -309,7 +309,7 @@ class benutzerberechtigung extends basis_db
$this->errormsg = 'Entweder UID oder funktion_kurzbz muss uebergeben werden';
return false;
}
$qry.= " ORDER BY rolle_kurzbz,berechtigung_kurzbz";
$qry.= " ORDER BY rolle_kurzbz,berechtigung_kurzbz,oe_kurzbz,kostenstelle_id";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
+114 -116
View File
@@ -30,11 +30,11 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
class betriebsmittel extends basis_db
{
public $default_afa_jahre=5;
public $debug=false; // boolean
public $new; // boolean
public $result;
//Tabellenspalten
public $betriebsmittel_id; // integer
public $betriebsmitteltyp; // string
@@ -58,7 +58,7 @@ class betriebsmittel extends basis_db
public $verwendung; // string
public $anmerkung; // string
public $leasing_bis; // date
public $inventuramum; // timestamp
public $inventurvon; // string
@@ -68,7 +68,7 @@ class betriebsmittel extends basis_db
public $breite;
public $tiefe;
public $verplanen=false;
public $nummer2;
/**
@@ -137,7 +137,7 @@ class betriebsmittel extends basis_db
$this->tiefe = $row->tiefe;
$this->nummer2 = $row->nummer2;
$this->anschaffungsdatum = $row->anschaffungsdatum;
$this->anschaffungswert = $row->anschaffungswert;
$this->anschaffungswert = $row->anschaffungswert;
$this->verplanen = $this->db_parse_bool($row->verplanen);
return true;
@@ -164,14 +164,14 @@ class betriebsmittel extends basis_db
}
/**
*
*
* Sucht Betriebsmittel anhand der inventarnummer und filter
* @param $filter, ein teil oder die ganze inventarnummer
*/
public function searchBetriebsmittel($filter)
{
$qry = "SELECT * FROM wawi.tbl_betriebsmittel where inventarnummer LIKE '%".$this->db_escape($filter)."%'";
$this->result = array();
if($this->db_query($qry))
{
@@ -202,8 +202,8 @@ class betriebsmittel extends basis_db
$bm->leasing_bis = $row->leasing_bis;
$bm->inventuramum = $row->inventuramum;
$bm->inventurvon = $row->inventurvon;
$bm->anschaffungswert = $row->anschaffungswert;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$this->result[] = $bm;
}
@@ -215,7 +215,7 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Prueft ob die Inventarnummer schon existiert
*
@@ -232,10 +232,10 @@ class betriebsmittel extends basis_db
{
if($this->db_num_rows($result)>0)
return true;
else
else
return false;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
@@ -256,15 +256,15 @@ class betriebsmittel extends basis_db
return false;
if ($this->nummer)
$this->nummer=trim($this->nummer);
$this->inventarnummer = str_replace('`','+',$this->inventarnummer);
if($this->inventarnummer_exists($this->inventarnummer,($new?null:$this->betriebsmittel_id)))
{
$this->errormsg = 'Diese Inventarnummer existiert bereits';
return false;
}
//bei Zutrittskarten sicherstellen, dass die Nummer richtig kodiert ist
if($this->betriebsmitteltyp=='Zutrittskarte')
{
@@ -276,8 +276,8 @@ class betriebsmittel extends basis_db
//Neuen Datensatz einfuegen
$qry='INSERT INTO wawi.tbl_betriebsmittel (beschreibung, betriebsmitteltyp, nummer
, inventarnummer, reservieren, ort_kurzbz
,ext_id, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer
,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis, inventuramum, inventurvon,
, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer
,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis, inventuramum, inventurvon,
anschaffungsdatum, anschaffungswert, hoehe, breite, tiefe, nummer2,verplanen) VALUES('.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->betriebsmitteltyp).', '.
@@ -285,7 +285,6 @@ class betriebsmittel extends basis_db
$this->db_add_param($this->inventarnummer).', '.
$this->db_add_param($this->reservieren, FHC_BOOLEAN).', '.
$this->db_add_param($this->ort_kurzbz).', '.
$this->db_add_param($this->ext_id).', '.
($this->insertamum?$this->db_add_param($this->insertamum):'now()').', '.
$this->db_add_param($this->insertvon).', '.
($this->updateamum?$this->db_add_param($this->updateamum):'now()').', '.
@@ -307,7 +306,7 @@ class betriebsmittel extends basis_db
$this->db_add_param($this->breite).', '.
$this->db_add_param($this->tiefe).','.
$this->db_add_param($this->nummer2).','.
$this->db_add_param($this->verplanen, FHC_BOOLEAN).');' ;
$this->db_add_param($this->verplanen, FHC_BOOLEAN).');' ;
}
else
{
@@ -324,7 +323,6 @@ class betriebsmittel extends basis_db
'inventarnummer='.$this->db_add_param($this->inventarnummer).', '.
'reservieren='.$this->db_add_param($this->reservieren,FHC_BOOLEAN).', '.
'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'updateamum='.($this->updateamum?$this->db_add_param($this->updateamum):'now()').', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
@@ -379,7 +377,7 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $betriebsmittel_id ID die geloescht werden soll
@@ -450,8 +448,8 @@ class betriebsmittel extends basis_db
$bm->inventuramum = $row->inventuramum;
$bm->inventurvon = $row->inventurvon;
$bm->nummer2 = $row->nummer2;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$this->result[] = $bm;
}
@@ -506,9 +504,9 @@ class betriebsmittel extends basis_db
$bm->inventuramum = $row->inventuramum;
$bm->inventurvon = $row->inventurvon;
$bm->nummer2 = $row->nummer2;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$this->result[] = $bm;
}
return true;
@@ -538,7 +536,7 @@ class betriebsmittel extends basis_db
while($row = $this->db_fetch_object())
{
$obj = new betriebsmittel();
$obj->betriebsmittel_id = $row->betriebsmittel_id;
$obj->beschreibung = $row->beschreibung;
$obj->betriebsmitteltyp = $row->betriebsmitteltyp;
@@ -564,9 +562,9 @@ class betriebsmittel extends basis_db
$obj->inventuramum = $row->inventuramum;
$obj->inventurvon = $row->inventurvon;
$obj->nummer2 = $row->nummer2;
$obj->anschaffungsdatum = $row->anschaffungsdatum;
$obj->anschaffungswert = $row->anschaffungswert;
$obj->anschaffungsdatum = $row->anschaffungsdatum;
$obj->anschaffungswert = $row->anschaffungswert;
$this->result[] = $obj;
}
return true;
@@ -577,7 +575,7 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Laedt die Betriebsmittel Anhand der Invenatrnummer
* @param $inventarnummer Inventarnummer des zu ladenden Betriebsmittel
@@ -619,17 +617,17 @@ class betriebsmittel extends basis_db
$this->leasing_bis = $row->leasing_bis;
$this->inventuramum = $row->inventuramum;
$this->inventurvon = $row->inventurvon;
$this->anschaffungsdatum = $row->anschaffungsdatum;
$this->anschaffungswert = $row->anschaffungswert;
$this->anschaffungsdatum = $row->anschaffungsdatum;
$this->anschaffungswert = $row->anschaffungswert;
return true;
}
else
else
{
$this->errormsg = 'Es wurde kein Betriebsmittel mit dieser Inventarnummer gefunden';
return false;
}
}
else
{
@@ -637,7 +635,7 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Laedt die Organisation des Betriebsmittels $bestellung_id
* Wenn keine Organisationseinheit zugeteilt ist, dann wird die Organisationseinheit der zugeteilten Person
@@ -658,7 +656,7 @@ class betriebsmittel extends basis_db
}
$qry = "SELECT * FROM wawi.tbl_betriebsmittel WHERE betriebsmittel_id=".$this->db_add_param($betriebsmittel_id, FHC_INTEGER);
if($res=$this->db_query($qry))
{
if($row = $this->db_fetch_object($res))
@@ -691,25 +689,25 @@ class betriebsmittel extends basis_db
if (empty($this->oe_kurzbz))
{
$qry="SELECT vw_benutzer.uid ";
$qry="SELECT vw_benutzer.uid ";
$qry.=" FROM wawi.tbl_betriebsmittel ";
$qry.=" JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id) ";
$qry.=" JOIN campus.vw_benutzer USING(person_id) ";
$qry.=" WHERE tbl_betriebsmittel.betriebsmittel_id=".$this->db_add_param($this->betriebsmittel_id, FHC_INTEGER)." ";
$qry.=" ORDER BY retouram asc limit 1 ";
$qry.=" ORDER BY retouram asc limit 1 ";
$qry1 = "SELECT
$qry1 = "SELECT
*, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung,
tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_funktion USING(funktion_kurzbz)
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_funktion USING(funktion_kurzbz)
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE
WHERE
uid=($qry)
AND tbl_organisationseinheit.aktiv
AND (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now())
AND tbl_organisationseinheit.aktiv
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())
limit 1
";
@@ -718,9 +716,9 @@ class betriebsmittel extends basis_db
$rows =array();
if($rows = $this->db_fetch_object($res1))
$this->oe_kurzbz = $rows->oe_kurzbz;
$row->oe_kurzbz=$this->oe_kurzbz;
$row->oe_kurzbz=$this->oe_kurzbz;
}
}
}
return $this->result=$row;
}
else
@@ -735,8 +733,8 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Laedt das Betriebsmittel mit der Bestell ID des Betriebsmittels $bestellung_id
* @param $bestellung_id Bestellnummer des zu ladenden Betriebsmittel
@@ -750,7 +748,7 @@ class betriebsmittel extends basis_db
$this->errormsg = '';
$qry='SELECT * FROM wawi.tbl_betriebsmittel WHERE bestellung_id='.$this->db_add_param($bestellung_id, FHC_INTEGER);
if (!is_null($bestelldetail_id) && !empty($bestelldetail_id) && is_numeric($bestelldetail_id) )
$qry.=' AND bestelldetail_id='.$this->db_add_param($bestelldetail_id, FHC_INTEGER);
@@ -782,9 +780,9 @@ class betriebsmittel extends basis_db
$this->leasing_bis = $row->leasing_bis;
$this->inventuramum = $row->inventuramum;
$this->inventurvon = $row->inventurvon;
$this->anschaffungsdatum = $row->anschaffungsdatum;
$this->anschaffungswert = $row->anschaffungswert;
$this->anschaffungsdatum = $row->anschaffungsdatum;
$this->anschaffungswert = $row->anschaffungswert;
return $this->result=$row;
}
else
@@ -829,7 +827,7 @@ class betriebsmittel extends basis_db
$inventarnummer=trim($inventarnummer);
$ort_kurzbz=trim($ort_kurzbz);
$firma_id=trim($firma_id);
$qry='SELECT distinct on(tbl_betriebsmittel.betriebsmittel_id) tbl_betriebsmittel.inventarnummer ';
$qry.=',tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelbetriebsmittelstatus_id ';
$qry.=',tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz ';
@@ -841,8 +839,8 @@ class betriebsmittel extends basis_db
$qry.=', tbl_bestellung.bestell_nr as bestellnr, tbl_firma.name as firmenname, tbl_firma.firma_id as firma_id';
//AfA Datum ermitteln
$qry.=", trim(to_char(date_part('year', anschaffungsdatum) + tbl_betriebsmittel.afa , '9999')
|| '-' ||
$qry.=", trim(to_char(date_part('year', anschaffungsdatum) + tbl_betriebsmittel.afa , '9999')
|| '-' ||
to_char(anschaffungsdatum , 'MM-DD')) as betriebsmittelstatus_datum_afa ";
$qry.=' FROM wawi.tbl_betriebsmittel';
@@ -852,13 +850,13 @@ class betriebsmittel extends basis_db
$qry.=' LEFT JOIN public.tbl_ort on (tbl_ort.ort_kurzbz=tbl_betriebsmittel.ort_kurzbz ) ';
$qry.=' LEFT JOIN wawi.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
$qry.=' LEFT JOIN wawi.tbl_bestellung USING(bestellung_id)
LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )';
LEFT JOIN public.tbl_firma ON(tbl_firma.firma_id=tbl_bestellung.firma_id )';
$qry.=" WHERE not tbl_betriebsmittel.betriebsmittel_id is null ";
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer,$person_id,$betriebsmittel_id);
if ($where!='' && !$where)
return $this->result;
if($order=='')
$order = 'tbl_betriebsmittel.betriebsmittel_id, betriebsmittelstatus_datum DESC, betriebsmittelbetriebsmittelstatus_id DESC';
$order = ' ORDER BY '.$order;
@@ -913,7 +911,7 @@ class betriebsmittel extends basis_db
$qry.=' left outer join wawi.tbl_betriebsmittelperson on (tbl_betriebsmittelperson.betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id ) ';
$qry.=' left outer join wawi.tbl_bestellung using(bestellung_id)';
$qry.=' left outer join public.tbl_firma using(firma_id)';
$qry.=" where not tbl_betriebsmittel.bestellung_id is null ";
$where='';
$where=$this->betriebsmittel_inventar_get_where($inventarnummer,$ort_kurzbz,$betriebsmittelstatus_kurzbz,$betriebsmitteltyp,$bestellung_id,$bestelldetail_id,$bestellnr,$hersteller,$afa,$jahr_monat,$firma_id,$inventur_jahr,$beschreibung,$oe_kurzbz,$seriennummer);
@@ -923,7 +921,7 @@ class betriebsmittel extends basis_db
$order='tbl_betriebsmittel.bestellung_id';
$qry.=$where.(!is_null($order) && !empty($order)?' ORDER BY '. $order:'').(!$where?' limit 20 ':' limit 50 ');
if(!$result=$this->db_query($qry))
{
$this->errormsg ='Probleme beim lesen der Betriebsmittel';
@@ -938,7 +936,7 @@ class betriebsmittel extends basis_db
}
/**
* Laedt Inventartabelle
* Laedt Inventartabelle
*
* @param $inventarnummer
* @param $ort_kurzbz
@@ -970,7 +968,7 @@ class betriebsmittel extends basis_db
}
if (!is_null($betriebsmittel_id) && !empty($betriebsmittel_id) )
$where.=" AND tbl_betriebsmittel.betriebsmittel_id = ".$this->db_add_param(trim($betriebsmittel_id));
// Inventarnummer oder Betriebsmittelnummer
if (!is_null($seriennummer) && !empty($seriennummer) )
{
@@ -1018,31 +1016,31 @@ class betriebsmittel extends basis_db
$pWhere.=" or UPPER(trim(nachname)) like '%".$this->db_escape($matchcode)."%' ";
$pWhere.=" or UPPER(trim(vorname)) like '%".$this->db_escape($matchcode)."%' ";
$pWhere.=" or UPPER(trim(nachname || ' ' || vorname)) like '%".$this->db_escape($matchcode)."%' ";
$pWhere.=" or UPPER(trim(vorname || ' ' || nachname)) like '%".$this->db_escape($matchcode)."%' ) )";
$pWhere.=" or UPPER(trim(vorname || ' ' || nachname)) like '%".$this->db_escape($matchcode)."%' ) )";
}
$pWhere.=" AND retouram is null";
$where.=$pWhere;
if (!is_null($oe_kurzbz) && $oe_kurzbz!='')
{
$matchcode=mb_strtoupper(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($oe_kurzbz)));
$where.=" AND ( upper(trim(tbl_betriebsmittel.oe_kurzbz)) like '%". $this->db_escape($matchcode)."%' " ;
$where.=" or tbl_betriebsmittelperson.person_id in ( SELECT distinct vw_benutzer.person_id
FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid)
FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid)
where not funktion_kurzbz=null
and oe_kurzbz IN(
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE upper(trim(oe_kurzbz)) like '".$this->db_escape($matchcode)."'
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz
FROM oes
GROUP BY oe_kurzbz ))
)";
)";
}
$where.=" )";
}
@@ -1052,21 +1050,21 @@ class betriebsmittel extends basis_db
$matchcode=mb_strtoupper(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($oe_kurzbz)));
$where.=" AND ( upper(trim(tbl_betriebsmittel.oe_kurzbz)) like '".$this->db_escape($matchcode)."' " ;
$where.=" or tbl_betriebsmittelperson.person_id in ( SELECT distinct vw_benutzer.person_id
FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid)
FROM public.tbl_benutzerfunktion JOIN campus.vw_benutzer USING(uid)
where not funktion_kurzbz=null
and oe_kurzbz IN(
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz) as
(
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
SELECT oe_kurzbz, oe_parent_kurzbz FROM public.tbl_organisationseinheit
WHERE upper(trim(oe_kurzbz)) like '".$this->db_escape($matchcode)."'
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz
FROM oes
GROUP BY oe_kurzbz ))
)";
)";
}
// Ort
@@ -1144,13 +1142,13 @@ class betriebsmittel extends basis_db
$matchcode=mb_strtoupper(str_replace(array('*','%',',',';',"'",'"',' '),'%',trim($firma_id)));
$where.=" AND UPPER(trim(tbl_firma.name)) like '%".$this->db_escape($matchcode)."%' " ;
}
if (!is_null($betriebsmittelstatus_kurzbz) && !empty($betriebsmittelstatus_kurzbz) )
$where.=" and upper(trim(tbl_betriebsmittel_betriebsmittelstatus.betriebsmittelstatus_kurzbz)) = ".$this->db_add_param(mb_strtoupper(trim($betriebsmittelstatus_kurzbz))) ;
return $where;
}
/**
* Es sind mehrere Kartenlesegeraete im Umlauf
* Manche Geraete liefern die Kartennummer hexcodiert zurueck.
@@ -1169,24 +1167,24 @@ class betriebsmittel extends basis_db
$kartennummer=substr($kartennummer,strlen($kartennummer)-2,2).substr($kartennummer,strlen($kartennummer)-4,2). substr($kartennummer,strlen($kartennummer)-6,2).substr($kartennummer,0,2);
$kartennummer=hexdec( $kartennummer);
}
//Fuehrende nullen entfernen
$kartennummer = preg_replace("/^0*/", "", $kartennummer);
return $kartennummer;
}
/**
* Überprüft ob die Zutrittskarte zur übergerbenen uid schon ausgedruckt worden ist
* @param type $uid
* @param type $uid
*/
public function zutrittskartePrinted($uid)
{
$qry ="SELECT * FROM wawi.tbl_betriebsmittelperson
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
WHERE uid = ".$this->db_add_param($uid, FHC_STRING)."
and betriebsmitteltyp = 'Zutrittskarte'
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
WHERE uid = ".$this->db_add_param($uid, FHC_STRING)."
and betriebsmitteltyp = 'Zutrittskarte'
AND nummer2 is not null";
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result) > 0)
@@ -1201,28 +1199,28 @@ class betriebsmittel extends basis_db
return false;
}
}
/**
* Überprüft ob die Zutrittskarte schon ausgegeben worden ist -> ausgegeben an == null und retouram != null
* @param $uid
* @return boolean
* @return boolean
*/
public function zutrittskarteAusgegeben($uid)
{
$qry ="SELECT * FROM wawi.tbl_betriebsmittelperson WHERE uid =".$this->db_add_param($uid, FHC_STRING)."
$qry ="SELECT * FROM wawi.tbl_betriebsmittelperson WHERE uid =".$this->db_add_param($uid, FHC_STRING)."
AND betriebsmittel_id IN(
SELECT betriebsmittel_id
FROM wawi.tbl_betriebsmittelperson
JOIN wawi.tbl_betriebsmittel USING (betriebsmittel_id) where uid=".$this->db_add_param($uid,FHC_STRING)."
SELECT betriebsmittel_id
FROM wawi.tbl_betriebsmittelperson
JOIN wawi.tbl_betriebsmittel USING (betriebsmittel_id) where uid=".$this->db_add_param($uid,FHC_STRING)."
AND betriebsmitteltyp='Zutrittskarte' and nummer2 is not null)
AND ausgegebenam is not null AND retouram is null";
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
return true;
return true;
else
return false;
return false;
}
}
@@ -1235,16 +1233,16 @@ class betriebsmittel extends basis_db
{
if(count($stundenplan_ids)>0)
{
$qry = "SELECT
$qry = "SELECT
tbl_stundenplan_betriebsmittel.stundenplan_betriebsmittel_id, tbl_stundenplan_betriebsmittel.anmerkung,
tbl_betriebsmittel.betriebsmittel_id, tbl_betriebsmittel.beschreibung, tbl_stundenplandev.stunde
FROM
lehre.tbl_stundenplan_betriebsmittel
FROM
lehre.tbl_stundenplan_betriebsmittel
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
WHERE
tbl_stundenplan_betriebsmittel.stundenplandev_id in( ".$this->db_implode4SQL($stundenplan_ids).")";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -1256,7 +1254,7 @@ class betriebsmittel extends basis_db
$obj->stundenplan_betriebsmittel_id=$row->stundenplan_betriebsmittel_id;
$obj->anmerkung = $row->anmerkung;
$obj->stunde = $row->stunde;
$this->result[] = $obj;
}
return true;
@@ -1279,20 +1277,20 @@ class betriebsmittel extends basis_db
*/
public function getVerplanbar($datum, $stunden)
{
$qry = "SELECT
*
FROM
wawi.tbl_betriebsmittel
WHERE
verplanen=true
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_stundenplan_betriebsmittel
$qry = "SELECT
*
FROM
wawi.tbl_betriebsmittel
WHERE
verplanen=true
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_stundenplan_betriebsmittel
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
WHERE
WHERE
betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id
AND tbl_stundenplandev.datum=".$this->db_add_param($datum)."
AND tbl_stundenplandev.stunde in(".$this->db_implode4SQL($stunden)."))";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -1323,8 +1321,8 @@ class betriebsmittel extends basis_db
$bm->inventuramum = $row->inventuramum;
$bm->inventurvon = $row->inventurvon;
$bm->nummer2 = $row->nummer2;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$bm->anschaffungsdatum = $row->anschaffungsdatum;
$bm->anschaffungswert = $row->anschaffungswert;
$this->result[] = $bm;
}
@@ -1378,7 +1376,7 @@ class betriebsmittel extends basis_db
anmerkung=".$this->db_add_param($this->anmerkung)."
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($this->stundenplan_betriebsmittel_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
return true;
@@ -1397,11 +1395,11 @@ class betriebsmittel extends basis_db
*/
function loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id)
{
$qry = "SELECT
$qry = "SELECT
tbl_stundenplan_betriebsmittel.*,
tbl_betriebsmittel.beschreibung as bm_beschreibung
FROM
lehre.tbl_stundenplan_betriebsmittel
FROM
lehre.tbl_stundenplan_betriebsmittel
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($stundenplan_betriebsmittel_id, FHC_INTEGER);
+99 -101
View File
@@ -15,12 +15,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse Betriebsmittelperson
* Klasse Betriebsmittelperson
* @create 13-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -31,7 +31,7 @@ class betriebsmittelperson extends basis_db
public $new; // boolean
public $result = array();
//Tabellenspalten
public $betriebsmittelperson_id;
public $betriebsmittel_id; // integer
@@ -47,14 +47,14 @@ class betriebsmittelperson extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $nummer;
public $betriebsmitteltyp;
public $beschreibung;
public $oe_kurzbz;
public $oe_kurzbz;
public $nummer2;
public $uid;
/**
* Konstruktor
* @param $betriebsmittel_id
@@ -63,11 +63,11 @@ class betriebsmittelperson extends basis_db
public function __construct($betriebsmittelperson_id=null)
{
parent::__construct();
if(!is_null($betriebsmittelperson_id))
$this->load($betriebsmittelperson_id);
}
/**
* Laedt das Betriebsmittel mit der ID $betriebsmittelperson_id
* @param $betriebsmittelperson_id ID des zu ladenden Zuordnung
@@ -80,11 +80,11 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Betriebsmittelperson_id ist ungueltig';
return false;
}
$qry = "SELECT
$qry = "SELECT
tbl_betriebsmittel.*,
tbl_betriebsmittelperson.*
FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE betriebsmittelperson_id=".$this->db_add_param($betriebsmittelperson_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -113,19 +113,19 @@ class betriebsmittelperson extends basis_db
$this->uid = $row->uid;
return true;
}
else
else
{
$this->errormsg = 'Es wurde kein passender Datensatz gefunden';
return false;
}
}
else
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Prueft die Variablen vor dem Speichern
*
@@ -135,44 +135,44 @@ class betriebsmittelperson extends basis_db
{
if($this->kaution=='')
$this->kaution=0;
if(!is_numeric($this->kaution))
{
$this->errormsg = 'Kaution ist ungueltig';
return false;
}
if($this->ausgegebenam!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->ausgegebenam)
&& !mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$this->ausgegebenam))
{
$this->errormsg = 'Ausgegeben am Datum ist ungueltig';
return false;
}
if($this->retouram!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->retouram)
&& !mb_ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$this->retouram))
{
$this->errormsg = 'Ausgegeben am Datum ist ungueltig';
return false;
}
if(mb_strlen($this->anmerkung)>256)
{
$this->errormsg = 'Anmerkung darf nicht laenger als 256 Zeichen sein';
return false;
}
if($this->kaution!='' && $this->kaution>9999.99)
{
$this->errormsg = 'Kaution darf nicht groesser als 9999.99 sein';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID $betriebsmittelperson_id aktualisiert
* @param $new
@@ -182,49 +182,47 @@ class betriebsmittelperson extends basis_db
{
if(!$this->validate())
return false;
if(is_null($new))
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO wawi.tbl_betriebsmittelperson (betriebsmittel_id, person_id, anmerkung, kaution,
ausgegebenam, retouram, ext_id, insertamum, insertvon, updateamum, updatevon, uid) VALUES('.
$qry='BEGIN;INSERT INTO wawi.tbl_betriebsmittelperson (betriebsmittel_id, person_id, anmerkung, kaution,
ausgegebenam, retouram, insertamum, insertvon, updateamum, updatevon, uid) VALUES('.
$this->db_add_param($this->betriebsmittel_id, FHC_INTEGER).', '.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->kaution).', '.
$this->db_add_param($this->ausgegebenam).', '.
$this->db_add_param($this->retouram).', '.
$this->db_add_param($this->ext_id).', now(), '.
$this->db_add_param($this->retouram).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->uid).');';
}
else
{
{
//Pruefen ob betriebsmittelperson_id eine gueltige Zahl ist
if(!is_numeric($this->betriebsmittelperson_id))
{
$this->errormsg = 'betriebsmittel_id und Person_id muessen gueltige Zahlen sein';
return false;
}
$qry='UPDATE wawi.tbl_betriebsmittelperson SET '.
'betriebsmittel_id='.$this->db_add_param($this->betriebsmittel_id, FHC_INTEGER).', '.
'person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'kaution='.$this->db_add_param($this->kaution).', '.
'betriebsmittel_id='.$this->db_add_param($this->betriebsmittel_id, FHC_INTEGER).', '.
'person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'kaution='.$this->db_add_param($this->kaution).', '.
'ausgegebenam='.$this->db_add_param($this->ausgegebenam).', '.
'retouram='.$this->db_add_param($this->retouram).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'uid = '.$this->db_add_param($this->uid).' '.
'WHERE betriebsmittelperson_id='.$this->db_add_param($this->betriebsmittelperson_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($new)
@@ -237,14 +235,14 @@ class betriebsmittelperson extends basis_db
$this->betriebsmittelperson_id = $row->id;
$this->db_query('COMMIT;');
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -253,13 +251,13 @@ class betriebsmittelperson extends basis_db
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern der Betriebsmittelperson';
$this->errormsg = 'Fehler beim Speichern der Betriebsmittelperson';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $betriebsmittelperson_id ID die geloescht werden soll
@@ -272,8 +270,8 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Betriebsmittelperson_id ist ungueltig';
return false;
}
$qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
$qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
WHERE betriebsmittelperson_id='.$this->db_add_param($betriebsmittelperson_id, FHC_INTEGER);
if($this->db_query($qry))
return true;
@@ -283,7 +281,7 @@ class betriebsmittelperson extends basis_db
return false;
}
}
/**
* Loescht ALLE zuordnungen zu einem Betriebsmittel
* @param $betriebsmittel_id ID die geloescht werden soll
@@ -296,8 +294,8 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
$qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
$qry = 'DELETE FROM wawi.tbl_betriebsmittelperson
WHERE betriebsmittel_id='.$this->db_add_param($betriebsmittel_id, FHC_INTEGER);
if($this->db_query($qry))
return true;
@@ -307,7 +305,7 @@ class betriebsmittelperson extends basis_db
return false;
}
}
/**
* Laedt alle Betriebsmittel einer Person
* Optional kann auch ein Typ uebergeben werden
@@ -324,18 +322,18 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
$qry = "SELECT * FROM wawi.tbl_betriebsmittel JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
if(!is_null($betriebsmitteltyp))
$qry.=" AND betriebsmitteltyp=".$this->db_add_param($betriebsmitteltyp);
$qry.=" ORDER BY betriebsmitteltyp, nummer";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$bm = new betriebsmittelperson();
$bm->betriebsmittelperson_id = $row->betriebsmittelperson_id;
$bm->betriebsmittel_id = $row->betriebsmittel_id;
$bm->beschreibung = $row->beschreibung;
@@ -356,14 +354,14 @@ class betriebsmittelperson extends basis_db
$bm->updatevon = $row->updatevon;
$bm->ext_id = $row->ext_id;
$bm->oe_kurzbz = $row->oe_kurzbz;
$bm->nummer2 = $row->nummer2;
$bm->uid = $row->uid;
$bm->nummer2 = $row->nummer2;
$bm->uid = $row->uid;
$this->result[] = $bm;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
@@ -381,26 +379,26 @@ class betriebsmittelperson extends basis_db
{
$this->result=array();
$this->errormsg='';
if(!is_numeric($betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
$qry='
SELECT
*
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
SELECT
*
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE betriebsmittel_id='.$this->db_add_param($betriebsmittel_id, FHC_INTEGER);
if(!is_null($person_id))
$qry.=" AND person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$qry.=' ORDER BY ausgegebenam desc, retouram desc LIMIT 1';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -423,24 +421,24 @@ class betriebsmittelperson extends basis_db
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->nummer2 = $row->nummer2;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->nummer2 = $row->nummer2;
$this->uid = $row->uid;
return true;
return true;
}
else
else
{
$this->errormsg ='Es wurde kein Eintrag gefunden';
return false;
}
}
else
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Laedt alle Zuordnungen zu diesem Betriebsmittel
* @param $betriebsmittel_id ID des zu ladenden Betriebsmittels
@@ -450,18 +448,18 @@ class betriebsmittelperson extends basis_db
{
$this->result=array();
$this->errormsg='';
if(!is_numeric($betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
$qry='
SELECT
SELECT
*
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE betriebsmittel_id='.$this->db_add_param($betriebsmittel_id, FHC_INTEGER).'
ORDER BY ausgegebenam desc, retouram desc';
@@ -470,7 +468,7 @@ class betriebsmittelperson extends basis_db
while($row = $this->db_fetch_object())
{
$bm = new betriebsmittelperson();
$bm->betriebsmittelperson_id = $row->betriebsmittelperson_id;
$bm->betriebsmittel_id = $row->betriebsmittel_id;
$bm->beschreibung = $row->beschreibung;
@@ -492,19 +490,19 @@ class betriebsmittelperson extends basis_db
$bm->oe_kurzbz = $row->oe_kurzbz;
$bm->nummer2 = $row->nummer2;
$bm->uid = $row->uid;
$this->result[] = $bm;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Sucht welche Person die uebergebene Kartennummer hat
* @param $nummer Kartennummer
@@ -514,12 +512,12 @@ class betriebsmittelperson extends basis_db
{
// fuehrende Nullen bei Kartennummern auch checken
$qry='
SELECT
SELECT
*
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE
(tbl_betriebsmittel.nummer='.$this->db_add_param($nummer).'
OR tbl_betriebsmittel.nummer='.$this->db_add_param('0'.$nummer).'
OR tbl_betriebsmittel.nummer='.$this->db_add_param('00'.$nummer).'
@@ -533,7 +531,7 @@ class betriebsmittelperson extends basis_db
OR tbl_betriebsmittel.nummer2='.$this->db_add_param('0000'.$nummer).'
OR tbl_betriebsmittel.nummer2='.$this->db_add_param('00000'.$nummer).'
)
AND (ausgegebenam<=now() OR ausgegebenam is NULL)
AND (ausgegebenam<=now() OR ausgegebenam is NULL)
AND (retouram>=now() OR retouram is NULL)';
if($this->db_query($qry))
@@ -561,7 +559,7 @@ class betriebsmittelperson extends basis_db
$this->oe_kurzbz = $row->oe_kurzbz;
$this->nummer2 = $row->nummer2;
$this->uid = $row->uid;
return true;
}
else
@@ -569,15 +567,15 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Karte ist derzeit nicht ausgegeben';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Sucht welche Person die uebergebene Kartennummer hat
* @param $person_id Person ID
@@ -587,11 +585,11 @@ class betriebsmittelperson extends basis_db
public function getKartenzuordnungPerson($person_id, $nummer)
{
$qry='
SELECT
SELECT
*
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
FROM
wawi.tbl_betriebsmittel
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE tbl_betriebsmittel.nummer='.$this->db_add_param($nummer).'
AND tbl_betriebsmittelperson.person_id='.$this->db_add_param($person_id);
@@ -620,7 +618,7 @@ class betriebsmittelperson extends basis_db
$this->oe_kurzbz = $row->oe_kurzbz;
$this->nummer2 = $row->nummer2;
$this->uid = $row->uid;
return true;
}
else
@@ -628,13 +626,13 @@ class betriebsmittelperson extends basis_db
$this->errormsg = 'Karte ist derzeit nicht ausgegeben';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
?>
+34 -36
View File
@@ -15,17 +15,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisfunktion extends basis_db
class bisfunktion extends basis_db
{
public $new; // boolean
public $result = array(); // email Objekt
//Tabellenspalten
public $bisverwendung_id;
public $studiengang_kz;
@@ -36,7 +36,7 @@ class bisfunktion extends basis_db
public $insertvon;
public $ext_id;
public $studiengang_kz_old;
/**
* Konstruktor
* @param bisverwendung_id ID des zu ladenden Datensatzes
@@ -44,11 +44,11 @@ class bisfunktion extends basis_db
public function __construct($bisverwendung_id=null, $studiengang_kz=null)
{
parent::__construct();
if(!is_null($bisverwendung_id) && !is_null($studiengang_kz))
$this->load($bisverwendung_id, $studiengang_kz);
}
/**
* Laedt einen Datensatz
* @param bisverwendung_id ID des zu ladenden Datensatzes
@@ -67,10 +67,10 @@ class bisfunktion extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id=".$this->db_add_param($bisverwendung_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -83,7 +83,7 @@ class bisfunktion extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
@@ -98,7 +98,7 @@ class bisfunktion extends basis_db
return false;
}
}
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
@@ -117,21 +117,21 @@ class bisfunktion extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM bis.tbl_bisfunktion WHERE bisverwendung_id = ".$this->db_add_param($bisverwendung_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern auf Gueltigkeit
*
@@ -139,7 +139,7 @@ class bisfunktion extends basis_db
*/
protected function validate()
{
if($this->sws!='' && !is_numeric($this->sws))
{
$this->errormsg = 'SWS muss eine gueltige Zahl sein';
@@ -147,7 +147,7 @@ class bisfunktion extends basis_db
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -158,53 +158,51 @@ class bisfunktion extends basis_db
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
//Neuen Datensatz anlegen
$qry = "INSERT INTO bis.tbl_bisfunktion (bisverwendung_id, studiengang_kz, sws,
updateamum, updatevon, insertamum, insertvon, ext_id) VALUES (".
updateamum, updatevon, insertamum, insertvon) VALUES (".
$this->db_add_param($this->bisverwendung_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->sws).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id).');';
$this->db_add_param($this->insertvon).');';
}
else
else
{
//Bei einem Update bei dem sich der Studiengang aendert muss der "Alte" Studiengang auch angegeben werden
//da der Studiengang teil des Primaerschluessels ist
if($this->studiengang_kz_old=='')
$this->studiengang_kz_old = $this->studiengang_kz;
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE bis.tbl_bisfunktion SET".
" sws=".$this->db_add_param($this->sws).",".
" studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" ext_id=".$this->db_add_param($this->ext_id).
" updatevon=".$this->db_add_param($this->updatevon)." ".
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($this->studiengang_kz_old, FHC_INTEGER);
}
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
@@ -214,18 +212,18 @@ class bisfunktion extends basis_db
{
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_bisfunktion WHERE bisverwendung_id=".$this->db_add_param($bisverwendung_id, FHC_INTEGER);
if($studiengang_kz!=null)
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
$qry.=" ORDER BY studiengang_kz;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new bisfunktion();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->sws = $row->sws;
@@ -234,7 +232,7 @@ class bisfunktion extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
@@ -245,6 +243,6 @@ class bisfunktion extends basis_db
return false;
}
}
}
?>
?>
+28 -30
View File
@@ -43,7 +43,7 @@ class bisio extends basis_db
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $insertamum; // timestamp
public $insertvon; // varchar(16)
public $insertvon; // varchar(16)
public $ext_id; // bigint
public $ort;
public $universitaet;
@@ -56,7 +56,7 @@ class bisio extends basis_db
public function __construct($bisio_id=null)
{
parent::__construct();
if(!is_null($bisio_id))
$this->load($bisio_id);
}
@@ -95,7 +95,7 @@ class bisio extends basis_db
$this->ort = $row->ort;
$this->universitaet = $row->universitaet;
$this->lehreinheit_id = $row->lehreinheit_id;
return true;
}
else
@@ -122,40 +122,40 @@ class bisio extends basis_db
$this->errormsg = 'Mobilitaetsprogramm ist ungueltig';
return false;
}
if(mb_strlen($this->nation_code)>3)
{
$this->errormsg = 'Nation ist ungueltig';
return false;
}
if(mb_strlen($this->zweck_code)>20)
{
$this->errormsg = 'Zweck ist ungueltig';
return false;
}
if(mb_strlen($this->student_uid)>32)
{
$this->errormsg = 'Student_UID ist ungueltig';
return false;
}
if($this->von!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->von))
{
{
$this->errormsg = 'VON-Datum hat ein ungueltiges Format';
return false;
}
if($this->bis!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->bis))
{
$this->errormsg = 'BIS-Datum hat ein ungueltiges Format';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -176,7 +176,7 @@ class bisio extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis, zweck_code, student_uid, updateamum, updatevon, insertamum, insertvon, ext_id, ort, universitaet, lehreinheit_id) VALUES('.
$qry='BEGIN;INSERT INTO bis.tbl_bisio (mobilitaetsprogramm_code, nation_code, von, bis, zweck_code, student_uid, updateamum, updatevon, insertamum, insertvon, ort, universitaet, lehreinheit_id) VALUES('.
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
$this->db_add_param($this->nation_code).', '.
$this->db_add_param($this->von).', '.
@@ -187,7 +187,6 @@ class bisio extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->ort).', '.
$this->db_add_param($this->universitaet).', '.
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).');';
@@ -204,13 +203,12 @@ class bisio extends basis_db
' student_uid='.$this->db_add_param($this->student_uid).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).','.
' ort='.$this->db_add_param($this->ort).','.
' universitaet='.$this->db_add_param($this->universitaet).','.
' lehreinheit_id='.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).
" WHERE bisio_id=".$this->db_add_param($this->bisio_id, FHC_INTEGER).";";
}
if($this->db_query($qry))
{
if($new)
@@ -258,12 +256,12 @@ class bisio extends basis_db
$this->errormsg = 'ID ist ungueltig';
return false;
}
$qry = "DELETE FROM bis.tbl_bisio WHERE bisio_id=".$this->db_add_param($bisio_id, FHC_INTEGER).";";
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
@@ -271,32 +269,32 @@ class bisio extends basis_db
}
/**
* Liefert alle Incomming/Outgoing
* Liefert alle Incomming/Outgoing
* Eintraege eines Studenten
* @param $uid
* @return true wenn ok, false wenn fehler
*/
public function getIO($uid)
{
$qry = "SELECT tbl_bisio.*,
$qry = "SELECT tbl_bisio.*,
tbl_mobilitaetsprogramm.kurzbz as mobilitaetsprogramm_kurzbz,
tbl_zweck.bezeichnung as zweck_bezeichnung
FROM
bis.tbl_bisio,
bis.tbl_zweck,
bis.tbl_mobilitaetsprogramm
WHERE
FROM
bis.tbl_bisio,
bis.tbl_zweck,
bis.tbl_mobilitaetsprogramm
WHERE
student_uid=".$this->db_add_param($uid)." AND
tbl_zweck.zweck_code=tbl_bisio.zweck_code AND
tbl_mobilitaetsprogramm.mobilitaetsprogramm_code=tbl_bisio.mobilitaetsprogramm_code
ORDER BY bis;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$io = new bisio();
$io->bisio_id = $row->bisio_id;
$io->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$io->mobilitaetsprogramm_kurzbz = $row->mobilitaetsprogramm_kurzbz;
@@ -314,16 +312,16 @@ class bisio extends basis_db
$io->ort = $row->ort;
$io->universitaet = $row->universitaet;
$io->lehreinheit_id = $row->lehreinheit_id;
$this->result[] = $io;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
?>
+117 -72
View File
@@ -15,17 +15,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class bisverwendung extends basis_db
class bisverwendung extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $bisverwendung_id;
public $ba1code;
@@ -45,13 +45,13 @@ class bisverwendung extends basis_db
public $insertvon;
public $ext_id;
public $dv_art;
public $ba1bez;
public $ba2bez;
public $beschausmass;
public $verwendung;
public $hauptberuf;
/**
* Konstruktor
* @param bisverwendung_id ID des zu ladenden Datensatzes
@@ -59,11 +59,11 @@ class bisverwendung extends basis_db
public function __construct($bisverwendung_id=null)
{
parent::__construct();
if(!is_null($bisverwendung_id))
$this->load($bisverwendung_id);
}
/**
* Laedt einen Datensatz
* @param bisverwendung_id ID des zu ladenden Datensatzes
@@ -76,21 +76,21 @@ class bisverwendung extends basis_db
$this->errormsg = 'bisverwendung_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
tbl_bisverwendung.verwendung_code=tbl_verwendung.verwendung_code AND
bisverwendung_id=".$this->db_add_param($bisverwendung_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -103,7 +103,7 @@ class bisverwendung extends basis_db
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->updatevon = $row->updatevon;
@@ -118,9 +118,9 @@ class bisverwendung extends basis_db
$this->hauptberuf = $row->bezeichnung;
$this->vertragsstunden = $row->vertragsstunden;
$this->dv_art = $row->dv_art;
return true;
return true;
}
else
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
@@ -132,7 +132,7 @@ class bisverwendung extends basis_db
return false;
}
}
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
@@ -158,21 +158,21 @@ class bisverwendung extends basis_db
}
}
}
$qry = "DELETE FROM bis.tbl_bisverwendung WHERE bisverwendung_id = ".$this->db_add_param($bisverwendung_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
@@ -187,7 +187,7 @@ class bisverwendung extends basis_db
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -200,17 +200,17 @@ class bisverwendung extends basis_db
return false;
if($new==null)
$new = $this->new;
if(is_bool($this->hauptberuflich))
$hauptberuflich = $this->db_add_param($this->hauptberuflich, FHC_BOOLEAN);
else
else
$hauptberuflich = 'null';
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
updateamum, updatevon, insertamum, insertvon, ext_id, dv_art) VALUES (".
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
updateamum, updatevon, insertamum, insertvon, dv_art) VALUES (".
$this->db_add_param($this->ba1code, FHC_INTEGER).', '.
$this->db_add_param($this->ba2code, FHC_INTEGER).', '.
$this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '.
@@ -226,11 +226,10 @@ class bisverwendung extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->dv_art).');';
}
else
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE bis.tbl_bisverwendung SET".
@@ -249,11 +248,10 @@ class bisverwendung extends basis_db
" updatevon=".$this->db_add_param($this->updatevon).",".
" insertamum=".$this->db_add_param($this->insertamum).",".
" insertvon=".$this->db_add_param($this->insertvon).",".
" ext_id=".$this->db_add_param($this->ext_id, FHC_INTEGER).",".
" dv_art=".$this->db_add_param($this->dv_art).
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($new)
@@ -267,30 +265,30 @@ class bisverwendung extends basis_db
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt alle Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
@@ -299,13 +297,13 @@ class bisverwendung extends basis_db
public function getVerwendung($uid)
{
//laden des Datensatzes
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
$qry = "SELECT
*
FROM
bis.tbl_beschaeftigungsart1, bis.tbl_beschaeftigungsart2,
bis.tbl_beschaeftigungsausmass, bis.tbl_verwendung, bis.tbl_bisverwendung
LEFT JOIN bis.tbl_hauptberuf USING(hauptberufcode)
WHERE
tbl_bisverwendung.ba1code=tbl_beschaeftigungsart1.ba1code AND
tbl_bisverwendung.ba2code=tbl_beschaeftigungsart2.ba2code AND
tbl_bisverwendung.beschausmasscode=tbl_beschaeftigungsausmass.beschausmasscode AND
@@ -317,7 +315,7 @@ class bisverwendung extends basis_db
while($row = $this->db_fetch_object())
{
$obj = new bisverwendung();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->ba1code = $row->ba1code;
$obj->ba2code = $row->ba2code;
@@ -325,7 +323,7 @@ class bisverwendung extends basis_db
$obj->verwendung_code = $row->verwendung_code;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->hauptberufcode = $row->hauptberufcode;
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$obj->habilitation = $this->db_parse_bool($row->habilitation);
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
@@ -350,7 +348,7 @@ class bisverwendung extends basis_db
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
/**
@@ -363,11 +361,11 @@ class bisverwendung extends basis_db
{
$datum_obj = new datum();
//laden des Datensatzes
$qry = "SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
$qry = "SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
AND (beginn<=".$this->db_add_param($datum)." OR beginn is null)
AND (ende>=".$this->db_add_param($datum_obj->formatDatum($datum,'Y-m-01'))." OR ende is null)
@@ -378,7 +376,7 @@ class bisverwendung extends basis_db
while($row = $this->db_fetch_object())
{
$obj = new bisverwendung();
$obj->bisverwendung_id = $row->bisverwendung_id;
$obj->ba1code = $row->ba1code;
$obj->ba2code = $row->ba2code;
@@ -396,7 +394,7 @@ class bisverwendung extends basis_db
$obj->insertvon = $row->insertvon;
$obj->vertragsstunden = $row->vertragsstunden;
$obj->dv_art = $row->dv_art;
$this->result[] = $obj;
}
return true;
@@ -405,27 +403,23 @@ class bisverwendung extends basis_db
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
/**
* Laedt die Letzte (aktuellste) Verwendungen eines Mitarbeiters
* Laedt die Letzte eingetragene Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
* @return true wenn ok, false wenn Fehler
*/
public function getLastVerwendung($uid)
{
//laden des Datensatzes
$qry = "SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
AND
(beginn<=now() OR beginn IS NULL)
AND
(ende>=now() OR ende IS NULL)
$qry = "SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
ORDER BY ende DESC NULLS LAST,beginn DESC NULLS LAST LIMIT 1;";
if($this->db_query($qry))
@@ -439,7 +433,7 @@ class bisverwendung extends basis_db
$this->verwendung_code = $row->verwendung_code;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
@@ -456,7 +450,58 @@ class bisverwendung extends basis_db
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
/**
* Laedt die Letzte (aktuellste) Verwendungen eines Mitarbeiters
* @param $uid UID des Mitarbeiters
* @return true wenn ok, false wenn Fehler
*/
public function getLastAktVerwendung($uid)
{
//laden des Datensatzes
$qry = "SELECT
*
FROM
bis.tbl_bisverwendung
WHERE
mitarbeiter_uid=".$this->db_add_param($uid)."
AND
(beginn<=now() OR beginn IS NULL)
AND
(ende>=now() OR ende IS NULL)
ORDER BY ende DESC NULLS LAST,beginn DESC NULLS LAST LIMIT 1;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->bisverwendung_id = $row->bisverwendung_id;
$this->ba1code = $row->ba1code;
$this->ba2code = $row->ba2code;
$this->beschausmasscode = $row->beschausmasscode;
$this->verwendung_code = $row->verwendung_code;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->hauptberufcode = $row->hauptberufcode;
$this->hauptberuflich = $this->db_parse_bool($row->hauptberuflich);
$this->habilitation = $this->db_parse_bool($row->habilitation);
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->updatevon = $row->updatevon;
$this->updateamum = $row->updateamum;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->vertragsstunden = $row->vertragsstunden;
$this->dv_art = $row->dv_art;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
?>
+79
View File
@@ -1547,5 +1547,84 @@ class content extends basis_db
return false;
}
}
/**
* Loescht wahlweise den geamten Content oder nur eine Version in der uebergebenen Sprache
*
* @param integer $content_id ID des Contents, der geloescht werden soll
* @param string $sprache (optional) Sprache des Contents, die geloescht werden soll
* @param string $version (optional) Version des Contents, die geloescht werden soll (nur in Kombination mit Sprache)
* @return boolean
*/
public function deleteContent($content_id, $sprache = NULL, $version = NULL)
{
if($content_id=='' || !is_numeric($content_id))
{
$this->errormsg = 'ContentID ungueltig';
return false;
}
if (is_null($version) && is_null($sprache))
{
//gesamter content wird gelöscht
$qry = "DELETE FROM campus.tbl_contentchild WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).";
DELETE FROM campus.tbl_contentchild WHERE child_content_id=".$this->db_add_param($content_id, FHC_INTEGER).";
DELETE FROM campus.tbl_contentlog WHERE contentsprache_id IN (SELECT contentsprache_id FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).");
DELETE FROM campus.tbl_contentchild WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).";
DELETE FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).";
DELETE FROM campus.tbl_contentgruppe WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).";
DELETE FROM campus.tbl_content WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER).";";
}
else
{
//eine version wird gelöscht
$qry = "DELETE FROM campus.tbl_contentlog WHERE contentsprache_id IN (SELECT contentsprache_id FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache)." AND version=".$this->db_add_param($version, FHC_INTEGER).");
DELETE FROM campus.tbl_contentsprache WHERE content_id=".$this->db_add_param($content_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache)." AND version=".$this->db_add_param($version, FHC_INTEGER).";";
}
$this->errormsg = $qry;
if($this->db_query($qry))
return true;
else
return false;
}
/**
* Gibt die Anzahl der verbliebenen Eintraege in tbl_contentsprache in der uebergebenen Sprache zurueck
*
* @param integer $content_id ID des Contents
* @param string $sprache Sprache des Contents
* @return anzahl
*/
public function getNumberOfVersions($content_id, $sprache)
{
$qry = "SELECT COUNT(*) as anzahl FROM campus.tbl_contentsprache WHERE content_id = ".$this->db_add_param($content_id, FHC_INTEGER)." AND sprache = ".$this->db_add_param($sprache).";";
if($result = $this->db_query($qry))
{
$row = $this->db_fetch_object($result);
return $row->anzahl;
}
else
{
return false;
}
}
}
?>
+44 -8
View File
@@ -614,16 +614,33 @@ class dms extends basis_db
* Laedt die Dokumente einer Kategorie
*
* @param $kategorie_kurzbz
* @param $dpp = Documents Per Page
*/
public function getDocuments($kategorie_kurzbz)
public function getDocuments($kategorie_kurzbz, $dpp=NULL, $page=NULL)
{
if (!is_null($dpp) && !is_null($page))
{
if ($page == 0)
{
$limit = '';
$offset = '';
}
else
{
$limit = 'LIMIT '.$dpp;
$offset = ' OFFSET '.($page-1)*$dpp;
}
}
$qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id)
WHERE (dms_id, version) in(
SELECT dms_id, max(version)
FROM campus.tbl_dms_version
GROUP BY dms_id)
AND kategorie_kurzbz=".$this->db_add_param($kategorie_kurzbz)."
ORDER BY name;";
ORDER BY name ";
if (isset($limit)) $qry .= $limit;
if (isset($offset)) $qry .= $offset;
$qry .= ";";
if($result = $this->db_query($qry))
{
@@ -660,16 +677,35 @@ class dms extends basis_db
*
* @param $kategorie_kurzbz
*/
public function search($suchstring)
public function search($suchstring, $dpp=NULL, $page=NULL)
{
if (!is_null($dpp) && !is_null($page))
{
if ($page == 0)
{
$limit = '';
$offset = '';
}
else
{
$limit = ' LIMIT '.$dpp;
$offset = ' OFFSET '.($page-1)*$dpp;
}
}
$qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id)
WHERE lower(name) like lower('%".$this->db_escape($suchstring)."%')
OR lower(beschreibung) like lower('%".$this->db_escape($suchstring)."%')
";
if (is_numeric($suchstring))
$qry.= "OR dms_id = ".$this->db_escape($suchstring)."";
";
$qry.=";";
if (is_numeric($suchstring))
$qry.= " OR dms_id = ".$this->db_escape($suchstring)."";
if (isset($limit)) $qry .= $limit;
if (isset($offset)) $qry .= $offset;
$qry.=";";
if($result = $this->db_query($qry))
{
@@ -701,7 +737,7 @@ class dms extends basis_db
}
}
/**
/**
* Sucht nach Dokumenten (nur Spalte Beschreibung) mit der aktuellsten Version.
* Optional kann die Anzahl an Suchergebnissen übergeben werden.
*
+12 -14
View File
@@ -150,7 +150,7 @@ class dokument extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_dokumentprestudent(dokument_kurzbz, prestudent_id, mitarbeiter_uid, datum, updateamum,
updatevon, insertamum, insertvon, ext_id) VALUES('.
updatevon, insertamum, insertvon) VALUES('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
@@ -158,8 +158,7 @@ class dokument extends basis_db
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->insertvon).');';
}
else
{
@@ -217,10 +216,9 @@ class dokument extends basis_db
if($new)
{
$qry = 'INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung, ext_id) VALUES('.
$qry = 'INSERT INTO public.tbl_dokument(dokument_kurzbz, bezeichnung) VALUES('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->bezeichnung).');';
}
else
{
@@ -587,7 +585,7 @@ class dokument extends basis_db
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht,
$qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht,
$bezeichnung_mehrsprachig
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent using (studiengang_kz)
@@ -646,15 +644,15 @@ class dokument extends basis_db
* @param $dokument_kurzbz
* @param $person_id
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
*/
*/
function akzeptiert($dokument_kurzbz, $person_id)
{
$qry = "SELECT
*
FROM
public.tbl_dokumentprestudent
JOIN public.tbl_prestudent USING(prestudent_id)
WHERE
$qry = "SELECT
*
FROM
public.tbl_dokumentprestudent
JOIN public.tbl_prestudent USING(prestudent_id)
WHERE
dokument_kurzbz=".$this->db_add_param($dokument_kurzbz)."
AND tbl_prestudent.person_id=".$this->db_add_param($person_id);
+45 -47
View File
@@ -15,17 +15,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class entwicklungsteam extends basis_db
class entwicklungsteam extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $mitarbeiter_uid;
public $studiengang_kz;
@@ -37,10 +37,10 @@ class entwicklungsteam extends basis_db
public $insertamum;
public $insertvon;
public $ext_id;
public $besqual;
public $studiengang_kz_old;
/**
* Konstruktor
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
@@ -49,11 +49,11 @@ class entwicklungsteam extends basis_db
public function __construct($mitarbeiter_uid=null, $studiengang_kz=null)
{
parent::__construct();
if(!is_null($mitarbeiter_uid) && !is_null($studiengang_kz))
$this->load($mitarbeiter_uid, $studiengang_kz);
}
/**
* Laedt einen Datensatz
* @param mitarbeiter_uid ID des zu ladenden Datensatzes
@@ -66,11 +66,11 @@ class entwicklungsteam extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -85,10 +85,10 @@ class entwicklungsteam extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->besqual = $row->besqualbez;
$this->besqual = $row->besqualbez;
return true;
}
else
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
@@ -100,7 +100,7 @@ class entwicklungsteam extends basis_db
return false;
}
}
/**
* Loescht einen Datensatz
* @param bisverwendung_id ID des zu loeschenden Datensatzes
@@ -113,22 +113,22 @@ class entwicklungsteam extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM bis.tbl_entwicklungsteam
$qry = "DELETE FROM bis.tbl_entwicklungsteam
WHERE mitarbeiter_uid = ".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
*
@@ -153,7 +153,7 @@ class entwicklungsteam extends basis_db
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -166,12 +166,12 @@ class entwicklungsteam extends basis_db
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
//Neuen Datensatz anlegen
$qry = "INSERT INTO bis.tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz, besqualcode, beginn, ende,
updateamum, updatevon, insertamum, insertvon, ext_id) VALUES (".
updateamum, updatevon, insertamum, insertvon) VALUES (".
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->besqualcode, FHC_INTEGER).', '.
@@ -180,15 +180,14 @@ class entwicklungsteam extends basis_db
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->insertvon).');';
}
else
else
{
if($this->studiengang_kz_old=='')
$this->studiengang_kz_old = $this->studiengang_kz;
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE bis.tbl_entwicklungsteam SET".
" besqualcode=".$this->db_add_param($this->besqualcode, FHC_INTEGER).",".
@@ -196,22 +195,21 @@ class entwicklungsteam extends basis_db
" studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER).",".
" ende=".$this->db_add_param($this->ende).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" ext_id=".$this->db_add_param($this->ext_id, FHC_INTEGER).
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($this->studiengang_kz_old, FHC_INTEGER).";";
}
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/*
* Laedt alle Entwicklungsteameintraege eines Mitarbeiters
* @param $uid UID des Mitarbeiters
@@ -220,20 +218,20 @@ class entwicklungsteam extends basis_db
public function getEntwicklungsteam($mitarbeiter_uid, $studiengang_kz=null)
{
//laden des Datensatzes
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if($studiengang_kz!=null)
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz);
$qry.=";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new entwicklungsteam();
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->besqualcode = $row->besqualcode;
@@ -244,8 +242,8 @@ class entwicklungsteam extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->besqual = $row->besqualbez;
$obj->besqual = $row->besqualbez;
$this->result[] = $obj;
}
return true;
@@ -256,39 +254,39 @@ class entwicklungsteam extends basis_db
return false;
}
}
/**
* Preuft ob der Eintrag schon existiert
*
*
* @param $mitarbeiter_uid
* @param $studiengang_kz
* @return true wenn vorhanden, false wenn nicht
*/
public function exists($mitarbeiter_uid,$studiengang_kz)
{
$qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam
$qry = "SELECT count(*) as anzahl FROM bis.tbl_entwicklungsteam
WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
else
else
return false;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
?>
+10 -12
View File
@@ -48,7 +48,7 @@ class fachbereich extends basis_db
public function __construct($fachbereich_kurzbz=null)
{
parent::__construct();
if(!is_null($fachbereich_kurzbz))
$this->load($fachbereich_kurzbz);
}
@@ -68,7 +68,7 @@ class fachbereich extends basis_db
}
$this->result = array();
while($row = $this->db_fetch_object())
{
$fachb_obj = new fachbereich();
@@ -98,7 +98,7 @@ class fachbereich extends basis_db
{
if(count($kurzbzs)==0)
return true;
$qry = 'SELECT * FROM public.tbl_fachbereich WHERE fachbereich_kurzbz in('.$this->implode4SQL($kurzbzs).')';
if ($aktiv)
$qry.=' AND aktiv=true';
@@ -129,7 +129,7 @@ class fachbereich extends basis_db
}
return true;
}
/**
* Laedt einen Fachbereich
* @param $fachb_id ID des zu ladenden Fachbereiches
@@ -169,7 +169,7 @@ class fachbereich extends basis_db
return true;
}
/**
* Laedt einen Fachbereich ueber eine OE
* @param $oe_kurzbz OE des zu ladenden Fachbereiches
@@ -209,7 +209,7 @@ class fachbereich extends basis_db
return true;
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
@@ -235,7 +235,7 @@ class fachbereich extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @return true wenn ok, false im Fehlerfall
@@ -249,25 +249,23 @@ class fachbereich extends basis_db
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv,
ext_id, studiengang_kz) VALUES ('.
$qry = 'INSERT INTO public.tbl_fachbereich (fachbereich_kurzbz, bezeichnung, farbe, aktiv,
studiengang_kz) VALUES ('.
$this->db_add_param($this->fachbereich_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->farbe).', '.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->studiengang_kz).');';
}
else
{
//bestehenden Datensatz akualisieren
$qry = 'UPDATE public.tbl_fachbereich SET '.
'fachbereich_kurzbz='.$this->db_add_param($this->fachbereich_kurzbz).', '.
'bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
'farbe='.$this->db_add_param($this->farbe).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz).' '.
'WHERE fachbereich_kurzbz = '.$this->db_add_param($this->fachbereich_kurzbz).';';
}
+143 -146
View File
@@ -41,13 +41,13 @@ class firma extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $firmentyp_kurzbz;
public $firmentyp_kurzbz;
public $schule; // boolean
public $steuernummer; // string
public $steuernummer; // string
public $gesperrt; // boolean
public $aktiv; // boolean
public $finanzamt; // string
public $aktiv; // boolean
public $finanzamt; // string
// firma_organisationseinheit
public $oe_kurzbz; // string
public $oe_parent_kurzbz; // string
@@ -56,11 +56,11 @@ class firma extends basis_db
public $bezeichnung; // string
public $kundennummer; // integer
public $oe_aktiv; // boolean
public $oe_aktiv; // boolean
public $mailverteiler; // string
public $tags = array();
/**
* Konstruktor
* @param $firma_id ID der Firma die geladen werden soll (Default=null)
@@ -68,7 +68,7 @@ class firma extends basis_db
public function __construct($firma_id=null)
{
parent::__construct();
if(!is_null($firma_id))
$this->load($firma_id);
}
@@ -85,9 +85,9 @@ class firma extends basis_db
$this->errormsg = 'Firma_id ist ungueltig';
return false;
}
$qry = "SElECT * FROM public.tbl_firma WHERE firma_id=".$this->db_add_param($firma_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -102,11 +102,11 @@ class firma extends basis_db
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->schule = $this->db_parse_bool($row->schule);
$this->steuernummer = $row->steuernummer;
$this->steuernummer = $row->steuernummer;
$this->gesperrt = $this->db_parse_bool($row->gesperrt);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->finanzamt = $row->finanzamt;
$this->finanzamt = $row->finanzamt;
$qry = "SELECT tag FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id,FHC_INTEGER).';';
if($resulttag = $this->db_query($qry))
{
@@ -117,13 +117,13 @@ class firma extends basis_db
}
return true;
}
else
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
@@ -151,7 +151,7 @@ class firma extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -167,8 +167,8 @@ class firma extends basis_db
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma (name, anmerkung,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, schule,steuernummer,
$qry='INSERT INTO public.tbl_firma (name, anmerkung,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, schule,steuernummer,
gesperrt,aktiv,finanzamt) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
@@ -177,12 +177,11 @@ class firma extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->schule, FHC_BOOLEAN).','.
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->finanzamt, FHC_INTEGER).' ); ';
$this->db_add_param($this->finanzamt, FHC_INTEGER).' ); ';
}
else
{
@@ -208,7 +207,7 @@ class firma extends basis_db
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).' '.
'WHERE firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -222,14 +221,14 @@ class firma extends basis_db
$this->firma_id = $row->id;
$this->db_query('COMMIT;');
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -247,7 +246,7 @@ class firma extends basis_db
/**
* Speichert die Tags in $tags zur Firma
*
*
*/
public function savetags()
{
@@ -256,13 +255,13 @@ class firma extends basis_db
$this->errormsg = 'FirmaID ist ungueltig';
return false;
}
foreach($this->tags as $tag)
{
if($tag!='')
{
$qry = "
SELECT
SELECT
(SELECT true FROM public.tbl_firmatag WHERE tag=".$this->db_add_param($tag)." AND firma_id=".$this->db_add_param($this->firma_id, FHC_INTEGER).") as zugewiesen,
(SELECT true FROM public.tbl_tag WHERE tag=".$this->db_add_param($tag).") as vorhanden";
if($result = $this->db_query($qry))
@@ -279,11 +278,11 @@ class firma extends basis_db
return false;
}
}
if($row->zugewiesen!='t')
{
//Tag zuweisen
$qry = "INSERT INTO public.tbl_firmatag(firma_id, tag, insertamum, insertvon)
$qry = "INSERT INTO public.tbl_firmatag(firma_id, tag, insertamum, insertvon)
VALUES(".$this->db_add_param($this->firma_id,FHC_INTEGER).",".
$this->db_add_param($tag).",".
$this->db_add_param($this->insertamum).",".
@@ -295,13 +294,13 @@ class firma extends basis_db
}
}
}
else
else
{
$this->errormsg='Fehler beim Laden der Tags';
return false;
}
}
else
else
{
$this->errormsg='Fehler beim Laden der Tags';
return false;
@@ -310,7 +309,7 @@ class firma extends basis_db
}
return true;
}
/**
* Loescht die Tag-Zuordnung zur Firma
*
@@ -325,18 +324,18 @@ class firma extends basis_db
$this->errormsg = 'FirmaID ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id, FHC_INTEGER)." AND tag=".$this->db_add_param($tag).';';
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Löschen des Tags';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $firma_id ID die geloescht werden soll
@@ -347,20 +346,20 @@ class firma extends basis_db
$qry = "DELETE FROM public.tbl_firma WHERE firma_id=".$this->db_add_param($firma_id, FHC_INTEGER).';';
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
/**
* Laedt alle Firmen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($firma_search = null)
{
if (!empty($firma_search))
{
$matchcode=mb_strtoupper(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$firma_search));
@@ -368,18 +367,18 @@ class firma extends basis_db
//danach jene Ergebnisse bei denen $filter_search innerhalb des Namens vorkommt
$qry = "
SELECT
SELECT
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
FROM public.tbl_firma
WHERE
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%'
UNION
SELECT
UNION
SELECT
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
FROM public.tbl_firma
WHERE
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '%".$this->db_escape($matchcode)."%'
AND UPPER(trim(public.tbl_firma.name)) NOT like '".$this->db_escape($matchcode)."%'
ORDER BY sort, name, firma_id;";
@@ -388,14 +387,14 @@ class firma extends basis_db
{
$qry = "SELECT * FROM public.tbl_firma ORDER BY name;";
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
@@ -406,22 +405,22 @@ class firma extends basis_db
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$this->result[] = $fa;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Liefert alle vorhandenen Firmentypen
* @return true wenn ok, false im Fehlerfall
@@ -429,7 +428,7 @@ class firma extends basis_db
public function getFirmenTypen()
{
$qry = "SELECT * FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -437,12 +436,12 @@ class firma extends basis_db
$fa = new firma();
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->beschreibung = $row->beschreibung;
$this->result[] = $fa;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Firmentypen';
return false;
@@ -456,17 +455,17 @@ class firma extends basis_db
public function getFirmen($firmentyp_kurzbz='')
{
$qry = "SElECT * FROM public.tbl_firma";
if($firmentyp_kurzbz!='')
$qry.=" WHERE firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
$qry.=" ORDER BY name;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
@@ -477,22 +476,22 @@ class firma extends basis_db
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$this->result[] = $fa;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
/**
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps
* @return true wenn ok, false im Fehlerfall
@@ -501,46 +500,46 @@ class firma extends basis_db
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
if(!$standorte)
$qry.=" distinct on(firma_id)";
$qry.=" tbl_firma.firma_id,tbl_firma.* ,tbl_standort.kurzbz,tbl_standort.adresse_id,tbl_standort.standort_id,tbl_standort.bezeichnung ";
$qry.=" ,person_id, tbl_adresse.name as adress_name, strasse, plz, ort, gemeinde,nation,typ,heimatadresse,zustelladresse ";
$qry.=" ,person_id, tbl_adresse.name as adress_name, strasse, plz, ort, gemeinde,nation,typ,heimatadresse,zustelladresse ";
$qry.=" FROM public.tbl_firma";
$qry.=" LEFT JOIN public.tbl_standort USING(firma_id) ";
$qry.=" LEFT JOIN public.tbl_adresse on ( tbl_adresse.adresse_id=tbl_standort.adresse_id ) ";
$qry.=" WHERE 1=1";
if($filter!='')
$qry.= " and ( lower(tbl_firma.name) like lower('%".$this->db_escape($filter)."%')
OR lower(kurzbz) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.name) like lower('%".$this->db_escape($filter)."%')
OR lower(plz) like lower('%".$this->db_escape($filter)."%')
OR lower(ort) like lower('%".$this->db_escape($filter)."%')
OR lower(strasse) like lower('%".$this->db_escape($filter)."%')
OR lower(bezeichnung) like lower('%".$this->db_escape($filter)."%')
$qry.= " and ( lower(tbl_firma.name) like lower('%".$this->db_escape($filter)."%')
OR lower(kurzbz) like lower('%".$this->db_escape($filter)."%')
OR lower(tbl_adresse.name) like lower('%".$this->db_escape($filter)."%')
OR lower(plz) like lower('%".$this->db_escape($filter)."%')
OR lower(ort) like lower('%".$this->db_escape($filter)."%')
OR lower(strasse) like lower('%".$this->db_escape($filter)."%')
OR lower(bezeichnung) like lower('%".$this->db_escape($filter)."%')
OR lower(anmerkung) like lower('%".$this->db_escape($filter)."%')
".(is_numeric($filter)?" OR tbl_firma.firma_id='".$this->db_escape($filter)."'":'')."
OR tbl_firma.firma_id IN (SELECT firma_id FROM public.tbl_firmatag
OR tbl_firma.firma_id IN (SELECT firma_id FROM public.tbl_firmatag
WHERE firma_id=tbl_firma.firma_id AND lower(tag) like lower('%".$this->db_escape($filter)."%'))
) ";
if($firmentyp_kurzbz!='')
$qry.=" and firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
//if($filter=='' && $firmentyp_kurzbz=='')
// $qry.=" limit 500 ";
$qry.=") as a ORDER BY name;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
@@ -551,7 +550,7 @@ class firma extends basis_db
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
@@ -570,17 +569,17 @@ class firma extends basis_db
$fa->adress_name = $row->adress_name;
$fa->heimatadresse = $this->db_parse_bool($row->heimatadresse);
$fa->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$this->result[] = $fa;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
/**
* Liefert die Kundennummer einer Firma zu einer Organisationseinheit
@@ -589,13 +588,13 @@ class firma extends basis_db
*
* @param firma_id
* @param oe_kurzbz
* @return kundennummer oder false wenn nicht vorhanden
* @return kundennummer oder false wenn nicht vorhanden
*/
public function get_kundennummer($firma_id, $oe_kurzbz)
{
$qry = "SELECT kundennummer FROM public.tbl_firma_organisationseinheit
$qry = "SELECT kundennummer FROM public.tbl_firma_organisationseinheit
WHERE firma_id=".$this->db_add_param($firma_id, FHC_INTEGER)." AND oe_kurzbz=".$this->db_add_param($oe_kurzbz).";";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -619,9 +618,9 @@ class firma extends basis_db
}
/**
* Laedt alle Firmen - Organisationseinheiten nach Firmen ID und/oder OE Kurzbz
* Laedt alle Firmen - Organisationseinheiten nach Firmen ID und/oder OE Kurzbz
* @param $firma_id ID die gelesen werden soll
* @param $oe_kurzbz Organisationskurzbezeichnung
* @param $oe_kurzbz Organisationskurzbezeichnung
* @return true wenn ok, false im Fehlerfall
*/
public function get_firmaorganisationseinheit($firma_id='',$oe_kurzbz='')
@@ -637,7 +636,7 @@ class firma extends basis_db
$qry =" select tbl_firma.* ";
$qry.=" ,tbl_firma_organisationseinheit.firma_organisationseinheit_id ,tbl_firma_organisationseinheit.kundennummer ,tbl_firma_organisationseinheit.oe_kurzbz ";
$qry.=" ,tbl_organisationseinheit.oe_parent_kurzbz,tbl_organisationseinheit.bezeichnung, tbl_firma_organisationseinheit.bezeichnung as fobezeichnung, ";
$qry.=" tbl_organisationseinheit.organisationseinheittyp_kurzbz,tbl_organisationseinheit.aktiv as oe_aktiv,tbl_organisationseinheit.mailverteiler ";
$qry.=" tbl_organisationseinheit.organisationseinheittyp_kurzbz,tbl_organisationseinheit.aktiv as oe_aktiv,tbl_organisationseinheit.mailverteiler ";
$qry.=" FROM public.tbl_firma";
$qry.=" JOIN public.tbl_firma_organisationseinheit USING(firma_id)";
$qry.=" left outer join public.tbl_organisationseinheit on ( tbl_organisationseinheit.oe_kurzbz=tbl_firma_organisationseinheit.oe_kurzbz ) ";
@@ -647,14 +646,14 @@ class firma extends basis_db
$qry.=" and tbl_firma_organisationseinheit.firma_id=".$this->db_add_param($firma_id, FHC_INTEGER);
if($oe_kurzbz!='')
$qry.=" and tbl_firma_organisationseinheit.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
$qry.=" ORDER BY tbl_firma.name, tbl_firma_organisationseinheit.oe_kurzbz;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fa = new firma();
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
@@ -665,13 +664,13 @@ class firma extends basis_db
$fa->insertvon = $row->insertvon;
$fa->ext_id = $row->ext_id;
$fa->schule = $this->db_parse_bool($row->schule);
$fa->steuernummer = $row->steuernummer;
$fa->steuernummer = $row->steuernummer;
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->oe_kurzbz = $row->oe_kurzbz;
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->oe_kurzbz = $row->oe_kurzbz;
$fa->firma_organisationseinheit_id = $row->firma_organisationseinheit_id;
$fa->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$fa->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$fa->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$fa->bezeichnung = $row->bezeichnung;
$fa->fobezeichnung = $row->fobezeichnung;
@@ -679,36 +678,36 @@ class firma extends basis_db
$fa->oe_aktiv = $this->db_parse_bool($row->oe_aktiv);
$fa->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$this->result[]=$fa;
}
return $this->result;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
/**
* Laedt Firma - Organisationseinheiten nach Zwischentabellen ID
* @param $firma_organisationseinheit_id Zwischentabellen ID
* Laedt Firma - Organisationseinheiten nach Zwischentabellen ID
* @param $firma_organisationseinheit_id Zwischentabellen ID
* @return true wenn ok, false im Fehlerfall
*/
public function load_firmaorganisationseinheit($firma_organisationseinheit_id='')
{
$this->result = array();
$this->errormsg = '';
$qry =" select * ";
$qry.=" FROM public.tbl_firma_organisationseinheit ";
$qry.=" WHERE tbl_firma_organisationseinheit.firma_organisationseinheit_id=".$this->db_add_param($firma_organisationseinheit_id,FHC_INTEGER).';';
$qry.=" WHERE tbl_firma_organisationseinheit.firma_organisationseinheit_id=".$this->db_add_param($firma_organisationseinheit_id,FHC_INTEGER).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
{
$this->firma_id = $row->firma_id;
$this->updateamum = $row->updateamum;
@@ -716,21 +715,21 @@ class firma extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->firma_organisationseinheit_id = $row->firma_organisationseinheit_id;
$this->bezeichnung = $row->bezeichnung;
$this->kundennummer = $row->kundennummer;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
/**
* Loescht den Firma/Organisations Datenensatz mit der ID die uebergeben wird
* @param $firma_organisationseinheit_id ID die geloescht werden soll
@@ -746,12 +745,12 @@ class firma extends basis_db
$qry = "delete from public.tbl_firma_organisationseinheit WHERE firma_organisationseinheit_id>0";
if ($firma_organisationseinheit_id)
$qry.=" and firma_organisationseinheit_id=".$this->db_add_param($firma_organisationseinheit_id, FHC_INTEGER);
$qry.=';';
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
@@ -768,8 +767,8 @@ class firma extends basis_db
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma_organisationseinheit (firma_id,oe_kurzbz,
bezeichnung,kundennummer, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES('.
$qry='INSERT INTO public.tbl_firma_organisationseinheit (firma_id,oe_kurzbz,
bezeichnung,kundennummer, updateamum, updatevon, insertamum, insertvon) VALUES('.
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
@@ -777,8 +776,7 @@ class firma extends basis_db
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).' ); ';
$this->db_add_param($this->insertvon).' ); ';
}
else
{
@@ -796,8 +794,7 @@ class firma extends basis_db
'bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
'kundennummer='.$this->db_add_param($this->kundennummer).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).' '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE firma_organisationseinheit_id='.$this->db_add_param($this->firma_organisationseinheit_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
@@ -813,14 +810,14 @@ class firma extends basis_db
$this->firma_organisationseinheit_id = $row->id;
$this->db_query('COMMIT;');
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -835,10 +832,10 @@ class firma extends basis_db
}
return $this->firma_organisationseinheit_id;
}
/**
* Teilt einer Firma ein Mobilitaetsprogramm zu
*
*
* @param $firma_id
* @param $mobilitaetsprogramm_code
* @return boolean
@@ -850,7 +847,7 @@ class firma extends basis_db
$qry = "INSERT INTO public.tbl_firma_mobilitaetsprogramm(firma_id, mobilitaetsprogramm_code) VALUES(".
$this->db_add_param($firma_id, FHC_INTEGER).','.
$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).');';
if($this->db_query($qry))
return true;
else
@@ -859,7 +856,7 @@ class firma extends basis_db
else
return true;
}
/**
* Prueft ob eine Mobilitaetsprogrammzuordnung zu einer Firma existiert
* @param $firma_id
@@ -868,13 +865,13 @@ class firma extends basis_db
*/
function existsMobilitaetsprogramm($firma_id, $mobilitaetsprogramm_code)
{
$qry = "SELECT
*
FROM
$qry = "SELECT
*
FROM
public.tbl_firma_mobilitaetsprogramm
WHERE
firma_id=".$this->db_add_param($firma_id, FHC_INTEGER)."
AND mobilitaetsprogramm_code=".$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).';';
WHERE
firma_id=".$this->db_add_param($firma_id, FHC_INTEGER)."
AND mobilitaetsprogramm_code=".$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).';';
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
@@ -888,7 +885,7 @@ class firma extends basis_db
return false;
}
}
/**
* Entfernt die Zuordnung zu einem Mobilitaetsprogramm
* @param $firma_id
@@ -910,22 +907,22 @@ class firma extends basis_db
return false;
}
}
/**
* Lädt Alle firmen die zu einem bestimmten mobilitaetsprogramm zugeordnet sind
* @param $mobilitaetsprogramm_code
* @return boolean
* @return boolean
*/
function getFirmenMobilitaetsprogramm($mobilitaetsprogramm_code)
{
$qry = 'SELECT * FROM public.tbl_firma JOIN public.tbl_firma_mobilitaetsprogramm USING(firma_id) WHERE mobilitaetsprogramm_code ='.$this->db_add_param($mobilitaetsprogramm_code, FHC_INTEGER).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$fi = new firma();
$fi = new firma();
$fi->firma_id = $row->firma_id;
$fi->name = $row->name;
$fi->anmerkung = $row->anmerkung;
@@ -940,17 +937,17 @@ class firma extends basis_db
$fi->gesperrt = $this->db_parse_bool($row->gesperrt);
$fi->aktiv = $this->db_parse_bool($row->aktiv);
$fi->finanzamt = $row->finanzamt;
$this->result[] = $fi;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
?>
+28
View File
@@ -392,6 +392,34 @@ class gebiet extends basis_db
$this->errormsg = "Es wurden keine Maximalpunkte fuer dieses Gebiet eingetragen\n";
}
// Pruefung, ob eine Frage mehrere gleiche Antworten oder gleiche Bilder hat
$qry = "SELECT text AS antwort, sprache, frage_id, tbl_frage.nummer, COUNT(text) AS Anz
FROM testtool.tbl_vorschlag_sprache
JOIN testtool.tbl_vorschlag USING (vorschlag_id)
JOIN testtool.tbl_frage USING (frage_id)
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
AND (bild IS NULL AND audio IS NULL)
GROUP BY antwort,frage_id,tbl_frage.nummer,sprache
HAVING ( COUNT(text) > 1 )
UNION
SELECT bild AS antwort, sprache, frage_id, tbl_frage.nummer, COUNT(bild) AS Anz
FROM testtool.tbl_vorschlag_sprache
JOIN testtool.tbl_vorschlag USING (vorschlag_id)
JOIN testtool.tbl_frage USING (frage_id)
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
AND ((text IS NULL OR text='' OR text=' ') AND audio IS NULL)
GROUP BY antwort,frage_id,tbl_frage.nummer,sprache
HAVING ( COUNT(bild) > 1 );";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) Sprache $row->sprache hat mehrere gleiche Antworten.\n";
}
}
if($this->errormsg=='')
return true;
else
File diff suppressed because one or more lines are too long
+40
View File
@@ -0,0 +1,40 @@
// ****
// * Liefert einen Timestamp in Sekunden
// * zum anhaengen an eine URL um Caching zu verhindern
// ****
function gettimestamp()
{
var now = new Date();
var ret = now.getHours()*60*60*60;
ret = ret + now.getMinutes()*60*60;
ret = ret + now.getSeconds()*60;
ret = ret + now.getMilliseconds();
return ret;
}
/**
* schließt das fenster
*/
function closeWindow() {
window.close();
}
$('document').ready(function() {
$('#saveimgbutton').click(function() {
//src und person_id von hidden input feldern
var img = document.getElementById('croppingdiv').getElementsByTagName('img')[0];
var src = (img.src).substring(22, (img.src).length);
var person_id = document.getElementById('person_id');
var person_idValue = person_id.getAttribute('value');
//in crop.php wird das bild verarbeitet und abgespeichert
$.post('crop.php', {src:src, person_idValue:person_idValue}, function() {});
//cis seite auf zwei verschiedenen arten neu laden, damit das bild auch sicher nicht im cache abgelegt wird
window.opener.location.reload(true);
var locat=window.opener.location.href+'?ts='+gettimestamp();
window.opener.location.href = locat;
//warten bevor das fenster geschlossen wird, weil chrome und opera sonst probleme haben das bild zu speichern
setTimeout(closeWindow, 100);
});
});
File diff suppressed because it is too large Load Diff
+221
View File
@@ -0,0 +1,221 @@
/*
Author : Tomaz Dragar
Mail : <tomaz@dragar.net>
Homepage : http://www.dragar.net
*/
(function($) {
$.fn.simpleCropper = function() {
var image_dimension_x = 600;
var image_dimension_y = 600;
var scaled_width = 0;
var scaled_height = 0;
var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 0;
var current_image = null;
var aspX = 1;
var aspY = 1;
var file_display_area = null;
var ias = null;
var jcrop_api;
var bottom_html = "<input type='file' id='fileInput' name='files[]'/><canvas id='myCanvas' style='display:none;'></canvas><div id='modal'></div><div id='preview'><div class='buttons'><div class='cancel' style='background-image:url(../../skin/images/false-27.png);'></div><div class='ok' style='background-image:url(../../skin/images/true-27.png);'></div></div></div>";
$('body').append(bottom_html);
//add click to element
this.click(function() {
aspX = $(this).width();
aspY = $(this).height();
file_display_area = $(this);
$('#fileInput').click();
});
$(document).ready(function() {
//capture selected filename
$('#fileInput').change(function(click) {
imageUpload($('#preview').get(0));
// Reset input value
$(this).val("");
});
//ok listener
$('.ok').click(function() {
preview();
$('#preview').delay(100).hide();
$('#modal').hide();
jcrop_api.destroy();
reset();
});
//cancel listener
$('.cancel').click(function(event) {
$('#preview').delay(100).hide();
$('#modal').hide();
jcrop_api.destroy();
reset();
});
});
function reset() {
scaled_width = 0;
scaled_height = 0;
x1 = 0;
y1 = 0;
x2 = 0;
y2 = 0;
current_image = null;
aspX = 1;
aspY = 1;
file_display_area = null;
}
function imageUpload(dropbox) {
var file = $("#fileInput").get(0).files[0];
//var file = document.getElementById('fileInput').files[0];
var imageType = /image.*/;
if (file.type.match(imageType)) {
var reader = new FileReader();
reader.onload = function(e) {
// Clear the current image.
$('#photo').remove();
// Create a new image with image crop functionality
current_image = new Image();
current_image.src = reader.result;
current_image.id = "photo";
current_image.style['maxWidth'] = image_dimension_x + 'px';
current_image.style['maxHeight'] = image_dimension_y + 'px';
current_image.onload = function() {
// Calculate scaled image dimensions
if (current_image.width > image_dimension_x || current_image.height > image_dimension_y) {
if (current_image.width > current_image.height) {
scaled_width = image_dimension_x;
scaled_height = image_dimension_x * current_image.height / current_image.width;
}
if (current_image.width < current_image.height) {
scaled_height = image_dimension_y;
scaled_width = image_dimension_y * current_image.width / current_image.height;
}
if (current_image.width == current_image.height) {
scaled_width = image_dimension_x;
scaled_height = image_dimension_y;
}
}
else {
scaled_width = current_image.width;
scaled_height = current_image.height;
}
// Position the modal div to the center of the screen
$('#modal').css('display', 'block');
var window_width = $(window).width() / 2 - scaled_width / 2 + "px";
var window_height = $(window).height() / 2 - scaled_height / 2 + "px";
// Show image in modal view
$("#preview").css("top", window_height);
$("#preview").css("left", window_width);
$('#preview').show(500);
// Calculate selection rect
var selection_width = 0;
var selection_height = 0;
var max_x = Math.floor(scaled_height * aspX / aspY);
var max_y = Math.floor(scaled_width * aspY / aspX);
if (max_x > scaled_width) {
selection_width = scaled_width;
selection_height = max_y;
}
else {
selection_width = max_x;
selection_height = scaled_height;
}
ias = $(this).Jcrop({
onSelect: showCoords,
onChange: showCoords,
bgColor: '#747474',
bgOpacity: .4,
aspectRatio: aspX / aspY,
setSelect: [0, 0, selection_width, selection_height]
}, function() {
jcrop_api = this;
});
}
// Add image to dropbox element
dropbox.appendChild(current_image);
}
reader.readAsDataURL(file);
} else {
dropbox.innerHTML = "File not supported!";
}
}
function showCoords(c) {
x1 = c.x;
y1 = c.y;
x2 = c.x2;
y2 = c.y2;
}
function preview() {
// Set canvas
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// Delete previous image on canvas
context.clearRect(0, 0, canvas.width, canvas.height);
// Set selection width and height
var sw = x2 - x1;
var sh = y2 - y1;
// Set image original width and height
var imgWidth = current_image.naturalWidth;
var imgHeight = current_image.naturalHeight;
// Set selection koeficient
var kw = imgWidth / $("#preview").width();
var kh = imgHeight / $("#preview").height();
// Set canvas width and height and draw selection on it
canvas.width = aspX;
canvas.height = aspY;
context.drawImage(current_image, (x1 * kw), (y1 * kh), (sw * kw), (sh * kh), 0, 0, aspX, aspY);
// Convert canvas image to normal img
var dataUrl = canvas.toDataURL();
var imageFoo = document.createElement('img');
imageFoo.src = dataUrl;
// Append it to the body element
$('#preview').delay(100).hide();
$('#modal').hide();
file_display_area.html('');
file_display_area.append(imageFoo);
}
$(window).resize(function() {
// Position the modal div to the center of the screen
var window_width = $(window).width() / 2 - scaled_width / 2 + "px";
var window_height = $(window).height() / 2 - scaled_height / 2 + "px";
// Show image in modal view
$("#preview").css("top", window_height);
$("#preview").css("left", window_width);
});
}
}(jQuery));
+7 -7
View File
@@ -31,7 +31,7 @@
// need to use a selector in jquery 1.4.4+
depth = a.parentsUntil(tree.get_container().get(0).tagName + ".jstree").filter("li").length;
width = width - depth * 18;
a.css({width: width, "vertical-align": "top", "overflow": "hidden", "float": "left"});
a.css({width: width, "vertical-align": "top", "overflow": "hidden"}); //float_left
};
renderATitle = function(node, t, tree) {
var a = node.get(0).tagName.toLowerCase() === "a" ? node : node.children("a"), title, col = tree.data.grid.columns[0];
@@ -57,7 +57,7 @@
this.data.grid.columns = s.columns || [];
this.data.grid.treeClass = "jstree-grid-col-0";
this.data.grid.columnWidth = s.width;
this.data.grid.defaultConf = {display: "inline-block", "*display": "inline", "*+display": "inline", "float": "left"};
this.data.grid.defaultConf = {display: "inline-block", "*display": "inline", "*+display": "inline"};
this.data.grid.isThemeroller = !!this.data.themeroller;
this.data.grid.treeWidthDiff = 0;
this.data.grid.resizable = s.resizable;
@@ -76,10 +76,11 @@
styled = true;
styles = [
'.jstree-grid-cell {padding-left: 4px; vertical-align: top; overflow:hidden;}',
'.jstree-grid-separator {display: inline-block; border-width: 0 2px 0 0; *display:inline; *+display:inline; margin-right:0px;float:left;}',
'.jstree-grid-header-cell {float: left;}',
'.jstree-grid-separator {display: inline-block; border-width: 0 2px 0 0; *display:inline; *+display:inline; margin-right:0px;}',
'.jstree-grid-wrapper {}',
'.jstree-grid-header-cell {}',
'.jstree-grid-header-themeroller {border: 0; padding: 1px 3px;}',
'.jstree-grid-header-regular {background-color: #EBF3FD;}',
'.jstree-grid-header-regular {background-color: #EBF3FD; white-space:nowrap}',
'.jstree-grid-resizable-separator {cursor: col-resize;}',
'.jstree-grid-separator-regular {border-color: #d0d0d0; border-style: solid;}',
'.jstree-grid-cell-themeroller {border: none !important; background: transparent !important;}'
@@ -105,7 +106,6 @@
node.find("li > a").each($.proxy(function(i, elm) {
renderAWidth($(elm), this);
}, this));
}, this));
if (this.data.grid.isThemeroller) {
this.get_container()
@@ -230,7 +230,7 @@
isAlreadyGrid = a.hasClass(c);
if (a.length === 1) {
a.prev().css("float", "left");
// a.prev().css("float", "left");
a.addClass(c);
renderAWidth(a, _this);
renderATitle(a, t, _this);
+86 -88
View File
@@ -15,12 +15,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse kontakt
* Klasse kontakt
* @create 20-12-2006
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -29,13 +29,13 @@ class kontakt extends basis_db
{
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $kontakt_id; // integer
public $person_id; // integer
public $firma_id; // integer
public $standort_id; // integer
public $kontakttyp; // string
public $anmerkung; // string
public $kontakt; // string
@@ -45,7 +45,7 @@ class kontakt extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $beschreibung;
public $firma_name;
@@ -56,7 +56,7 @@ class kontakt extends basis_db
public $nachname;
public $vorname;
public $vornamen;
/**
* Konstruktor
* @param $kontakt_id ID der Adresse die geladen werden soll (Default=null)
@@ -64,11 +64,11 @@ class kontakt extends basis_db
public function __construct($kontakt_id=null)
{
parent::__construct();
if(!is_null($kontakt_id))
$this->load($kontakt_id);
}
/**
* Laedt einen Kontakt mit der ID $kontakt_id
* @param $kontakt_id ID des zu ladenden Kontaktes
@@ -81,21 +81,21 @@ class kontakt extends basis_db
$this->errormsg = 'Kontakt_id ist ungueltig';
return false;
}
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
FROM
FROM
public.tbl_kontakt
LEFT JOIN public.tbl_standort USING(standort_id)
LEFT JOIN public.tbl_firma USING(firma_id)
LEFT JOIN public.tbl_standort USING(standort_id)
LEFT JOIN public.tbl_firma USING(firma_id)
WHERE kontakt_id=".$this->db_add_param($kontakt_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->kontakt_id = $row->kontakt_id;
$this->person_id = $row->person_id;
$this->standort_id = $row->standort_id;
$this->standort_id = $row->standort_id;
$this->firma_id = $row->firma_id;
$this->firma_name = $row->firma_name;
$this->kontakttyp = $row->kontakttyp;
@@ -109,26 +109,26 @@ class kontakt extends basis_db
$this->ext_id = $row->ext_id;
return true;
}
else
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
public function validate()
{
{
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
if(mb_strlen($this->kontakttyp)>32)
@@ -152,11 +152,11 @@ class kontakt extends basis_db
return false;
}
$this->errormsg = '';
return true;
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $kontakt_id aktualisiert
* @return true wenn ok, false im Fehlerfall
@@ -166,25 +166,24 @@ class kontakt extends basis_db
//Variablen pruefen
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_kontakt (person_id, standort_id, kontakttyp, anmerkung, kontakt, zustellung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$qry='BEGIN;INSERT INTO public.tbl_kontakt (person_id, standort_id, kontakttyp, anmerkung, kontakt, zustellung, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
$this->db_add_param($this->kontakttyp).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->kontakt).', '.
$this->db_add_param($this->zustellung, FHC_BOOLEAN).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->zustellung, FHC_BOOLEAN).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_Add_param($this->updatevon).');';
$this->db_Add_param($this->updatevon).');';
}
else
{
//Updaten des bestehenden Datensatzes
//Pruefen ob kontakt_id eine gueltige Zahl ist
if(!is_numeric($this->kontakt_id))
{
@@ -192,25 +191,24 @@ class kontakt extends basis_db
return false;
}
$qry='UPDATE public.tbl_kontakt SET '.
'person_id='.$this->db_add_param($this->person_id,FHC_INTEGER).', '.
'standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
'kontakttyp='.$this->db_add_param($this->kontakttyp).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'kontakt='.$this->db_add_param($this->kontakt).', '.
'person_id='.$this->db_add_param($this->person_id,FHC_INTEGER).', '.
'standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
'kontakttyp='.$this->db_add_param($this->kontakttyp).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'kontakt='.$this->db_add_param($this->kontakt).', '.
'zustellung='.$this->db_add_param($this->zustellung, FHC_BOOLEAN).', '.
'ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE kontakt_id='.$this->db_add_param($this->kontakt_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
//Sequence auslesen um die eingefuegte ID zu ermitteln
if($this->new)
{
$qry = "SELECT currval('public.tbl_kontakt_kontakt_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -219,29 +217,29 @@ class kontakt extends basis_db
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen er Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
return true;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $kontakt_id ID die geloescht werden soll
@@ -254,18 +252,18 @@ class kontakt extends basis_db
$this->errormsg = 'Kontakt_id ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_kontakt WHERE kontakt_id=".$this->db_add_param($kontakt_id, FHC_INTEGER).";";
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
}
/**
* Laedt Kontaktdaten eines bestimmten typs der Person
* @param person_id
@@ -279,20 +277,20 @@ class kontakt extends basis_db
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND kontakttyp =".$this->db_add_param($kontakttyp, FHC_STRING);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new kontakt();
$obj->kontakt_id = $row->kontakt_id;
$obj->person_id = $row->person_id;
$obj->standort_id = $row->standort_id;
$obj->standort_id = $row->standort_id;
$obj->firma_id = $row->firma_id;
$obj->firma_name = $row->firma_name;
$obj->kontakttyp = $row->kontakttyp;
@@ -304,21 +302,21 @@ class kontakt extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Kontaktdaten einer Person
* @param person_id
@@ -331,19 +329,19 @@ class kontakt extends basis_db
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
$qry = "SELECT tbl_kontakt.*, tbl_firma.name as firma_name, tbl_firma.firma_id
FROM public.tbl_kontakt LEFT JOIN public.tbl_standort USING(standort_id) LEFT JOIN public.tbl_firma USING(firma_id) WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new kontakt();
$obj->kontakt_id = $row->kontakt_id;
$obj->person_id = $row->person_id;
$obj->standort_id = $row->standort_id;
$obj->standort_id = $row->standort_id;
$obj->firma_id = $row->firma_id;
$obj->firma_name = $row->firma_name;
$obj->kontakttyp = $row->kontakttyp;
@@ -355,19 +353,19 @@ class kontakt extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Kontaktdaten zu einem Standort
* @param standort_id
@@ -397,11 +395,11 @@ class kontakt extends basis_db
{
$this->errormsg = 'Person ist ungueltig';
return false;
}
}
$qry = "SELECT tbl_kontakt.*
,tbl_standort.firma_id, tbl_standort.kurzbz as standort_kurzbz, tbl_standort.bezeichnung as standort_bezeichnung
FROM public.tbl_kontakt,public.tbl_standort
WHERE tbl_standort.standort_id=tbl_kontakt.standort_id
,tbl_standort.firma_id, tbl_standort.kurzbz as standort_kurzbz, tbl_standort.bezeichnung as standort_bezeichnung
FROM public.tbl_kontakt,public.tbl_standort
WHERE tbl_standort.standort_id=tbl_kontakt.standort_id
";
if(is_numeric($firma_id))
@@ -412,21 +410,21 @@ class kontakt extends basis_db
$qry.=" and tbl_kontakt.kontakt_id=".$this->db_add_param($kontakt_id, FHC_INTEGER);
if(is_numeric($person_id))
$qry.=" and tbl_kontakt.person_id=".$this->db_add_param($person_id, FHC_INTEGER);
$qry.=';';
##echo $qry;
##echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new kontakt();
$obj->kontakt_id = $row->kontakt_id;
$obj->person_id = $row->person_id;
$obj->standort_id = $row->standort_id;
$obj->standort_id = $row->standort_id;
$obj->firma_id = $row->firma_id;
$obj->standort_kurzbz = $row->standort_kurzbz;
$obj->standort_bezeichnung = $row->standort_bezeichnung;
$obj->standort_bezeichnung = $row->standort_bezeichnung;
$obj->kontakttyp = $row->kontakttyp;
$obj->anmerkung = $row->anmerkung;
$obj->kontakt = $row->kontakt;
@@ -440,18 +438,18 @@ class kontakt extends basis_db
$this->result[] = $obj;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return $this->result;
}
/**
* Laedt einen Kontakt eines Standortes
* Es wird nur der erste Eintrag zurueckgeliefert!
*
*
* @param $standort_id
* @param $kontakttyp
*/
@@ -462,9 +460,9 @@ class kontakt extends basis_db
$this->errormsg='StandortID ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_kontakt WHERE standort_id=".$this->db_add_param($standort_id, FHC_INTEGER)." AND kontakttyp=".$this->db_add_param($kontakttyp)." ORDER BY kontakt_id LIMIT 1;";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -482,7 +480,7 @@ class kontakt extends basis_db
return false;
}
}
/**
* Laedt alle Kontakttypen
* @return true wenn ok
@@ -491,25 +489,25 @@ class kontakt extends basis_db
public function getKontakttyp()
{
$qry = "SELECT * FROM public.tbl_kontakttyp ORDER BY beschreibung;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new kontakt();
$obj->kontakttyp = $row->kontakttyp;
$obj->beschreibung = $row->beschreibung;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
?>
+61 -63
View File
@@ -68,7 +68,7 @@ class konto extends basis_db
public function __construct($buchungsnr=null)
{
parent::__construct();
if($buchungsnr!=null)
$this->load($buchungsnr);
}
@@ -186,12 +186,12 @@ class konto extends basis_db
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_konto (person_id, studiengang_kz, studiensemester_kurzbz, buchungsnr_verweis, betrag, buchungsdatum, buchungstext, mahnspanne, buchungstyp_kurzbz, updateamum, updatevon, insertamum, insertvon, ext_id, credit_points) VALUES('.
$qry='BEGIN;INSERT INTO public.tbl_konto (person_id, studiengang_kz, studiensemester_kurzbz, buchungsnr_verweis, betrag, buchungsdatum, buchungstext, mahnspanne, buchungstyp_kurzbz, updateamum, updatevon, insertamum, insertvon, credit_points) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
@@ -205,7 +205,6 @@ class konto extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).', '.
$this->db_add_param($this->credit_points).');';
}
else
@@ -225,7 +224,6 @@ class konto extends basis_db
' updatevon='.$this->db_add_param($this->updatevon).','.
' insertamum='.$this->db_add_param($this->insertamum).','.
' insertvon='.$this->db_add_param($this->insertvon).','.
' ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).','.
' credit_points='.$this->db_add_param($this->credit_points).
" WHERE buchungsnr='".$this->db_add_param($this->buchungsnr, FHC_INTEGER)."';";
@@ -241,7 +239,7 @@ class konto extends basis_db
if($row = $this->db_fetch_object())
{
$this->buchungsnr = $row->id;
//Zahlungsreferenz generieren
if(strlen($this->buchungsnr_verweis) == 0)
{
@@ -359,7 +357,7 @@ class konto extends basis_db
$qry = "SELECT tbl_konto.*, anrede, titelpost, titelpre, nachname, vorname, vornamen
FROM public.tbl_konto JOIN public.tbl_person USING (person_id)
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." $stgwhere ORDER BY buchungsdatum";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -413,16 +411,16 @@ class konto extends basis_db
public function getBuchungstyp($aktiv=null, $typ=null)
{
$qry = "SELECT * FROM public.tbl_buchungstyp";
if(!is_null($aktiv))
$qry.=" WHERE aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
if(!is_null($typ) && is_null($aktiv))
$qry.=" WHERE buchungstyp_kurzbz=".$this->db_add_param($typ, FHC_STRING);
if(!is_null($typ) && !is_null($aktiv))
$qry.=" AND buchungstyp_kurzbz=".$this->db_add_param($typ, FHC_STRING);
$qry.=" ORDER BY beschreibung";
if($this->db_query($qry))
@@ -455,7 +453,7 @@ class konto extends basis_db
*/
public function getDifferenz($buchungsnr)
{
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($buchungsnr, FHC_INTEGER);
if($this->db_query($qry))
@@ -484,14 +482,14 @@ class konto extends basis_db
public function checkStudienbeitrag($uid, $stsem)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum FROM public.tbl_konto, public.tbl_benutzer, public.tbl_student
WHERE
tbl_konto.studiensemester_kurzbz = ".$this->db_add_param($stsem)."
AND tbl_benutzer.uid = ".$this->db_add_param($uid)."
WHERE
tbl_konto.studiensemester_kurzbz = ".$this->db_add_param($stsem)."
AND tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_benutzer.uid = tbl_student.student_uid
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
if ($this->db_num_rows()==0)
@@ -505,14 +503,14 @@ class konto extends basis_db
}
}
}
else
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr=".$this->db_add_param($buch_nr[0])." OR buchungsnr_verweis=".$this->db_add_param($buch_nr[0]);
if($this->db_query($qry))
@@ -539,7 +537,7 @@ class konto extends basis_db
return false;
}
}
/**
* Überprüft, ob das Konto einer Person ausgeglichen ist, oder ob noch Zahlungen offen sind
* @param $person_id ID der Person, die geprüft werden soll
@@ -569,8 +567,8 @@ class konto extends basis_db
$this->errormsg="Fehler bei der Datenbankabfrage";
}
}
/**
* ueberprueft, ob studiengebuehr gebucht ist fuer
* student_uid und studiensemester
@@ -579,13 +577,13 @@ class konto extends basis_db
public function getLastStudienbeitrag($uid)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz FROM public.tbl_konto, public.tbl_benutzer, public.tbl_student
WHERE
WHERE
tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_benutzer.uid = tbl_student.student_uid
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr DESC";
if($result = $this->db_query($subqry))
{
if ($this->db_num_rows($result)==0)
@@ -596,9 +594,9 @@ class konto extends basis_db
{
if($subrow->buchungsnr_verweis != '')
{
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr=".$this->db_add_param($subrow->buchungsnr_verweis, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($subrow->buchungsnr_verweis, FHC_INTEGER).";";
if($result_test = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result_test))
@@ -619,13 +617,13 @@ class konto extends basis_db
}
}
}
else
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
/**
* ueberprueft, ob studiengebuehr gebucht ist fuer
* student_uid und studiensemester
@@ -633,18 +631,18 @@ class konto extends basis_db
*/
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array)
{
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
FROM
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
JOIN public.tbl_student ON(uid=student_uid)
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
WHERE
WHERE
tbl_benutzer.uid = ".$this->db_add_param($uid)."
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
ORDER BY tbl_studiensemester.start DESC";
if($result = $this->db_query($subqry))
{
if ($this->db_num_rows($result)==0)
@@ -655,10 +653,10 @@ class konto extends basis_db
{
if($subrow->buchungsnr_verweis != '')
{
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
WHERE buchungsnr=".$this->db_add_param($subrow->buchungsnr_verweis, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($subrow->buchungsnr_verweis, FHC_INTEGER).";";
if($result_test = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result_test))
@@ -679,7 +677,7 @@ class konto extends basis_db
}
}
}
else
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
@@ -687,7 +685,7 @@ class konto extends basis_db
}
/**
*
*
* Gibt den Betrag der Bezahlten Studiengebühr eines Semesters zurück
* @param $uid StudentUID
* @param $stsem Studiensemester_kurzbz
@@ -695,28 +693,28 @@ class konto extends basis_db
*/
public function getStudiengebuehrGesamt($uid, $stsem, $studiengang_kz = null)
{
$qry = "select sum(betrag) as betrag from public.tbl_konto
$qry = "select sum(betrag) as betrag from public.tbl_konto
join public.tbl_benutzer benutzer using(person_id)
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
and buchungstyp_kurzbz = 'Studiengebuehr' and betrag > 0";
if($studiengang_kz!= null)
$qry.=" and studiengang_kz = ".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->betrag;
return $row->betrag;
}
return false;
return false;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
return false;
}
}
/**
* Gibt den Betrag des bezahlten ÖH-Beitrags eines Semesters zurück
* @param $uid StudentUID
@@ -725,25 +723,25 @@ class konto extends basis_db
*/
public function getOehBeitragGesamt($uid, $stsem, $studiengang_kz = null)
{
$qry = "select sum(betrag) as betrag from public.tbl_konto
$qry = "select sum(betrag) as betrag from public.tbl_konto
join public.tbl_benutzer benutzer using(person_id)
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
and LOWER(buchungstyp_kurzbz) = LOWER('OEH') and betrag > 0";
if($studiengang_kz!= null)
$qry.=" and studiengang_kz = ".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->betrag;
return $row->betrag;
}
return false;
return false;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
return false;
}
}
@@ -757,11 +755,11 @@ class konto extends basis_db
public function getCreditPoints($uid, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
WHERE
uid=".$this->db_add_param($uid)."
uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND buchungsnr_verweis is null
AND credit_points is not null";
@@ -789,12 +787,12 @@ class konto extends basis_db
}
}
else
{
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu
* @param $buchungsnr Die ID der erstellten Buchung in der Datenbank
@@ -803,11 +801,11 @@ class konto extends basis_db
private function addZahlungsreferenz($buchungsnr)
{
$this->zahlungsreferenz = generateZahlungsreferenz($this->studiengang_kz, $buchungsnr);
$qry = "UPDATE public.tbl_konto ".
"SET zahlungsreferenz=".$this->db_add_param($this->zahlungsreferenz).
"WHERE buchungsnr=".$this->db_add_param($buchungsnr).";";
if($this->db_query($qry))
{
return true;
@@ -815,11 +813,11 @@ class konto extends basis_db
else
{
$this->errormsg = 'Fehler beim speichern der Zahlungsreferenz aufgetreten';
return false;
return false;
}
}
/**
* Laedt eine Buchung anhand ihrer Zahlungsreferenz
* @param $zahlungsreferenz
@@ -827,7 +825,7 @@ class konto extends basis_db
public function loadFromZahlungsreferenz($zahlungsreferenz)
{
$qry = "SELECT * FROM public.tbl_konto WHERE zahlungsreferenz=".$this->db_add_param($zahlungsreferenz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
+41 -43
View File
@@ -114,7 +114,7 @@ class lehreinheit extends basis_db
$this->ext_id = $row->ext_id;
return true;
}
else
else
{
$this->errormsg = 'Es existiert keine Lehreinheit mit dieser ID';
return false;
@@ -126,7 +126,7 @@ class lehreinheit extends basis_db
return false;
}
}
/**
* Laedt die LE von der View mit erweiterten Attributen
* @param lehreinheit_id
@@ -145,7 +145,7 @@ class lehreinheit extends basis_db
{
$this->anz=0;
while($row = $this->db_fetch_object())
{
{
$this->lehreinheit_id = $row->lehreinheit_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -178,7 +178,7 @@ class lehreinheit extends basis_db
$this->gruppe[$this->anz] = $row->gruppe;
$this->gruppe_kurzbz[$this->anz] = $row->gruppe_kurzbz;
$this->titel[$this->anz] = '';
$this->anz++;
}
return true;
@@ -203,9 +203,9 @@ class lehreinheit extends basis_db
{
$this->lehreinheiten = array();
$this->errormsg ='';
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($uid!='')
@@ -215,7 +215,7 @@ class lehreinheit extends basis_db
$qry .= " AND EXISTS ( SELECT 1 FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_fachbereich USING(oe_kurzbz) WHERE fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz)." AND lehrveranstaltung_id=tbl_lehreinheit.lehrfach_id)";
$qry.= " ORDER BY lehreinheit_id;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -253,7 +253,7 @@ class lehreinheit extends basis_db
return false;
}
}
/**
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
@@ -366,7 +366,7 @@ class lehreinheit extends basis_db
public function save($new=null)
{
$this->errormsg ='';
if(is_null($new))
$new = $this->new;
@@ -383,7 +383,7 @@ class lehreinheit extends basis_db
//ToDo ID entfernen
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz,
lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus,
start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, lvnr, insertamum, insertvon, updateamum, updatevon, ext_id, sprache)
start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, lvnr, insertamum, insertvon, updateamum, updatevon, sprache)
VALUES('.$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
$this->db_add_param($this->lehrfach_id, FHC_INTEGER).','.
@@ -401,7 +401,6 @@ class lehreinheit extends basis_db
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->sprache).');';
}
else
@@ -422,11 +421,10 @@ class lehreinheit extends basis_db
' lvnr='.$this->db_add_param($this->lvnr, FHC_INTEGER).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' sprache='.$this->db_add_param($this->sprache).','.
' ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).
' sprache='.$this->db_add_param($this->sprache).' '.
" WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).";";
}
if($this->db_query($qry))
{
if($new)
@@ -480,14 +478,14 @@ class lehreinheit extends basis_db
$stg_obj = new studiengang();
$stg_obj->getAll();
$ignore_reservation=false;
$ignore_zeitsperre=false;
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
$stpl_id=$stpl_table.TABLE_ID;
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
//Lektoren SQL
$sql_lkt='';
foreach ($this->mitarbeiter_uid as $lkt)
@@ -501,14 +499,14 @@ class lehreinheit extends basis_db
AND (ort_kurzbz=".$this->db_add_param($ort)." OR $sql_lkt)";
if (is_numeric($this->unr))
$sql_query.=" AND unr!=".$this->db_add_param($this->unr);
if (!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
return false;
}
$erg_stpl=$this->db_result;
$anzahl=$this->db_num_rows($erg_stpl);
//Check
if ($anzahl==0)
@@ -518,11 +516,11 @@ class lehreinheit extends basis_db
WHERE datum=".$this->db_add_param($datum)." AND stunde=".$this->db_add_param($stunde);
if (is_numeric($this->unr))
$sql_query.=" AND unr!=".$this->db_add_param($this->unr)." AND (1=2 ";
for($anz=0;$anz<count($this->studiengang_kz);$anz++)
{
{
$sql_query.=" OR ((studiengang_kz=".$this->db_add_param($this->studiengang_kz[$anz])." AND semester=".$this->db_add_param($this->semester[$anz]).")";
if ($this->gruppe_kurzbz[$anz]!=null && $this->gruppe_kurzbz[$anz]!='' && $this->gruppe_kurzbz[$anz]!=' ')
$sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz[$anz]).")";
else
@@ -533,34 +531,34 @@ class lehreinheit extends basis_db
$sql_query.=" AND (gruppe=".$this->db_add_param($this->gruppe[$anz])." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
}
$sql_query.=')';
}
}
$sql_query.=")";
if (!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
return false;
}
$erg_stpl=$this->db_result;
$anzahl=$this->db_num_rows($erg_stpl);
if($anzahl==0)
{
// Reservierungen pruefen?
if (!$ignore_reservation)
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
//Lektoren SQL
$sql_lkt='';
foreach ($this->mitarbeiter_uid as $lkt)
$sql_lkt.="OR uid='$lkt' ";
$sql_lkt=mb_substr($sql_lkt,3);
$sql_lkt="(($sql_lkt) AND uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
FROM lehre.vw_reservierung
WHERE datum=".$this->db_add_param($datum)." AND stunde=".$this->db_add_param($stunde)."
AND (ort_kurzbz=".$this->db_add_param($ort)." OR $sql_lkt)";
if (!$this->db_query($sql_query))
{
$this->errormsg=$sql_query.$this->db_last_error();
@@ -574,18 +572,18 @@ class lehreinheit extends basis_db
// Zeitsperren pruefen?
if (!$ignore_zeitsperre)
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
//Lektoren SQL
$sql_lkt='';
foreach ($this->mitarbeiter_uid as $lkt)
$sql_lkt.="OR mitarbeiter_uid=".$this->db_add_param($lkt)." ";
$sql_lkt=mb_substr($sql_lkt,3);
$sql_query="SELECT * FROM campus.tbl_zeitsperre
WHERE ($sql_lkt) AND
( (vondatum<".$this->db_add_param($datum)." AND bisdatum>".$this->db_add_param($datum).")
WHERE ($sql_lkt) AND
( (vondatum<".$this->db_add_param($datum)." AND bisdatum>".$this->db_add_param($datum).")
OR (vondatum=".$this->db_add_param($datum)." AND bisdatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde)." AND bisstunde>=".$this->db_add_param($stunde).")
OR (vondatum=".$this->db_add_param($datum)." AND bisdatum>".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).")
OR (vondatum<".$this->db_add_param($datum)." AND bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") )";
OR (vondatum<".$this->db_add_param($datum)." AND bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") )";
//echo $sql_query.'<br>';
if (!$this->db_query($sql_query))
{
@@ -599,10 +597,10 @@ class lehreinheit extends basis_db
return true;
else
{
$row=$this->db_fetch_object($erg_zs);
$row=$this->db_fetch_object($erg_zs);
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->mitarbeiter_uid|$row->zeitsperretyp_kurzbz|$row->bezeichnung|$row->vondatum/$row->vonstunde-$row->bisdatum/$row->bisstunde - $row->vertretung_uid";
return false;
}
}
}
return true;
}
@@ -611,7 +609,7 @@ class lehreinheit extends basis_db
$row=$this->db_fetch_object($erg_res);
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
return false;
}
}
}
return true;
}
@@ -699,7 +697,7 @@ class lehreinheit extends basis_db
{
$this->errormsg='';
$this->lehreinheiten=array();
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
if (mb_strlen($studiensemester)<=0)
@@ -728,8 +726,8 @@ class lehreinheit extends basis_db
$where.=" AND fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz);
}
$sql_query='SELECT *, planstunden-verplant::smallint AS offenestunden
FROM
lehre.'.$lva_stpl_view.'
FROM
lehre.'.$lva_stpl_view.'
JOIN lehre.tbl_lehrform ON '.$lva_stpl_view.'.lehrform=tbl_lehrform.lehrform_kurzbz
WHERE '.$where.' AND verplanen';
if($orgform_kurzbz!='')
@@ -737,7 +735,7 @@ class lehreinheit extends basis_db
if($order=='')
$order='offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz';
$sql_query.=" ORDER BY $order;";
if(!$this->db_query($sql_query))
@@ -806,7 +804,7 @@ class lehreinheit extends basis_db
$this->errormsg = 'Lehreinheit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob schon eine Kreuzerlliste fuer diese Lehreinheit angelegt wurde.
//Falls ja dann wird das loeschen verweigert
$qry = "SELECT count(*) as anzahl FROM campus.tbl_uebung WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER).";";
@@ -955,9 +953,9 @@ class lehreinheit extends basis_db
*/
public function getLehreinheitDetails($lehreinheit_id)
{
$qry = "SELECT
*, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz
FROM
$qry = "SELECT
*, tbl_lehrveranstaltung.semester as lv_semester, tbl_lehrveranstaltung.studiengang_kz as lv_studiengang_kz
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(lehrfach_id=lehrfach.lehrveranstaltung_id)
JOIN public.tbl_fachbereich USING(oe_kurzbz)
+23 -25
View File
@@ -47,7 +47,7 @@ class lehreinheitgruppe extends basis_db
public function __construct($lehreinheitgruppe_id=null)
{
parent::__construct();
if(!is_null($lehreinheitgruppe_id))
$this->load($lehreinheitgruppe_id);
}
@@ -81,10 +81,10 @@ class lehreinheitgruppe extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
return true;
}
else
else
{
$this->errormsg = 'Es existiert kein Eintrag mit dieser ID';
return false;
@@ -154,14 +154,13 @@ class lehreinheitgruppe extends basis_db
if($new)
{
$qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, ext_id, insertamum, insertvon)
$qry = 'INSERT INTO lehre.tbl_lehreinheitgruppe (lehreinheit_id, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, insertamum, insertvon)
VALUES('.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','.
$this->db_add_param($this->semester, FHC_INTEGER).','.
$this->db_add_param($this->verband).','.
$this->db_add_param($this->gruppe).','.
$this->db_add_param($this->gruppe_kurzbz).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
}
@@ -174,7 +173,6 @@ class lehreinheitgruppe extends basis_db
' verband='.$this->db_add_param($this->verband).','.
' gruppe='.$this->db_add_param($this->gruppe).','.
' gruppe_kurzbz='.$this->db_add_param($this->gruppe_kurzbz).','.
' ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE lehreinheitgruppe_id=".$this->db_add_param($this->lehreinheitgruppe_id, FHC_INTEGER).";";
@@ -251,7 +249,7 @@ class lehreinheitgruppe extends basis_db
}
$qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -370,51 +368,51 @@ class lehreinheitgruppe extends basis_db
*/
public function checkVorhanden()
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER)." AND
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_lehreinheitgruppe
WHERE
lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER)." AND
studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER);
if($this->semester!='')
$qry.=" AND semester=".$this->db_add_param($this->semester, FHC_INTEGER);
else
else
$qry.=" AND (semester='' OR semester is null)";
if($this->verband!='')
$qry.=" AND trim(verband)=".$this->db_add_param($this->verband);
else
else
$qry.=" AND (trim(verband)='' OR verband is null)";
if($this->gruppe!='')
$qry.=" AND trim(gruppe)=".$this->db_add_param($this->gruppe);
else
else
$qry.=" AND (trim(gruppe)='' OR gruppe is null)";
if($this->gruppe_kurzbz!='')
$qry.=" AND trim(gruppe_kurzbz)=".$this->db_add_param($this->gruppe_kurzbz);
else
else
$qry.= " AND (trim(gruppe_kurzbz)='' OR gruppe_kurzbz is null)";
$qry.=';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
else
else
return false;
}
else
else
{
$this->errormsg = 'Interner Fehler';
return false;
}
}
else
else
{
$this->errormsg='Fehler bei einer Abfrage';
return false;
+10 -9
View File
@@ -230,7 +230,7 @@ class lehreinheitmitarbeiter extends basis_db
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, vertrag_id)
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, insertamum, insertvon, vertrag_id)
VALUES('.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
$this->db_add_param($this->semesterstunden).','.
@@ -240,7 +240,6 @@ class lehreinheitmitarbeiter extends basis_db
$this->db_add_param($this->anmerkung).','.
$this->db_add_param($this->lehrfunktion_kurzbz).','.
$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->vertrag_id).');';
@@ -269,8 +268,7 @@ class lehreinheitmitarbeiter extends basis_db
' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' vertrag_id='.$this->db_add_param($this->vertrag_id).','.
' ext_id = '.$this->db_add_param($this->ext_id, FHC_INTEGER).
' vertrag_id='.$this->db_add_param($this->vertrag_id).
$setinsert.
" WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER)." AND
mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid_old).";";
@@ -325,7 +323,7 @@ class lehreinheitmitarbeiter extends basis_db
* @param $uid
* @return true wenn die Zuteilung existiert sonst false
*/
public function existsLV($lehrveranstaltung_id, $studiensemester_kurzbz, $uid)
public function existsLV($lehrveranstaltung_id, $studiensemester_kurzbz=NULL, $uid)
{
if(!is_numeric($lehrveranstaltung_id))
{
@@ -340,8 +338,12 @@ class lehreinheitmitarbeiter extends basis_db
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND mitarbeiter_uid=".$this->db_add_param($uid).';';
AND mitarbeiter_uid=".$this->db_add_param($uid);
if(!is_null($studiensemester_kurzbz))
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ";";
if($this->db_query($qry))
{
@@ -378,7 +380,7 @@ class lehreinheitmitarbeiter extends basis_db
if($row = $this->db_fetch_object())
{
$undo = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden, '.
' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, updateamum, updatevon)'.
' stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, insertamum, insertvon, updateamum, updatevon)'.
' VALUES('.$this->db_add_param($row->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($row->mitarbeiter_uid).','.
$this->db_add_param($row->semesterstunden).','.
@@ -388,7 +390,6 @@ class lehreinheitmitarbeiter extends basis_db
$this->db_add_param($row->anmerkung).','.
$this->db_add_param($row->lehrfunktion_kurzbz).','.
$this->db_add_param($this->db_parse_bool($row->bismelden), FHC_BOOLEAN).','.
$this->db_add_param($row->ext_id, FHC_INTEGER).','.
$this->db_add_param($row->insertamum).','.
$this->db_add_param($row->insertvon).','.
$this->db_add_param($row->updateamum).','.
+13 -16
View File
@@ -45,7 +45,7 @@ class lehrfach extends basis_db
public function __construct($lehrfach_id=null)
{
parent::__construct();
if(!is_null($lehrfach_id))
$this->load($lehrfach_id);
}
@@ -62,7 +62,7 @@ class lehrfach extends basis_db
$this->errormsg = 'Die lehrfach_nr muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_lehrfach WHERE lehrfach_id=".$this->db_add_param($lehrfach_id, FHC_INTEGER).';';
if(!$this->db_query($qry))
@@ -143,7 +143,7 @@ class lehrfach extends basis_db
return true;
}
/**
* Speichert das Lehrfach in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
@@ -158,19 +158,17 @@ class lehrfach extends basis_db
if($this->new)
{
$qry = 'BEGIN;INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
bezeichnung, farbe, aktiv, semester, sprache, ext_id)
$qry = 'BEGIN;INSERT INTO lehre.tbl_lehrfach (studiengang_kz, fachbereich_kurzbz, kurzbz,
bezeichnung, farbe, aktiv, semester, sprache)
VALUES('.
($this->lehrfach_id!=''?$this->db_add_param($this->lehrfach_id, FHC_INTEGER):"nextval('lehre.tbl_lehrfach_lehrfach_id_seq')").','. // HuschPfusch 4 Syncro
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','.
$this->db_add_param($this->fachbereich_kurzbz).','.
$this->db_add_param($this->kurzbz).','.
$this->addslashes($this->bezeichnung).','.
$this->addslashes($this->farbe).','.
$this->addslashes($this->aktiv, FHC_BOOLEAN).','.
$this->addslashes($this->semester, FHC_INTEGER).','.
$this->addslashes($this->sprache).','.
$this->addslashes($this->ext_id, FHC_INTEGER).');';
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->farbe).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->semester, FHC_INTEGER).','.
$this->db_add_param($this->sprache).');';
}
else
{
@@ -189,7 +187,6 @@ class lehrfach extends basis_db
' farbe='.$this->db_add_param($this->farbe).','.
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
' semester='.$this->db_add_param($this->semester, FHC_INTEGER).','.
' ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).','.
' sprache='.$this->db_add_param($this->sprache).
" WHERE lehrfach_id=".$this->db_add_param($this->lehrfach_id, FHC_INTEGER).';';
}
@@ -207,14 +204,14 @@ class lehrfach extends basis_db
{
$this->lehrfach_id = $row->id;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -299,4 +296,4 @@ class lehrfach extends basis_db
return true;
}
}
?>
?>
File diff suppressed because it is too large Load Diff
+106 -91
View File
@@ -42,7 +42,7 @@ class mitarbeiter extends benutzer
public $stundensatz;
public $anmerkung;
public $bismelden;
public $kleriker;
public $kleriker;
public $vorgesetzte=array();
public $untergebene=array();
@@ -53,7 +53,7 @@ class mitarbeiter extends benutzer
public function __construct($uid=null)
{
parent::__construct();
//Mitarbeiter laden
if($uid!=null)
$this->load($uid);
@@ -70,9 +70,9 @@ class mitarbeiter extends benutzer
if(!benutzer::load($uid))
return false;
$qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
$qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid)
WHERE mitarbeiter_uid=".$this->db_add_param($uid).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -89,7 +89,7 @@ class mitarbeiter extends benutzer
$this->anmerkung = $row->anmerkung;
$this->ext_id_mitarbeiter = $row->ext_id;
$this->bismelden = $this->db_parse_bool($row->bismelden);
$this->kleriker = $this->db_parse_bool($row->kleriker);
$this->kleriker = $this->db_parse_bool($row->kleriker);
$this->urlaubstageprojahr = $row->urlaubstageprojahr;
$this->resturlaubstage = $row->resturlaubstage;
@@ -261,7 +261,7 @@ class mitarbeiter extends benutzer
}
//Neuen Datensatz anlegen
$qry = "INSERT INTO public.tbl_mitarbeiter(mitarbeiter_uid, ausbildungcode, personalnummer, kurzbz, lektor, ort_kurzbz,
fixangestellt, standort_id, telefonklappe, anmerkung, stundensatz, updateamum, updatevon, insertamum, insertvon, ext_id, bismelden,kleriker)
fixangestellt, standort_id, telefonklappe, anmerkung, stundensatz, updateamum, updatevon, insertamum, insertvon, bismelden,kleriker)
VALUES(".$this->db_add_param($this->uid).",".
$this->db_add_param($this->ausbildungcode, FHC_INTEGER).",".
@@ -278,7 +278,6 @@ class mitarbeiter extends benutzer
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id_mitarbeiter, FHC_INTEGER).','.
$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
$this->db_add_param($this->kleriker, FHC_BOOLEAN).');';
}
@@ -299,8 +298,7 @@ class mitarbeiter extends benutzer
' anmerkung='.$this->db_add_param($this->anmerkung).','.
' stundensatz='.$this->db_add_param($this->stundensatz).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' ext_id='.$this->db_add_param($this->ext_id_mitarbeiter, FHC_INTEGER).
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE mitarbeiter_uid=".$this->db_add_param($this->uid).";";
}
@@ -317,7 +315,7 @@ class mitarbeiter extends benutzer
return false;
}
}
/**
* gibt array mit allen Mitarbeitern zurueck
* @return array mit Mitarbeitern
@@ -350,9 +348,9 @@ class mitarbeiter extends benutzer
$stg = new studiengang($stg_kz);
$sql_query.=" AND oe_kurzbz=".$this->db_add_param($stg->oe_kurzbz);
}
$sql_query.=' ORDER BY nachname, vornamen, kurzbz;';
if(!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
@@ -387,7 +385,7 @@ class mitarbeiter extends benutzer
$l->fixangestellt= $this->db_parse_bool($row->fixangestellt);
$l->standort_id = $row->standort_id;
$l->telefonklappe=$row->telefonklappe;
// Lektor in Array speichern
$result[]=$l;
}
@@ -435,14 +433,14 @@ class mitarbeiter extends benutzer
{
if($datum_von=='')
$sql_query.=" AND (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())";
else
else
$sql_query.=" AND (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=".$this->db_add_param($datum_von).")";
}
if(!is_null($datum_bis))
{
if($datum_bis=='')
$sql_query.=" AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())";
else
else
$sql_query.=" AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=".$this->db_add_param($datum_bis).")";
}
if ($stge!=null)
@@ -462,13 +460,13 @@ class mitarbeiter extends benutzer
}
$sql_query.=' ORDER BY '.$order.';';
//echo $sql_query;
if(!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
return false;
}
$num_rows=$this->db_num_rows();
$result=array();
for($i=0;$i<$num_rows;$i++)
@@ -523,15 +521,15 @@ class mitarbeiter extends benutzer
WHERE ((".$this->db_add_param($von)."<=bisdatum AND ".$this->db_add_param($bis).">=bisdatum) OR (".$this->db_add_param($bis).">=vondatum AND ".$this->db_add_param($von)."<=vondatum))";
if($uid!=null)
$sql_query .= " AND mitarbeiter_uid=".$this->db_add_param($uid);
$sql_query .= " ORDER BY nachname;";
if(!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
return false;
}
$num_rows=$this->db_num_rows();
$result=array();
for($i=0;$i<$num_rows;$i++)
@@ -545,7 +543,7 @@ class mitarbeiter extends benutzer
$l->vorname=$row->vorname;
$l->vornamen=$row->vornamen;
$l->nachname=$row->nachname;
// Lektor in Array speichern
$result[]=$l;
}
@@ -645,7 +643,7 @@ class mitarbeiter extends benutzer
* @param $verwendung wenn true werden alle geladen die eine BIS-Verwendung eingetragen haben
* @return boolean
*/
public function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung)
public function getPersonal($fix, $stgl, $fbl, $aktiv, $karenziert, $verwendung, $vertragnochnichtretour=null)
{
$qry = "SELECT distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE true";
@@ -655,13 +653,13 @@ class mitarbeiter extends benutzer
$qry .= " AND fixangestellt=false";
if($stgl)
{
$qry .= " AND funktion_kurzbz='Leitung' AND EXISTS(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz)
$qry .= " AND funktion_kurzbz='Leitung' AND EXISTS(SELECT studiengang_kz FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz)
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())";
}
if($fbl)
{
$qry .= " AND funktion_kurzbz='Leitung' AND EXISTS(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich fb WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz AND fb.aktiv)
$qry .= " AND funktion_kurzbz='Leitung' AND EXISTS(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich fb WHERE oe_kurzbz=tbl_benutzerfunktion.oe_kurzbz AND fb.aktiv)
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())";
}
@@ -679,7 +677,15 @@ class mitarbeiter extends benutzer
{
$qry.=" AND NOT EXISTS(SELECT * FROM bis.tbl_bisverwendung WHERE (ende>now() or ende is null) AND tbl_bisverwendung.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid)";
}
if($vertragnochnichtretour=='true')
{
$qry.=" AND EXISTS(SELECT * FROM lehre.tbl_vertrag
WHERE person_id=tbl_benutzer.person_id
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='retour')
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')
)";
}
$qry.=';';
if($this->db_query($qry))
{
@@ -775,7 +781,7 @@ class mitarbeiter extends benutzer
*/
public function getMitarbeiterFilter($filter)
{
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter).';';
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE lower(nachname) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter).';';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -792,7 +798,7 @@ class mitarbeiter extends benutzer
$this->result[] = $obj;
}
return true;
}
else
@@ -801,7 +807,7 @@ class mitarbeiter extends benutzer
return false;
}
}
/**
* Sucht die Mitarbeiter deren
* Nachname, Vorname, UID $filter enthaelt
@@ -810,8 +816,8 @@ class mitarbeiter extends benutzer
public function search($filter, $limit=null, $aktiv=true)
{
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid
FROM campus.vw_mitarbeiter
WHERE
FROM campus.vw_mitarbeiter
WHERE
lower(nachname) like lower('%".$this->db_escape($filter)."%')
OR lower(uid) like lower('%".$this->db_escape($filter)."%')
OR lower(vorname) like lower('%".$this->db_escape($filter)."%')
@@ -839,7 +845,7 @@ class mitarbeiter extends benutzer
$this->result[] = $obj;
}
return true;
}
else
@@ -848,7 +854,7 @@ class mitarbeiter extends benutzer
return false;
}
}
/**
* Liefert die Personen die den Suchkriterien entsprechen
*
@@ -993,24 +999,24 @@ class mitarbeiter extends benutzer
$return=false;
if (is_null($uid))
$uid=$this->uid;
$qry = "SELECT
$qry = "SELECT
uid as vorgesetzter
FROM
FROM
public.tbl_benutzerfunktion
WHERE
WHERE
funktion_kurzbz='Leitung' AND
(datum_von is null OR datum_von<=now()) AND
(datum_bis is null OR datum_bis>=now()) AND
oe_kurzbz in (SELECT oe_kurzbz
FROM public.tbl_benutzerfunktion
WHERE
oe_kurzbz in (SELECT oe_kurzbz
FROM public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
(datum_von is null OR datum_von<=now()) AND
(datum_bis is null OR datum_bis>=now())
);";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -1021,16 +1027,16 @@ class mitarbeiter extends benutzer
$return=true;
}
}
$this->vorgesetzte = array_unique($this->vorgesetzte);
}
else
else
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage!';
}
return $return;
}
/**
* Gibt ein Array mit den UIDs der Untergebenen zurueck
*/
@@ -1038,13 +1044,13 @@ class mitarbeiter extends benutzer
{
if (is_null($uid))
$uid=$this->uid;
// Organisationseinheiten holen von denen die Person die Leitung hat
$qry = "SELECT * FROM public.tbl_benutzerfunktion
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE funktion_kurzbz='Leitung' AND uid=".$this->db_add_param($uid)." 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())";
if($this->db_query($qry))
{
$oe='';
@@ -1055,21 +1061,21 @@ class mitarbeiter extends benutzer
$oe.=$this->db_add_param($row->oe_kurzbz);
}
}
//Alle Personen holen die dieser Organisationseinheit untergeordnet sind
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE ((funktion_kurzbz='oezuordnung' AND (false ";
if($oe!='')
$qry.=" OR oe_kurzbz in($oe)";
$qry.=")) ";
if($oe!='')
$qry.=" OR (funktion_kurzbz='ass' AND oe_kurzbz in($oe))";
$qry.= ") 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());";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -1078,66 +1084,75 @@ class mitarbeiter extends benutzer
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Untergebenen';
return false;
}
}
/**
*
* Liefert MitarbeiterInnen für die Verwaltung der Zutrittskarten
*
* @param $filter Buchstabe mit dem der Mitarbeiter beginnt
* @param $fixangestellt false wenn externer mitarbeiter
* @param $studSemArray Array mit Studiensemestern in denen der externe Lektor zumindest in einem Unterrichtet haben soll
* @return boolean
* @param $studSemArray Array mit Studiensemestern in denen der externe Lektor zumindest in einem Unterrichtet haben soll oder NULL. Wenn NULL werden nur externe Mitarbeiter ohne Lehrauftrag ausgegeben.
* @return boolean
*/
public function getMitarbeiterForZutrittskarte($filter, $fixangestellt=true, $studSemArray)
{
$qry = "SELECT
vorname,nachname,gebdatum,uid,personalnummer,person_id
FROM
campus.vw_mitarbeiter
$qry = "SELECT
vorname,nachname,gebdatum,uid,personalnummer,person_id
FROM
campus.vw_mitarbeiter
WHERE
aktiv='true'";
if($filter!='')
$qry.=" AND UPPER(SUBSTRING(nachname,1,1))=".$this->db_add_param($filter,FHC_STRING);
if($filter!='')
$qry.=" AND UPPER(SUBSTRING(nachname,1,1))=".$this->db_add_param($filter,FHC_STRING);
if($fixangestellt)
$qry.=" AND fixangestellt";
else
$qry.=" AND NOT fixangestellt AND EXISTS
(SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid
AND tbl_lehreinheit.studiensemester_kurzbz in (".$this->implode4SQL($studSemArray).")) ";
{
if ($studSemArray==null)
$qry.=" AND NOT fixangestellt AND personalnummer>0 AND NOT EXISTS
(SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid) ";
else
$qry.=" AND NOT fixangestellt AND EXISTS
(SELECT * FROM lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE tbl_lehreinheitmitarbeiter.mitarbeiter_uid=uid
AND tbl_lehreinheit.studiensemester_kurzbz in (".$this->implode4SQL($studSemArray).")) ";
}
$qry.=" ORDER BY nachname, vorname";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$mi = new mitarbeiter();
$mi->vorname = $row->vorname;
$mi->nachname = $row->nachname;
$mi->gebdatum = $row->gebdatum;
$mi->uid = $row->uid;
$mi->personalnummer = $row->personalnummer;
$mi->person_id = $row->person_id;
$this->result[] = $mi;
$mi = new mitarbeiter();
$mi->vorname = $row->vorname;
$mi->nachname = $row->nachname;
$mi->gebdatum = $row->gebdatum;
$mi->uid = $row->uid;
$mi->personalnummer = $row->personalnummer;
$mi->person_id = $row->person_id;
$this->result[] = $mi;
}
return true;
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
return false;
}
}
/**
* Gibt alle Mitarbeiter während des Meldezeitraumes zurück
* @param type $meldungBeginn Start des Meldezeitraumes
@@ -1147,20 +1162,20 @@ class mitarbeiter extends benutzer
public function getMitarbeiterforMeldung($meldungBeginn, $meldungEnde)
{
$qry='SELECT DISTINCT ON (UID) *
FROM
public.tbl_mitarbeiter
$qry='SELECT DISTINCT ON (UID) *
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)
JOIN public.tbl_person USING(person_id)
JOIN bis.tbl_bisverwendung USING(mitarbeiter_uid)
JOIN bis.tbl_beschaeftigungsausmass USING(beschausmasscode)
WHERE
bismelden
AND personalnummer>0
WHERE
bismelden
AND personalnummer>0
AND (tbl_bisverwendung.ende is NULL OR tbl_bisverwendung.ende>'.$this->db_add_param($meldungBeginn).')
ORDER BY uid, nachname,vorname
';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
+170 -147
View File
@@ -21,7 +21,7 @@
* Moodle 2.4 Connector Klasse
*
* FHComplete Moodle Plugin muss installiert sein fuer
* Webservice Funktion 'fhcomplete_courses_by_shortname'
* Webservice Funktion 'fhcomplete_courses_by_shortname'
* 'fhcomplete_get_course_grades'
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -44,28 +44,28 @@ class moodle24_course extends basis_db
public $insertamum;
public $insertvon;
public $gruppen;
//Moodle Attribute
public $mdl_fullname;
public $mdl_shortname;
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_semester;
public $lehrveranstaltung_semester;
public $lehrveranstaltung_studiengang_kz;
// Kurs Resourcen - Anzahl
// Kurs Resourcen - Anzahl
public $mdl_benotungen;
public $mdl_resource;
public $mdl_quiz;
public $mdl_chat;
public $mdl_forum;
public $mdl_choice;
public $note;
/**
* Konstruktor
*
*
*/
public function __construct()
{
@@ -74,7 +74,7 @@ class moodle24_course extends basis_db
$this->serverurl=$pfad.'/webservice/soap/server.php?wsdl=1&wstoken='.MOODLE_TOKEN24.'&'.microtime(true);
return true;
}
/**
* Laedt einen MoodleKurs
* @param mdl_course_id ID des Moodle Kurses
@@ -84,21 +84,21 @@ class moodle24_course extends basis_db
{
$this->mdl_fullname = '';
$this->mdl_shortname = '';
$this->errormsg='';
$this->result=array();
if (!is_null($mdl_course_id))
$this->mdl_course_id=$mdl_course_id;
if (is_null($this->mdl_course_id)
|| empty($this->mdl_course_id)
if (is_null($this->mdl_course_id)
|| empty($this->mdl_course_id)
|| !is_numeric($this->mdl_course_id))
{
$this->errormsg='Moodle Kurs ID fehlt';
return false;
}
$client = new SoapClient($this->serverurl);
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
if($response)
@@ -110,19 +110,19 @@ class moodle24_course extends basis_db
$this->mdl_course_id = $response[0]['id'];
return true;
}
else
else
{
$this->errormsg = 'Kurs wurde nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Kurses';
return false;
}
}
/**
* Legt einen Eintrag in der tbl_moodle an
* @return true wenn ok, false im Fehlerfall
@@ -134,8 +134,8 @@ class moodle24_course extends basis_db
$this->errormsg='mdl_course_id muss angegeben sein';
return false;
}
$qry = 'BEGIN; INSERT INTO lehre.tbl_moodle(mdl_course_id, lehreinheit_id, lehrveranstaltung_id,
$qry = 'BEGIN; INSERT INTO lehre.tbl_moodle(mdl_course_id, lehreinheit_id, lehrveranstaltung_id,
studiensemester_kurzbz, insertamum, insertvon, gruppen, moodle_version)
VALUES('.
$this->db_add_param($this->mdl_course_id, FHC_INTEGER).','.
@@ -157,27 +157,27 @@ class moodle24_course extends basis_db
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Lesen der Sequence';
return false;
}
}
}
else
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Lesen der Sequence';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Einfuegen des Datensatzes';
return false;
}
}
/**
* Legt einen Kurs im Moodle an
* @return true wenn ok, false im Fehlerfall
@@ -185,11 +185,11 @@ class moodle24_course extends basis_db
public function create_moodle()
{
//CourseCategorie ermitteln
//lehrveranstalung ID holen falls die nur die lehreinheit_id angegeben wurde
if($this->lehrveranstaltung_id=='')
{
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER);
if($res=$this->db_query($qry))
{
@@ -197,27 +197,27 @@ class moodle24_course extends basis_db
{
$lvid = $row->lehrveranstaltung_id;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der LehrveranstaltungID';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der LehrveranstaltungID';
return false;
}
}
else
else
$lvid = $this->lehrveranstaltung_id;
//Studiengang und Semester holen
$qry = "SELECT tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg,
studiengang_kz, tbl_studiengang.oe_kurzbz
FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id=".$this->db_add_param($lvid, FHC_INTEGER);
if($res=$this->db_query($qry))
{
if($row = $this->db_fetch_object($res))
@@ -227,33 +227,33 @@ class moodle24_course extends basis_db
$stg_kz = $row->studiengang_kz;
$oe_kurzbz = $row->oe_kurzbz;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
return false;
}
// Kategoriebau Aufbauen
if(defined('MOODLE_COURSE_SCHEMA') && MOODLE_COURSE_SCHEMA=='DEP-STG-JG-STSEM')
{
// Struktur: Department -> STG -> Jahrgang -> StSem (Informationstechnologie und Informationsmanagement -> BIMK -> Jahrgang 2014 -> WS2014)
// Studiengang der Lehrveranstaltung holen
// Uebergeordnetes Department ermitteln
$qry = 'SELECT
bezeichnung
FROM
public.tbl_organisationseinheit
WHERE
$qry = 'SELECT
bezeichnung
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz=(SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit WHERE oe_kurzbz='.$this->db_add_param($oe_kurzbz).')';
if($result_department = $this->db_query($qry))
{
if($row_department = $this->db_fetch_object($result_department))
@@ -272,14 +272,14 @@ class moodle24_course extends basis_db
if(!$id_department = $this->createCategorie($department, '0'))
echo "<br>$this->errormsg";
}
// Studiengang
if(!$id_stg = $this->getCategorie($stg, $id_department))
{
if(!$id_stg = $this->createCategorie($stg, $id_department))
echo "<br>$this->errormsg";
}
// Jahrgang - 1. Studiensemester ermitteln (Stsem um Ausbsem -1 zurückspringen) und das Jahr ermitteln
$studiensemester = new studiensemester();
if($semester!=0)
@@ -295,26 +295,26 @@ class moodle24_course extends basis_db
$datum = new Datum();
$jahr = $datum->formatDatum($studiensemester->start, 'Y');
if(!$id_jahrgang = $this->getCategorie('Jahrgang '.$jahr, $id_stg))
{
if(!$id_jahrgang = $this->createCategorie('Jahrgang '.$jahr, $id_stg))
echo "<br>$this->errormsg";
}
// Studiensemester
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, $id_jahrgang))
{
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, $id_jahrgang))
echo "<br>Fehler beim Anlegen des Studiensemesters";
}
$categoryid=$id_stsem;
}
else
{
// Struktur: STSEM -> STG -> Ausbsemester (WS2014 -> BEL -> 1)
//Studiensemester Categorie holen
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0'))
{
@@ -335,41 +335,48 @@ class moodle24_course extends basis_db
}
$categoryid=$id_sem;
}
$client = new SoapClient($this->serverurl);
$data = new stdClass();
$data->fullname=$this->mdl_fullname;
$data->shortname=$this->mdl_shortname;
$data->categoryid=$categoryid;
$data->format='topics';
$stsem = new studiensemester();
$stsem->load($this->studiensemester_kurzbz);
$datum_obj = new datum();
$data->startdate=$datum_obj->mktime_fromdate($stsem->start);
$response = $client->core_course_create_courses(array($data));
if(isset($response[0]))
try
{
$this->mdl_course_id=$response[0]['id'];
return true;
$client = new SoapClient($this->serverurl);
$data = new stdClass();
$data->fullname=$this->mdl_fullname;
$data->shortname=$this->mdl_shortname;
$data->categoryid=$categoryid;
$data->format='topics';
$stsem = new studiensemester();
$stsem->load($this->studiensemester_kurzbz);
$datum_obj = new datum();
$data->startdate=$datum_obj->mktime_fromdate($stsem->start);
$response = $client->core_course_create_courses(array($data));
if(isset($response[0]))
{
$this->mdl_course_id=$response[0]['id'];
return true;
}
else
{
$this->errormsg = 'Fehler beim Anlegen des Kurses';
return false;
}
}
else
catch (SoapFault $E)
{
$this->errormsg = 'Fehler beim Anlegen des Kurses';
$this->errormsg.="SOAP Fehler beim Anlegen des Kurses: ".$E->faultstring;
return false;
}
return true;
}
/**
* Laedt die ID einer Kurskategorie anhand der Bezeichnung und der ParentID
*
* @param bezeichnung Bezeichnung der Kategorie
* @param parent ID der uebergeordneten Kurskategorie
*
*
* @return id der Kategorie oder false im Fehlerfall
*/
public function getCategorie($bezeichnung, $parent)
@@ -385,20 +392,29 @@ class moodle24_course extends basis_db
return false;
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_categories(array(array('key'=>'name','value'=>$bezeichnung),array('key'=>'parent','value'=>$parent)));
if(isset($response[0]))
{
return $response[0]['id'];
}
else
try
{
$this->errormsg = 'Fehler beim Laden der Kurskategorie';
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_categories(array(array('key'=>'name','value'=>$bezeichnung),array('key'=>'parent','value'=>$parent)));
if(isset($response[0]))
{
return $response[0]['id'];
}
else
{
$this->errormsg = 'Fehler beim Laden der Kurskategorie';
return false;
}
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Laden der Kurskategorie: ".$E->faultstring;
return false;
}
}
/**
* Erzeugt eine Kurskategorie anhand der Bezeichnung und der ParentID
* @param bezeichnung Bezeichnung der Kategorie
@@ -417,25 +433,32 @@ class moodle24_course extends basis_db
return false;
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_create_categories(array(array('name'=>$bezeichnung,'parent'=>$parent)));
if(isset($response[0]))
try
{
return $response[0]['id'];
}
else
{
$this->errormsg = 'Fehler beim Anlegen der Kategorie';
return false;
}
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_create_categories(array(array('name'=>$bezeichnung,'parent'=>$parent)));
if(isset($response[0]))
{
return $response[0]['id'];
}
else
{
$this->errormsg = 'Fehler beim Anlegen der Kategorie';
return false;
}
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Anlegen der Kategorie: ".$E->faultstring;
}
}
/**
* Aktualisiert die Spalte gruppen in der tbl_moodle
* @param moodle_id ID der MoodleZuteilung
* gruppen boolean true wenn syncronisiert
* gruppen boolean true wenn syncronisiert
* werden soll, false wenn nicht
* @return true wenn ok, false im Fehlerfall
*
@@ -448,39 +471,39 @@ class moodle24_course extends basis_db
$this->errormsg = 'Moodle_id muss eine gueltige Zahl sein';
return false;
}
$qry = "UPDATE lehre.tbl_moodle SET gruppen=".$this->db_add_param($gruppen, FHC_BOOLEAN)."
$qry = "UPDATE lehre.tbl_moodle SET gruppen=".$this->db_add_param($gruppen, FHC_BOOLEAN)."
WHERE moodle_id=".$this->db_add_param($moodle_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Update';
return false;
}
}
}
/**
* Legt einen Testkurs an
*/
public function createTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz)
{
{
//CourseCategorie ermitteln
//Studiengang und Semester holen
$qry = "SELECT
tbl_lehrveranstaltung.semester,
UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg
FROM
lehre.tbl_lehrveranstaltung
$qry = "SELECT
tbl_lehrveranstaltung.semester,
UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -488,18 +511,18 @@ class moodle24_course extends basis_db
$semester = $row->semester;
$stg = $row->stg;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
return false;
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
{
@@ -518,8 +541,8 @@ class moodle24_course extends basis_db
return false;
}
}
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$data = new stdClass();
$data->fullname=$this->mdl_fullname;
@@ -537,9 +560,9 @@ class moodle24_course extends basis_db
{
$this->errormsg = 'Fehler beim Anlegen des Testkurses';
return false;
}
}
}
/**
* Laedt den Testkurs zu dieser Lehrveranstaltung
* @param lehrveranstaltung_id
@@ -555,32 +578,32 @@ class moodle24_course extends basis_db
lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER, false);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$shortname = mb_strtoupper('TK-'.$studiensemester_kurzbz.'-'.$row->kuerzel.'-'.$row->semester.'-'.$row->kurzbz);
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Testkurses';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Testkurses';
return false;
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
{
$this->errormsg = 'Categorie nicht gefunden';
return false;
}
//StSem Categorie holen
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
{
@@ -605,19 +628,19 @@ class moodle24_course extends basis_db
}
}
/**
* Laedt die Moodle Noten zu allen Moodlekursen einer Lehrveranstaltung
* @param lehrveranstaltung_id
* @param $studiensemester_kurzbz
*
*
* @return objekt mit den Noten der Teilnehmer dieses Kurses
*/
public function loadNoten($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$this->errormsg='';
$this->result=null;
$this->errormsg='';
$this->result=null;
if($lehrveranstaltung_id=='' || $studiensemester_kurzbz=='')
{
$this->errormsg = 'LehrveranstaltungID und Studiensemester_kurzbz muss uebergeben werden';
@@ -626,40 +649,40 @@ class moodle24_course extends basis_db
// Ermitteln die Lehreinheiten und Moodle ID
$qry = "
SELECT
SELECT
distinct mdl_course_id
FROM
lehre.tbl_moodle
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
WHERE
tbl_moodle.lehrveranstaltung_id > 0
WHERE
tbl_moodle.lehrveranstaltung_id > 0
AND moodle_version='2.4'
AND tbl_moodle.lehrveranstaltung_id =".$this->db_add_param($lehrveranstaltung_id)."
AND tbl_moodle.studiensemester_kurzbz =".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT
UNION
SELECT
distinct mdl_course_id
FROM
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id > 0
AND moodle_version='2.4'
AND tbl_lehreinheit.lehrveranstaltung_id =".$this->db_add_param($lehrveranstaltung_id)."
AND tbl_lehreinheit.lehrveranstaltung_id =".$this->db_add_param($lehrveranstaltung_id)."
AND tbl_moodle.studiensemester_kurzbz =".$this->db_add_param($studiensemester_kurzbz).";";
if(!$result_moodle=$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Lesen der Moodle Kurse , '.$this->errormsg;
return false;
}
}
while($row_moodle = $this->db_fetch_object($result_moodle))
{
try
{
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
if(CIS_GESAMTNOTE_PUNKTE)
$type=2; // Prozentpunkte
else
@@ -668,7 +691,7 @@ class moodle24_course extends basis_db
$response = $client->fhcomplete_get_course_grades($row_moodle->mdl_course_id, $type);
if (count($response)>0)
if (count($response)>0)
{
foreach($response as $row)
@@ -684,7 +707,7 @@ class moodle24_course extends basis_db
$userobj->note = $row['note'];
$this->result[]=$userobj;
}
}
}
}
}
catch(SoapFault $e)
@@ -696,19 +719,19 @@ class moodle24_course extends basis_db
}
return true;
}
/**
* Loescht einen Moodle Course im Moodel
* Loescht einen Moodle Course im Moodel
* Wenn erfolgreich gelöscht wird kein Wert in response zurückgegeben
* @param mdl_course_id
*
*
*/
public function deleteKurs($mdl_course_id)
{
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$data = array($mdl_course_id);
$data = array($mdl_course_id);
$response = $client->core_course_delete_courses(array($mdl_course_id));
if(isset($response[0]))
@@ -718,6 +741,6 @@ class moodle24_course extends basis_db
}
return true;
}
}
+319 -137
View File
@@ -19,9 +19,9 @@
*/
/*
* Connector fuer Moodle 2.4 User
*
*
* FHComplete Moodle Plugin muss installiert sein fuer
* Webservice Funktion 'fhcomplete_user_get_users'
* Webservice Funktion 'fhcomplete_user_get_users'
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/moodle.class.php');
@@ -33,12 +33,12 @@ class moodle24_user extends basis_db
public $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro
public $group_update=0; //anzahl der updates an gruppen
private $serverurl;
public $mdl_user_id;
public $mdl_user_username;
public $mdl_user_firstname;
public $mdl_user_lastname;
/**
* Konstruktor
*/
@@ -58,45 +58,53 @@ class moodle24_user extends basis_db
*/
public function loaduser($uid)
{
$client = new SoapClient($this->serverurl);
$response = $client->fhcomplete_user_get_users(array(array('key'=>'username', 'value'=>$uid)));
try
{
$client = new SoapClient($this->serverurl);
$response = $client->fhcomplete_user_get_users(array(array('key'=>'username', 'value'=>$uid)));
if(isset($response['users'][0]))
{
$this->mdl_user_id = $response['users'][0]['id'];
$this->mdl_user_username = $response['users'][0]['username'];
$this->mdl_user_firstname = $response['users'][0]['firstname'];
$this->mdl_user_lastname = $response['users'][0]['lastname'];
return true;
if(isset($response['users'][0]))
{
$this->mdl_user_id = $response['users'][0]['id'];
$this->mdl_user_username = $response['users'][0]['username'];
$this->mdl_user_firstname = $response['users'][0]['firstname'];
$this->mdl_user_lastname = $response['users'][0]['lastname'];
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Users';
return false;
}
}
else
catch (SoapFault $E)
{
$this->errormsg = 'Fehler beim Laden des Users';
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
return false;
}
}
/**
* Liefert ein Array mit allen Lektoren die
* zu dem Moodle Kurs zugeteilt sind
* zu dem Moodle Kurs zugeteilt sind
*/
public function getMitarbeiter($mdl_course_id)
{
//Mitarbeiter laden die zu diesem Kurs zugeteilt sind
$qry = "SELECT
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
WHERE
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
WHERE
moodle_version='2.4'
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
UNION
SELECT
mitarbeiter_uid
FROM
SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
moodle_version='2.4'
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER);
@@ -109,13 +117,13 @@ class moodle24_user extends basis_db
}
return $mitarbeiter;
}
else
else
{
$this->errormsg='Fehler beim Laden der Mitarbeiter';
return false;
}
}
/**
* Synchronisiert die Lektoren der Lehreinheiten
* mit denen des Moodle Kurses
@@ -132,32 +140,32 @@ class moodle24_user extends basis_db
//Bei Testkursen werden alle Lektoren einer Lehrveranstaltung zugeteilt
//da hier kein Eintrag in der tbl_moodle vorhanden ist, werden die Lektoren direkt aus
//der tbl_lehreinheitmitarbeiter geholt.
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
}
else
{
$qry = "SELECT
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
moodle_version='2.4'
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
}
else
{
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
WHERE
moodle_version='2.4'
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
AND mitarbeiter_uid not like '_Dummy%'
UNION
SELECT
mitarbeiter_uid
FROM
SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
moodle_version='2.4'
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
@@ -165,11 +173,19 @@ class moodle24_user extends basis_db
}
$mitarbeiter='';
$client = new SoapClient($this->serverurl);
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id,array(array('name'=>'userfields','value'=>'id,username')));
try
{
$client = new SoapClient($this->serverurl);
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id,array(array('name'=>'userfields','value'=>'id,username')));
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Laden der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
if($result_ma = $this->db_query($qry))
{
{
while($row_ma = $this->db_fetch_object($result_ma))
{
@@ -182,7 +198,7 @@ class moodle24_user extends basis_db
break;
}
}
if(!$user_zugeteilt)
{
@@ -195,10 +211,10 @@ class moodle24_user extends basis_db
$this->errormsg = "Fehler beim Anlegen des Users $row_ma->mitarbeiter_uid: $this->errormsg";
return false;
}
else
else
$this->errormsg = '';
}
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
@@ -209,25 +225,32 @@ class moodle24_user extends basis_db
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
try
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
}
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Lektoren';
return false;
}
}
/**
* Synchronisiert die Studenten der Lehreinheiten
* mit denen des Moodle Kurses
@@ -242,37 +265,45 @@ class moodle24_user extends basis_db
$userstoenroll=array();
//Studentengruppen laden die zu diesem Kurs zugeteilt sind
$qry = "SELECT
$qry = "SELECT
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz, tbl_moodle.gruppen
FROM
lehre.tbl_lehreinheitgruppe JOIN lehre.tbl_moodle USING(lehreinheit_id)
WHERE
FROM
lehre.tbl_lehreinheitgruppe JOIN lehre.tbl_moodle USING(lehreinheit_id)
WHERE
moodle_version='2.4'
AND mdl_course_id=".$this->db_add_param($mdl_course_id)."
UNION
SELECT
SELECT
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz, tbl_moodle.gruppen
FROM
FROM
lehre.tbl_lehreinheitgruppe JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
WHERE
moodle_version='2.4'
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
AND mdl_course_id=".$this->db_add_param($mdl_course_id);
$studenten='';
$client = new SoapClient($this->serverurl);
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id, array(array('name'=>'userfields','value'=>'id,username')));
try
{
$client = new SoapClient($this->serverurl);
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id, array(array('name'=>'userfields','value'=>'id,username')));
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Laden der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
if($result_std = $this->db_query($qry))
{
{
while($row_std = $this->db_fetch_object($result_std))
{
$this->mdl_user_id='';
//Schauen ob fuer diesen Kurs die Gruppen mitgesynct werden sollen
$gruppensync = $this->db_parse_bool($row_std->gruppen);
//Studenten dieser Gruppe holen
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
@@ -340,17 +371,17 @@ class moodle24_user extends basis_db
$this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg";
return false;
}
else
else
$this->errormsg = '';
}
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
//Student ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id;
@@ -398,36 +429,45 @@ class moodle24_user extends basis_db
$this->log.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
}
}
}
}
}
}
if(count($userstoenroll)>0)
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users($userstoenroll);
// Wenn User zum Kurs hinzugefuegt werden, muss eine kleine Pause eingelegt werden
// damit sich Moodle wieder beruhigt, sonst werden die Gruppenzuordnungen nicht korrekt gesetzt
sleep(1);
try
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users($userstoenroll);
// Wenn User zum Kurs hinzugefuegt werden, muss eine kleine Pause eingelegt werden
// damit sich Moodle wieder beruhigt, sonst werden die Gruppenzuordnungen nicht korrekt gesetzt
// die Pause ist abgaengig von der Anzahl der User die neu angelegt werden
usleep(count($userstoenroll)*1000);
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
}
if(count($groupmembertoadd)>0)
{
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$groupresult = $client->core_group_add_group_members($groupmembertoadd);
//$this->log.="\n\n".print_r($groupmembertoadd,true)."\n".print_r($groupresult,true);
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Studenten';
return false;
}
}
/**
* Schaut ob eine Zuteilung von Person zu Gruppe
* existiert
@@ -439,7 +479,7 @@ class moodle24_user extends basis_db
{
if(!isset($this->gruppenzuordnungen[$groupid]))
{
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$response = $client->core_group_get_group_members(array($groupid));
if(isset($response[0]['userids']))
@@ -453,12 +493,12 @@ class moodle24_user extends basis_db
if($id==$userid)
return true;
}
return false;
}
/**
* Legt eine Zuteilung eines Users zu
* Legt eine Zuteilung eines Users zu
* einer Gruppe an
* @param groupid ID der Gruppe
* userid ID des Users
@@ -466,14 +506,22 @@ class moodle24_user extends basis_db
*/
public function createGroupMember($groupid, $userid)
{
$client = new SoapClient($this->serverurl);
$response = $client->core_group_add_group_members(array(array('groupid'=>$groupid, 'userid'=>$userid)));
if(isset($response[0]))
return true;
else
try
{
$client = new SoapClient($this->serverurl);
$response = $client->core_group_add_group_members(array(array('groupid'=>$groupid, 'userid'=>$userid)));
if(isset($response[0]))
return true;
else
return false;
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler bei zuteilen zu Gruppe: ".$E->faultstring;
return false;
}
}
/**
* Holt die ID einer MoodleGruppe
* @param $mdl_course_id ID des Kurses
@@ -482,9 +530,9 @@ class moodle24_user extends basis_db
*/
public function getGroup($mdl_course_id, $gruppenbezeichnung)
{
$client = @new SoapClient($this->serverurl);
try
{
{
$client = new SoapClient($this->serverurl);
$response = $client->core_group_get_course_groups($mdl_course_id);
foreach($response as $row)
{
@@ -492,8 +540,8 @@ class moodle24_user extends basis_db
return $row['id'];
}
}
catch (SoapFault $E)
{
catch (SoapFault $E)
{
$this->log.="Fehler beim Laden der Gruppe $mdl_course_id, $gruppenbezeichnung: ".$E->faultstring;
return false;
}
@@ -501,7 +549,7 @@ class moodle24_user extends basis_db
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
return false;
}
/**
* Legt eine MoodleGruppe zu einem Kurs an
* @param mdl_course_id ID des MoodleKuses
@@ -510,25 +558,32 @@ class moodle24_user extends basis_db
*/
public function createGroup($mdl_course_id, $gruppenbezeichnung)
{
$client = new SoapClient($this->serverurl);
$data = new stdClass();
$data->courseid=$mdl_course_id;
$data->name = $gruppenbezeichnung;
$data->description = $gruppenbezeichnung;
$response = $client->core_group_create_groups(array($data));
if(isset($response[0]))
try
{
return $response[0]['id'];
$client = new SoapClient($this->serverurl);
$data = new stdClass();
$data->courseid=$mdl_course_id;
$data->name = $gruppenbezeichnung;
$data->description = $gruppenbezeichnung;
$response = $client->core_group_create_groups(array($data));
if(isset($response[0]))
{
return $response[0]['id'];
}
else
{
$this->errormsg = 'Fehler beim Anlegen der Gruppe';
return false;
}
}
else
catch (SoapFault $E)
{
$this->errormsg = 'Fehler beim Anlegen der Gruppe';
return false;
$this->errormsg.="SOAP Fehler beim Anlegen der Gruppe: ".$E->faultstring;
}
}
/**
* Legt einen User im Moodle an
* @param $uid UID der Person die angelegt werden soll
@@ -550,14 +605,14 @@ class moodle24_user extends basis_db
$user = new stdClass();
$user->username = $username;
/*
/*
Passwort muss gesetzt werden damit das Anlegen funktioniert.
Es wird ein random Passwort gesetzt
Dieses wird beim Login nicht verwendet da ueber ldap authentifiziert wird.
Prefix ist noetig damit es nicht zu Problemen kommt wenn
im Moodle die Passwort Policy aktiviert ist
*/
$user->password = "FHCv!A2".hash('sha512', rand());
$user->password = "FHCv!A2".hash('sha512', rand());
$user->firstname = $vorname;
$user->lastname = $nachname;
$user->email = $username.'@'.DOMAIN;
@@ -565,18 +620,26 @@ class moodle24_user extends basis_db
$user->idnumber = $username;
$user->lang = 'en';
$client = new SoapClient($this->serverurl);
$response = $client->core_user_create_users(array($user));
try
{
if(isset($response[0]))
{
$this->mdl_user_id = $response[0]['id'];
return true;
$client = new SoapClient($this->serverurl);
$response = $client->core_user_create_users(array($user));
if(isset($response[0]))
{
$this->mdl_user_id = $response[0]['id'];
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Users';
return false;
}
}
else
catch (SoapFault $E)
{
$this->errormsg = 'Fehler beim Laden des Users';
return false;
$this->errormsg.="SOAP Fehler beim Anlegen der User: ".$E->faultstring.' '.(isset($E->detail)?$E->detail:'').' data:'.$username;
}
}
else
@@ -590,8 +653,8 @@ class moodle24_user extends basis_db
$this->errormsg='Fehler beim Laden des Users';
return false;
}
}
}
/**
* Teilt die TestStudenten zu einem Testkurs zu
* @param mdl_course_id ID des Moodle Kurses
@@ -600,7 +663,7 @@ class moodle24_user extends basis_db
{
//Context des Kurses holen
$mdlcourse = new moodle24_course();
$users = array('student1', 'student2', 'student3');
foreach ($users as $row_user)
@@ -609,7 +672,7 @@ class moodle24_user extends basis_db
if(!$this->loaduser($row_user))
{
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
return false;
return false;
}
$data = new stdClass();
@@ -617,14 +680,14 @@ class moodle24_user extends basis_db
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
// WS-Funktion enrol_manual_enrol_users liefert immer null zurück
// Fehler bei der Zuordnung koennen daher nicht abgefangen werden.
// Eventuell sollten hier nochmals die Teilnehmer des Kurses geladen werden
// um zu pruefen ob die Zuordnung erfolgreich war.
}
return true;
}
@@ -640,7 +703,7 @@ class moodle24_user extends basis_db
if(!$this->loaduser($uid))
{
$this->errormsg = "Fehler beim Laden des Users $uid: $this->errormsg";
return false;
return false;
}
$param=array();
@@ -654,9 +717,128 @@ class moodle24_user extends basis_db
$param[]=$data;
}
$client = new SoapClient($this->serverurl);
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users($param);
return true;
}
/**
* Teilt die Fachbereichsleiter zu den Moodle Kursen zu
* @param $mdl_course_id ID des MoodleKurses
* @return true wenn ok, false wenn Fehler
*/
public function sync_fachbereichsleitung($mdl_course_id)
{
//Leitung laden die zu diesem Kurs zugeteilt sind
$qry = "SELECT
distinct uid as mitarbeiter_uid
FROM
public.tbl_organisationseinheit
JOIN public.tbl_benutzerfunktion USING (oe_kurzbz)
JOIN lehre.tbl_lehrveranstaltung USING(oe_kurzbz)
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
WHERE
organisationseinheittyp_kurzbz in('Institut','Fachbereich')
AND funktion_kurzbz='Leitung'
AND (tbl_benutzerfunktion.datum_von<=now() OR tbl_benutzerfunktion.datum_von is null)
AND (tbl_benutzerfunktion.datum_bis>=now() OR tbl_benutzerfunktion.datum_bis is null)
AND tbl_lehrveranstaltung.lehrveranstaltung_id IN(
SELECT
lehrveranstaltung_id
FROM
lehre.tbl_moodle
WHERE
moodle_version='2.4'
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
AND lehrveranstaltung_id IS NOT NULL
UNION
SELECT
tbl_lehreinheit.lehrveranstaltung_id
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
moodle_version='2.4'
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
)";
$mitarbeiter='';
try
{
$client = new SoapClient($this->serverurl);
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id,array(array('name'=>'userfields','value'=>'id,username')));
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Ermitteln der Teilnehmer: ".$E->faultstring;
return false;
}
if($result_ma = $this->db_query($qry))
{
while($row_ma = $this->db_fetch_object($result_ma))
{
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
if($user['username']==$row_ma->mitarbeiter_uid)
{
$user_zugeteilt=true;
break;
}
}
if(!$user_zugeteilt)
{
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid))
{
//User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid))
{
$this->errormsg = "Fehler beim Anlegen des Users $row_ma->mitarbeiter_uid: $this->errormsg";
return false;
}
else
$this->errormsg = '';
}
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
}
}
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Lektoren';
return false;
}
}
}
+93 -95
View File
@@ -130,7 +130,7 @@ class person extends basis_db
$this->kurzbeschreibung = $row->kurzbeschreibung;
$this->zugangscode = $row->zugangscode;
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->matr_nr = $row->matr_nr;
}
else
{
@@ -146,24 +146,24 @@ class person extends basis_db
return false;
}
}
/**
*
*
* Löscht den Datensatz mit der übergebenen person_id
* @param $person_id
*/
public function delete($person_id)
{
$qry = "DELETE from public.tbl_person where person_id = ".$this->db_add_param($person_id, FHC_INTEGER).";";
$qry = "DELETE from public.tbl_person where person_id = ".$this->db_add_param($person_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
return true;
return true;
}
else
{
$this->errormsg = "Es ist ein Fehler beim Löschen der Person aufgetreten";
return false;
$this->errormsg = "Es ist ein Fehler beim Löschen der Person aufgetreten";
return false;
}
}
@@ -180,7 +180,7 @@ class person extends basis_db
$this->anrede = trim($this->anrede);
$this->titelpost = trim($this->titelpost);
$this->titelpre = trim($this->titelpre);
if(mb_strlen($this->sprache)>16)
{
$this->errormsg = 'Sprache darf nicht laenger als 16 Zeichen sein';
@@ -244,13 +244,13 @@ class person extends basis_db
$this->errormsg = 'SVNR darf nicht laenger als 10 Zeichen sein';
return false;
}
if(mb_strlen($this->matr_nr)>32)
{
$this->errormsg = 'Matrikelnummer darf nicht laenger als 32 Zeichen sein';
return false;
}
if($this->svnr!='')
{
if(mb_strlen($this->svnr)!=10)
@@ -347,7 +347,7 @@ class person extends basis_db
$this->errormsg = 'Geschlecht muss w, m oder u sein!';
return false;
}
//Pruefen ob das Geburtsdatum mit der SVNR uebereinstimmt.
if($this->svnr!='' && $this->gebdatum!='')
{
@@ -363,17 +363,17 @@ class person extends basis_db
//$month = sprintf('%02s',$regs[2]);
//$year = mb_substr($regs[1],2,2);
}
else
else
{
$this->errormsg = 'Format des Geburtsdatums ist ungueltig';
return false;
}
/* das muss nicht immer so sein
$day_svnr = mb_substr($this->svnr, 4, 2);
$month_svnr = mb_substr($this->svnr, 6, 2);
$year_svnr = mb_substr($this->svnr, 8, 2);
if($day_svnr!=$day || $month_svnr!=$month || $year_svnr!=$year)
{
$this->errormsg = 'SVNR und Geburtsdatum passen nicht zusammen';
@@ -402,7 +402,7 @@ class person extends basis_db
$qry = 'INSERT INTO public.tbl_person (sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon,
geschlecht, geburtsnation, staatsbuergerschaft, ext_id, kurzbeschreibung, zugangscode, foto_sperre, matr_nr)
geschlecht, geburtsnation, staatsbuergerschaft, kurzbeschreibung, zugangscode, foto_sperre, matr_nr)
VALUES('.$this->db_add_param($this->sprache).','.
$this->db_add_param($this->anrede).','.
$this->db_add_param($this->titelpost).','.
@@ -428,7 +428,6 @@ class person extends basis_db
$this->db_add_param($this->geschlecht).','.
$this->db_add_param($this->geburtsnation).','.
$this->db_add_param($this->staatsbuergerschaft).','.
$this->db_add_param($this->ext_id).','.
$this->db_add_param($this->kurzbeschreibung).','.
$this->db_add_param($this->zugangscode).','.
$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
@@ -467,7 +466,6 @@ class person extends basis_db
' geschlecht='.$this->db_add_param($this->geschlecht).','.
' geburtsnation='.$this->db_add_param($this->geburtsnation).','.
' staatsbuergerschaft='.$this->db_add_param($this->staatsbuergerschaft).','.
//' ext_id='.$this->db_add_param($this->ext_id).','.
' kurzbeschreibung='.$this->db_add_param($this->kurzbeschreibung).','.
' foto_sperre='.$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
' zugangscode='.$this->db_add_param($this->zugangscode).','.
@@ -490,7 +488,7 @@ class person extends basis_db
return false;
}
}
else
else
{
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
@@ -505,7 +503,7 @@ class person extends basis_db
return false;
}
}
/**
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
* @param $filter String mit Vorname oder Nachname
@@ -515,16 +513,16 @@ class person extends basis_db
public function getTab($filter, $order='person_id')
{
$sql_query = "
SELECT
distinct on (person_id) *
FROM
SELECT
distinct on (person_id) *
FROM
public.tbl_person
LEFT JOIN public.tbl_benutzer USING(person_id)
LEFT JOIN public.tbl_benutzer USING(person_id)
WHERE true ";
if($filter!='')
{
$sql_query.=" AND nachname ~* '".$this->db_escape($filter)."' OR
$sql_query.=" AND nachname ~* '".$this->db_escape($filter)."' OR
vorname ~* '".$this->db_escape($filter)."' OR
(nachname || ' ' || vorname) ~* '".$this->db_escape($filter)."' OR
(vorname || ' ' || nachname) ~* '".$this->db_escape($filter)."' OR
@@ -534,7 +532,7 @@ class person extends basis_db
$sql_query .= " ORDER BY $order";
if($filter=='')
$sql_query .= " LIMIT 30";
if($this->db_query($sql_query))
{
while($row = $this->db_fetch_object())
@@ -569,7 +567,7 @@ class person extends basis_db
$l->ext_id = $row->ext_id;
$l->kurzbeschreibung = $row->kurzbeschreibung;
$l->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$l->matr_nr = $row->matr_nr;
$l->matr_nr = $row->matr_nr;
$this->personen[]=$l;
}
}
@@ -580,31 +578,31 @@ class person extends basis_db
}
return true;
}
/**
* Laedt alle standorte zu einer Person die dem Standort zugeordnet sind
* @param $standort_id ID des Standortes
* @param $person_id ID der Person die Zugeordnet ist
* @param $firma_id ID der Firma zu der die standortn geladen werden sollen
* @param $firma_id ID der Firma zu der die standortn geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
public function load_personfunktion($standort_id='',$person_id='',$firma_id='',$funktion_kurzbz='',$personfunktionstandort_id='')
{
$this->result=array();
$this->errormsg = '';
//Lesen der Daten aus der Datenbank
$qry=" SELECT tbl_person.*
,tbl_personfunktionstandort.personfunktionstandort_id,tbl_personfunktionstandort.person_id ,tbl_personfunktionstandort.funktion_kurzbz ,tbl_personfunktionstandort.standort_id
,tbl_personfunktionstandort.position,tbl_personfunktionstandort.anrede
,tbl_personfunktionstandort.position,tbl_personfunktionstandort.anrede
,tbl_standort.adresse_id,tbl_standort.kurzbz,tbl_standort.bezeichnung,tbl_standort.firma_id
,tbl_funktion.beschreibung as funktion_beschreibung , tbl_funktion.aktiv as funktion_aktiv,tbl_funktion.fachbereich as funktion_fachbereich,tbl_funktion.semester as funktion_semester
";
$qry.=" FROM public.tbl_person,public.tbl_personfunktionstandort
LEFT JOIN public.tbl_standort USING(standort_id)
LEFT JOIN public.tbl_funktion USING(funktion_kurzbz)
LEFT JOIN public.tbl_standort USING(standort_id)
LEFT JOIN public.tbl_funktion USING(funktion_kurzbz)
";
$qry.=" WHERE tbl_person.person_id=tbl_personfunktionstandort.person_id";
@@ -618,9 +616,9 @@ class person extends basis_db
$qry.=" and public.tbl_standort.firma_id=".$this->db_add_param($firma_id, FHC_INTEGER);
if($funktion_kurzbz!='')
$qry.=" and tbl_personfunktionstandort.funktion_kurzbz=".$this->db_add_param($funktion_kurzbz);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
@@ -659,43 +657,43 @@ class person extends basis_db
$adr_obj->ext_id = $row->ext_id;
$adr_obj->kurzbeschreibung = $row->kurzbeschreibung;
$adr_obj->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$adr_obj->standort_id = $row->standort_id;
$adr_obj->adresse_id = $row->adresse_id;
$adr_obj->kurzbz = $row->kurzbz;
$adr_obj->bezeichnung = $row->bezeichnung;
$adr_obj->firma_id = $row->firma_id;
$adr_obj->personfunktionstandort_id = $row->personfunktionstandort_id;
$adr_obj->funktion_kurzbz = $row->funktion_kurzbz;
$adr_obj->position = $row->position;
$adr_obj->anrede = $row->anrede;
$adr_obj->funktion_beschreibung = $row->funktion_beschreibung;
$adr_obj->funktion_aktiv = $this->db_parse_bool($row->funktion_aktiv);
$adr_obj->funktion_fachbereich = $row->funktion_fachbereich;
$adr_obj->funktion_semester = $row->funktion_semester;
$adr_obj->funktion_semester = $row->funktion_semester;
$this->result[] = $adr_obj;
}
return true;
}
/**
*
* Überprüfut ob der übergebene Zugangscode einer Person zugeordnet ist und
* Überprüfut ob der übergebene Zugangscode einer Person zugeordnet ist und
* retuniert im Erfolgsfall dessen person_id
* @param type $zugangscode
* @return boolean
* @return boolean
*/
public function checkZugangscode($zugangscode)
{
$qry = "SELECT person_id
$qry = "SELECT person_id
FROM public.tbl_person
WHERE zugangscode=".$this->db_add_param($zugangscode, FHC_STRING);
WHERE zugangscode=".$this->db_add_param($zugangscode, FHC_STRING);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -703,39 +701,39 @@ class person extends basis_db
return $row->person_id;
}
else
return false;
return false;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
return false;
}
}
/**
*
*
* Überprüft den übergebenen Zugangscode und retuniert die aktuelle incoming_id
* @param $zugangscode
*/
public function checkZugangscodeIncoming($zugangscode)
{
$qry ="
SELECT
preincoming_id
FROM
public.tbl_preincoming
WHERE
person_id = (SELECT person_id FROM public.tbl_person WHERE zugangscode=".$this->db_add_param($zugangscode).")
SELECT
preincoming_id
FROM
public.tbl_preincoming
WHERE
person_id = (SELECT person_id FROM public.tbl_person WHERE zugangscode=".$this->db_add_param($zugangscode).")
ORDER BY insertamum DESC;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->preincoming_id;
return $row->preincoming_id;
}
else
return false;
return false;
}
else
{
@@ -743,30 +741,30 @@ class person extends basis_db
return false;
}
}
/**
*
*
* Überprüft den übergebenen Zugangscode und retuniert die aktuelle incoming_id
* @param $zugangscode
*/
public function checkZugangscodePerson($zugangscode)
{
$qry ="
SELECT
person_id
FROM
public.tbl_person
WHERE
SELECT
person_id
FROM
public.tbl_person
WHERE
zugangscode=".$this->db_add_param($zugangscode).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->person_id;
return $row->person_id;
}
else
return false;
return false;
}
else
{
@@ -776,7 +774,7 @@ class person extends basis_db
}
/**
*
*
* Lädt eine Person zum übergebenen Zugangscode
* @param $zugangscode
*/
@@ -818,20 +816,20 @@ class person extends basis_db
$this->kurzbeschreibung = $row->kurzbeschreibung;
$this->zugangscode = $row->zugangscode;
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->matr_nr = $row->matr_nr;
}
else
{
$this->errormsg = 'Keine Person zu Zugangscode gefunden';
return false;
$this->errormsg = 'Keine Person zu Zugangscode gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage.';
return false;
return false;
}
return true;
return true;
}
/**
@@ -840,56 +838,56 @@ class person extends basis_db
* @param $svnr
* @param $person_id
* @return true wenn bereits vorhanden sonst false
*/
*/
public function checkSvnr($svnr, $person_id=null)
{
$qry = "Select 1 from public.tbl_person where svnr =".$this->db_add_param($svnr);
if(!is_null($person_id))
$qry.=" AND person_id!=".$this->db_add_param($person_id);
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
return true;
return true;
else
return false;
return false;
}
}
public function getFullName($allFirstnames=FALSE)
{
$fullname = "";
if((!is_null($this->titelpre)) && ($this->titelpre!=""))
$fullname .= $this->titelpre." ";
$fullname .= $this->vorname." ";
if(($allFirstnames) && ($this->vornamen != "") && (!is_null($this->vornamen)))
$fullname .= $this->vornamen." ";
$fullname .= $this->nachname;
if((!is_null($this->titelpost)) && ($this->titelpost!=""))
$fullname .= " ".$this->titelpost;
return $fullname;
}
/**
* Laedt Personendaten eines Benutzers
* @param $uid
*/
function getPersonFromBenutzer($uid)
{
$qry = "SELECT
$qry = "SELECT
*
FROM
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE
uid=".$this->db_add_param($uid, FHC_STRING);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -924,7 +922,7 @@ class person extends basis_db
$this->kurzbeschreibung = $row->kurzbeschreibung;
$this->zugangscode = $row->zugangscode;
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
$this->matr_nr = $row->matr_nr;
$this->uid = $row->uid;
$this->aktiv = $this->db_parse_bool($row->aktiv);;
$this->alias = $row->alias;
@@ -934,11 +932,11 @@ class person extends basis_db
}
else
{
$this->errormsg = 'Keine Personendaten zu dieser UID gefunden';
return false;
$this->errormsg = 'Keine Personendaten zu dieser UID gefunden';
return false;
}
}
}
}
?>
+170 -172
View File
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -53,9 +53,9 @@ class prestudent extends person
public $mentor;
public $ext_id_prestudent;
public $dual = false;
public $zgvdoktor_code;
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktor_code;
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $status_kurzbz;
@@ -78,7 +78,7 @@ class prestudent extends person
// ErgebnisArray
public $result = array();
public $num_rows = 0;
/**
* Konstruktor - Uebergibt die Connection und laedt optional einen Prestudent
* @param $prestudent_id Prestudent der geladen werden soll (default=null)
@@ -90,7 +90,7 @@ class prestudent extends person
if($prestudent_id != null)
$this->load($prestudent_id);
}
/**
* Laedt Prestudent mit der uebergebenen ID
* @param $prestudent_id ID des Prestudenten der geladen werden soll
@@ -102,11 +102,11 @@ class prestudent extends person
$this->errormsg = 'ID ist ungueltig';
return false;
}
$qry = 'SELECT * '
. 'FROM public.tbl_prestudent '
. 'WHERE prestudent_id = '.$this->db_add_param($prestudent_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -140,31 +140,31 @@ class prestudent extends person
$this->ext_id_prestudent = $row->ext_id;
$this->dual = $this->db_parse_bool($row->dual);
$this->ausstellungsstaat = $row->ausstellungsstaat;
$this->zgvdoktor_code = $row->zgvdoktor_code;
$this->zgvdoktor_code = $row->zgvdoktor_code;
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
if(!person::load($row->person_id))
return false;
else
else
return true;
}
else
else
{
$this->errormsg = "Kein Prestudent Eintrag gefunden";
return false;
}
}
}
else
else
{
$this->errormsg = "Fehler beim Laden des Prestudenten";
return false;
}
}
}
/**
* Prueft die Variablen vor dem Speichern
* Prueft die Variablen vor dem Speichern
* auf Gueltigkeit.
* @return true wenn ok, false im Fehlerfall
*/
@@ -193,7 +193,7 @@ class prestudent extends person
return true;
}
/**
* Speichert die Benutzerdaten in die Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -211,15 +211,15 @@ class prestudent extends person
//Variablen auf Gueltigkeit pruefen
if(!prestudent::validate())
return false;
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id,
$qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id,
studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation,
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, ext_id, anmerkung, dual, ausstellungsstaat, mentor) VALUES('.
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -247,7 +247,6 @@ class prestudent extends person
$this->db_add_param($this->insertvon).",".
$this->db_add_param($this->updateamum).",".
$this->db_add_param($this->updatevon).",".
$this->db_add_param($this->ext_id_prestudent).",".
$this->db_add_param($this->anmerkung).",".
$this->db_add_param($this->dual, FHC_BOOLEAN).",".
$this->db_add_param($this->ausstellungsstaat).",".
@@ -281,14 +280,13 @@ class prestudent extends person
' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).",".
' updateamum='.$this->db_add_param($this->updateamum).",".
' updatevon='.$this->db_add_param($this->updatevon).",".
' ext_id='.$this->db_add_param($this->ext_id_prestudent).",".
' anmerkung='.$this->db_add_param($this->anmerkung).",".
' mentor='.$this->db_add_param($this->mentor).",".
' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",".
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
}
if($this->db_query($qry))
{
if($this->new)
@@ -302,14 +300,14 @@ class prestudent extends person
$this->db_query('COMMIT;');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -319,8 +317,8 @@ class prestudent extends person
//Log schreiben
return true;
}
else
{
else
{
$this->errormsg = 'Fehler beim Speichern des Prestudent-Datensatzes';
return false;
}
@@ -348,8 +346,8 @@ class prestudent extends person
/**
* Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
* Wenn $equal auf true gesetzt ist wird genau dieses Datum verwendet,
* ansonsten werden auch alle mit späterem Datum geladen. ---> von kindlm am 30.03.2012 geändert
* da zukünftige Teilnehmer nicht mehr angezeigt werden sollen.
* ansonsten werden auch alle mit späterem Datum geladen. ---> von kindlm am 30.03.2012 geändert
* da zukünftige Teilnehmer nicht mehr angezeigt werden sollen.
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function getPrestudentRT($datum, $equal=false)
@@ -360,15 +358,15 @@ class prestudent extends person
else
$sql_query.='=';
$sql_query.="'$datum' ORDER BY nachname,vorname";
if(!$this->db_query($sql_query))
{
{
$this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes:'.$sql_query;
return false;
}
$this->num_rows=0;
while($row = $this->db_fetch_object())
{
$ps=new prestudent();
@@ -426,11 +424,11 @@ class prestudent extends person
$ps->insertvon = $row->insertvon;
//$ps->ext_id_prestudent = $row->ext_id_prestudent;
$this->result[]=$ps;
$this->num_rows++;
$this->num_rows++;
}
return true;
return true;
}
/**
* Laedt die Rolle(n) eines Prestudenten
*/
@@ -441,13 +439,13 @@ class prestudent extends person
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
$qry = "SELECT
tbl_prestudentstatus.*, tbl_studienplan.bezeichnung as studienplan_bezeichnung
FROM public.tbl_prestudentstatus
FROM public.tbl_prestudentstatus
LEFT JOIN lehre.tbl_studienplan USING(studienplan_id)
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
if($status_kurzbz!=null)
$qry.= " AND status_kurzbz=".$this->db_add_param($status_kurzbz);
if($studiensemester_kurzbz!=null)
@@ -457,13 +455,13 @@ class prestudent extends person
if($order!='')
$qry.=" ORDER BY ".$order;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$rolle = new prestudent();
$rolle->prestudent_id = $row->prestudent_id;
$rolle->status_kurzbz = $row->status_kurzbz;
$rolle->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -483,13 +481,13 @@ class prestudent extends person
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
/**
* Laedt die Rolle
*
@@ -506,16 +504,16 @@ class prestudent extends person
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$this->db_add_param($prestudent_id).
" AND status_kurzbz=".$this->db_add_param($status_kurzbz).
" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz).
" AND ausbildungssemester=".$this->db_add_param($ausbildungssemester);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -533,19 +531,19 @@ class prestudent extends person
return true;
}
else
else
{
$this->errormsg = 'Rolle existiert nicht';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
/**
* Laedt die Interessenten und Bewerber fuer ein bestimmtes Studiensemester
* @param $studiensemester_kurzbz Studiensemester fuer das die Int. und Bewerber
@@ -556,36 +554,36 @@ class prestudent extends person
$stsemqry='';
if(!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz!='')
$stsemqry=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry = "SELECT
*, a.anmerkung, tbl_person.anmerkung as anmerkungen
FROM
$qry = "SELECT
*, a.anmerkung, tbl_person.anmerkung as anmerkungen
FROM
(
SELECT
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
SELECT
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
FROM tbl_prestudent prestudent ORDER BY prestudent_id
) a, tbl_prestudentstatus, tbl_person
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
a.person_id=tbl_person.person_id AND
a.prestudent_id = tbl_prestudentstatus.prestudent_id AND
a.studiengang_kz=".$this->db_add_param($studiengang_kz);
if(!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz!='')
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($semester!=null)
$qry.=" AND ausbildungssemester=".$this->db_add_param($semester);
if($orgform!=null && $orgform!='')
$qry.=" AND tbl_prestudentstatus.orgform_kurzbz=".$this->db_add_param($orgform);
switch ($typ)
{
case "interessenten":
case "interessenten":
$qry.=" AND a.rolle='Interessent'";
break;
case "zgv":
case "zgv":
$stg_obj = new studiengang();
$stg_obj->load($studiengang_kz);
if($stg_obj->typ=='m')
@@ -593,7 +591,7 @@ class prestudent extends person
else
$qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null";
break;
case "reihungstestangemeldet":
case "reihungstestangemeldet":
$qry.=" AND a.rolle='Interessent' AND a.anmeldungreihungstest is not null";
break;
case "reihungstestnichtangemeldet":
@@ -614,7 +612,7 @@ class prestudent extends person
case "prestudent":
if($studiensemester_kurzbz=='' || is_null($studiensemester_kurzbz))
$qry = "SELECT *, '' as status_kurzbz, '' as studiensemester_kurzbz, '' as ausbildungssemester, '' as datum, tbl_person.anmerkung as anmerkungen, '' as orgform_kurzbz FROM public.tbl_prestudent prestudent, public.tbl_person WHERE NOT EXISTS (select * from tbl_prestudentstatus WHERE prestudent_id=prestudent.prestudent_id) AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND prestudent.person_id=tbl_person.person_id";
else
else
$qry .= " AND a.rolle IN('Interessent', 'Bewerber', 'Aufgenommener', 'Wartender', 'Abgewiesener')";
break;
case "absolvent":
@@ -623,8 +621,8 @@ class prestudent extends person
case "diplomand":
$qry.=" AND a.rolle='Diplomand'";
break;
default:
break;
default:
break;
}
if($this->db_query($qry))
@@ -632,7 +630,7 @@ class prestudent extends person
while($row = $this->db_fetch_object())
{
$ps = new prestudent();
$ps->person_id = $row->person_id;
$ps->staatsbuergerschaft = $row->staatsbuergerschaft;
$ps->gebnation = $row->geburtsnation;
@@ -655,7 +653,7 @@ class prestudent extends person
$ps->geschlecht = $row->geschlecht;
$ps->anzahlkinder = $row->anzahlkinder;
$ps->aktiv = $this->db_parse_bool($row->aktiv);
$ps->prestudent_id = $row->prestudent_id;
$ps->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
$ps->studiengang_kz = $row->studiengang_kz;
@@ -682,24 +680,24 @@ class prestudent extends person
$ps->bismelden = $this->db_parse_bool($row->bismelden);
$ps->anmerkung = $row->anmerkung;
$ps->dual = $this->db_parse_bool($row->dual);
$ps->status_kurzbz = $row->status_kurzbz;
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$ps->ausbildungssemester = $row->ausbildungssemester;
$ps->datum = $row->datum;
$ps->orgform_kurzbz = $row->orgform_kurzbz;
$this->result[] = $ps;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft ob eine Person bereits einen PreStudenteintrag
* fuer einen Studiengang besitzt
@@ -716,45 +714,45 @@ class prestudent extends person
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($studiengang_kz))
{
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
$qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
{
if($row->anzahl>0)
{
$this->errormsg = '';
return true;
}
else
else
{
$this->errormsg = '';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert den Prestudentstatus
* @return true wenn ok, false im Fehlerfall
@@ -770,8 +768,8 @@ class prestudent extends person
return false;
}
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, anmerkung,
studienplan_id) VALUES('.
$this->db_add_param($this->prestudent_id).",".
@@ -791,12 +789,12 @@ class prestudent extends person
$this->db_add_param($this->studienplan_id,FHC_INTEGER).");";
}
else
{
if($this->studiensemester_old=='')
{
if($this->studiensemester_old=='')
$this->studiensemester_old = $this->studiensemester_kurzbz;
if($this->ausbildungssemester_old=='')
$this->ausbildungssemester_old = $this->ausbildungssemester;
//wenn der PrimaryKey geaendert wird, schauen ob schon ein Eintrag mit diesem Key vorhanden ist
if($this->studiensemester_old!=$this->studiensemester_kurzbz || $this->ausbildungssemester_old!=$this->ausbildungssemester)
{
@@ -817,25 +815,25 @@ class prestudent extends person
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).",".
' anmerkung='.$this->db_add_param($this->anmerkung_status).",".
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).
" WHERE
prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER, false)."
" WHERE
prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER, false)."
AND status_kurzbz=".$this->db_add_param($this->status_kurzbz, FHC_STRING, false)."
AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_old, FHC_STRING, false)."
AND ausbildungssemester=".$this->db_add_param($this->ausbildungssemester_old, FHC_STRING, false).";";
}
if($this->db_query($qry))
{
//Log schreiben
return true;
}
else
{
else
{
$this->errormsg = 'Fehler beim Speichern des Prestudentstatus';
return false;
}
}
/**
* Loescht einen Prestudentstatus
* @param $prestudent_id
@@ -852,8 +850,8 @@ class prestudent extends person
return false;
}
$qry = "DELETE FROM public.tbl_prestudentstatus
WHERE
$qry = "DELETE FROM public.tbl_prestudentstatus
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND status_kurzbz=".$this->db_add_param($status_kurzbz)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
@@ -862,9 +860,9 @@ class prestudent extends person
if($this->load_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester))
{
$this->db_query('BEGIN;');
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->beschreibung = 'Loeschen der Rolle '.$status_kurzbz.' bei '.$prestudent_id;
$log->mitarbeiter_uid = get_uid();
@@ -889,32 +887,32 @@ class prestudent extends person
$this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
if($log->save(true))
{
if($this->db_query($qry))
{
$this->db_query('COMMIT');
return true;
}
else
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
else
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
else
{
return false;
}
}
}
public function bestaetige_rolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, $ausbildungssemester, $user)
{
if(!is_numeric($prestudent_id))
@@ -926,12 +924,12 @@ class prestudent extends person
$qry = 'UPDATE public.tbl_prestudentstatus SET'.
' bestaetigtam='.$this->db_add_param(date('Y-m-d')).','.
' bestaetigtvon='.$this->db_add_param($user)." ".
' WHERE
' WHERE
prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER).'
AND status_kurzbz='.$this->db_add_param($status_kurzbz).'
AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
AND ausbildungssemester='.$this->db_add_param($ausbildungssemester);
if($this->db_query($qry))
{
return true;
@@ -957,22 +955,22 @@ class prestudent extends person
$this->errormsg = 'Prestudent_id ist ungueltig';
return false;
}
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung
FROM public.tbl_prestudentstatus LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
if($studiensemester_kurzbz!='')
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($status_kurzbz !='')
$qry.= " AND status_kurzbz =".$this->db_add_param($status_kurzbz);
$qry.=" ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -987,21 +985,21 @@ class prestudent extends person
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
$this->studienplan_bezeichnung = $row->studienplan_bezeichnung;
return true;
return true;
}
else
else
{
$this->errormsg = 'Keine Rolle vorhanden';
return false;
}
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
/**
* Liefert den Ersten Status eines Prestudenten mit der übergebenen Statuskurzbezeichnung
* @param $prestudent_id
@@ -1015,16 +1013,16 @@ class prestudent extends person
$this->errormsg = 'Prestudent_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_prestudentstatus
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
$qry = "SELECT * FROM public.tbl_prestudentstatus
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND status_kurzbz = ".$this->db_add_param($status_kurzbz)."
ORDER BY datum ASC, insertamum ASC, ext_id ASC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -1038,15 +1036,15 @@ class prestudent extends person
$this->bestaetigtvon = $row->bestaetigtvon;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
return true;
return true;
}
else
else
{
$this->errormsg = 'Keine Rolle vorhanden';
return false;
}
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
@@ -1064,15 +1062,15 @@ class prestudent extends person
$this->errormsg='ID ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_prestudent WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." ORDER BY prestudent_id";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new prestudent();
$obj->prestudent_id = $row->prestudent_id;
$obj->aufmerksamdurch_kurzbz = $row->aufmerksamdurch_kurzbz;
$obj->studiengang_kz = $row->studiengang_kz;
@@ -1102,15 +1100,15 @@ class prestudent extends person
$obj->ext_id_prestudent = $row->ext_id;
$obj->dual = $this->db_parse_bool($row->dual);
$obj->ausstellungsstaat = $row->ausstellungsstaat;
$obj->zgvdoktor_code = $row->zgvdoktor_code;
$obj->zgvdoktorort = $row->zgvdoktorort;
$obj->zgvdoktordatum = $row->zgvdoktordatum;
$obj->zgvdoktor_code = $row->zgvdoktor_code;
$obj->zgvdoktorort = $row->zgvdoktorort;
$obj->zgvdoktordatum = $row->zgvdoktordatum;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = "Fehler beim Laden";
return false;
@@ -1180,7 +1178,7 @@ class prestudent extends person
{
$qry = "SELECT
count(*) as anzahl
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
@@ -1227,7 +1225,7 @@ class prestudent extends person
{
$qry = "SELECT
count(*) as anzahl
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
@@ -1274,7 +1272,7 @@ class prestudent extends person
{
$qry = "SELECT
count(*) as anzahl
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -1323,11 +1321,11 @@ class prestudent extends person
public function listAnzBewerber($studiensemester_kurzbz=null)
{
$qry = "SELECT
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudent.studiengang_kz,
tbl_prestudentstatus.ausbildungssemester,
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -1353,7 +1351,7 @@ class prestudent extends person
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
// Orgform
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
@@ -1375,10 +1373,10 @@ class prestudent extends person
}
}
/**
* Liefert ein Array mit den Interessentenzahlen
* @param $studiensemester_kurzbz (optional)
@@ -1390,11 +1388,11 @@ class prestudent extends person
public function listAnzInteressenten($studiensemester_kurzbz=null)
{
$qry = "SELECT
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudent.studiengang_kz,
tbl_prestudentstatus.ausbildungssemester,
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -1421,7 +1419,7 @@ class prestudent extends person
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
// Orgform
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
@@ -1442,16 +1440,16 @@ class prestudent extends person
return false;
}
}
public function listAnzAbbrecher($studiensemester_kurzbz=null)
{
$qry = "SELECT
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudent.studiengang_kz,
tbl_prestudentstatus.ausbildungssemester,
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -1478,7 +1476,7 @@ class prestudent extends person
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
// Orgform
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
@@ -1499,16 +1497,16 @@ class prestudent extends person
return false;
}
}
public function listAnzStudierende($studiensemester_kurzbz=null)
{
$qry = "SELECT
distinct on(prestudent_id) prestudent_id,
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudentstatus.studiensemester_kurzbz,
tbl_prestudent.studiengang_kz,
tbl_prestudentstatus.ausbildungssemester,
COALESCE(tbl_prestudentstatus.orgform_kurzbz, tbl_studiengang.orgform_kurzbz) as orgform_kurzbz
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -1519,8 +1517,8 @@ class prestudent extends person
if(!is_null($studiensemester_kurzbz))
$qry.=" AND tbl_prestudentstatus.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$this->result = array();
if($result = $this->db_query($qry))
{
@@ -1537,7 +1535,7 @@ class prestudent extends person
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']=0;
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz]['anzahl']++;
// Orgform
if(!isset($this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']))
$this->result[$row->studiensemester_kurzbz][$row->studiengang_kz][$row->orgform_kurzbz]['anzahl']=0;
@@ -1558,7 +1556,7 @@ class prestudent extends person
return false;
}
}
/**
* Anzahl der Abbrecher liefern.<br>
* WM: Kopie von getBewerber() => @TODO: überprüfen!!!
@@ -1572,7 +1570,7 @@ class prestudent extends person
{
$qry = "SELECT
count(*) as anzahl
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
@@ -1607,7 +1605,7 @@ class prestudent extends person
return false;
}
}
/**
* Anzahl der Studierenden liefern.<br>
* WM: Kopie von getBewerber() => @TODO: überprüfen!!!
@@ -1622,7 +1620,7 @@ class prestudent extends person
$qry = "SELECT count(*) as anzahl FROM (
SELECT
distinct on(prestudent_id) prestudent_id
FROM
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
@@ -1665,17 +1663,17 @@ class prestudent extends person
* @param $uid
* @return array mit Studiensemestern
*/
public function getSemesterZuUid($uid)
public function getSemesterZuUid($uid)
{
$qry = "SELECT
tbl_studiensemester.studiensemester_kurzbz, tbl_studiensemester.bezeichnung
FROM
public.tbl_prestudentstatus
$qry = "SELECT
tbl_studiensemester.studiensemester_kurzbz, tbl_studiensemester.bezeichnung
FROM
public.tbl_prestudentstatus
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_student USING (prestudent_id)
JOIN public.tbl_student USING (prestudent_id)
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
WHERE
WHERE
status_kurzbz IN ('Student', 'Diplomand','Incoming')
AND student_uid = ". $this->db_add_param($uid)."
ORDER BY ausbildungssemester";
@@ -1684,7 +1682,7 @@ class prestudent extends person
{
$semester = array();
while($row = $this->db_fetch_object($result))
while($row = $this->db_fetch_object($result))
$semester[$row->studiensemester_kurzbz] = $row->bezeichnung;
return $semester;
+35 -36
View File
@@ -65,7 +65,7 @@ class projektarbeit extends basis_db
{
parent::__construct();
if($projektarbeit_id != null)
if($projektarbeit_id != null)
$this->load($projektarbeit_id);
}
@@ -81,11 +81,11 @@ class projektarbeit extends basis_db
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektarbeit "
. "JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) "
. "WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -116,13 +116,13 @@ class projektarbeit extends basis_db
$this->projekttyp_bezeichnung = $row->bezeichnung;
return true;
}
else
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
@@ -204,7 +204,7 @@ class projektarbeit extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -219,14 +219,14 @@ class projektarbeit extends basis_db
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
ext_id, insertamum, insertvon, updateamum, updatevon, titel_english) VALUES('.
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
insertamum, insertvon, updateamum, updatevon, titel_english) VALUES('.
$this->db_add_param($this->projekttyp_kurzbz).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).', '.
@@ -242,8 +242,7 @@ class projektarbeit extends basis_db
$this->db_add_param($this->stundensatz).', '.
$this->db_add_param($this->gesamtstunden).', '.
$this->db_add_param($this->themenbereich).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->ext_id).', now(), '.
$this->db_add_param($this->anmerkung).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->titel_english).');';
@@ -281,7 +280,7 @@ class projektarbeit extends basis_db
'updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE projektarbeit_id='.$this->db_add_param($this->projektarbeit_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($new)
@@ -296,21 +295,21 @@ class projektarbeit extends basis_db
$this->db_query('COMMIT');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
return true;
}
else
@@ -332,20 +331,20 @@ class projektarbeit extends basis_db
$this->errormsg = 'Projektarbeit_id ist ungueltig';
return true;
}
$qry = "DELETE FROM lehre.tbl_projektarbeit WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
}
/**
* Laedt alle Projektarbeiten eines Studenten
* @param student_uid
@@ -353,15 +352,15 @@ class projektarbeit extends basis_db
*/
public function getProjektarbeit($student_uid)
{
$qry = "SELECT * FROM lehre.tbl_projektarbeit JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
$qry = "SELECT * FROM lehre.tbl_projektarbeit JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
WHERE student_uid=".$this->db_add_param($student_uid);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projektarbeit();
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -386,18 +385,18 @@ class projektarbeit extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Projektarbeiten eines Studienganges/Studiensemesters
* @param studiengang_kz, studiensemester_kurzbz
@@ -405,25 +404,25 @@ class projektarbeit extends basis_db
*/
public function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz)
{
$qry = "SELECT
tbl_projektarbeit.* , tbl_projekttyp.bezeichnung
FROM
$qry = "SELECT
tbl_projektarbeit.* , tbl_projekttyp.bezeichnung
FROM
lehre.tbl_projektarbeit
JOIN
lehre.tbl_projekttyp USING (projekttyp_kurzbz), lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
WHERE
WHERE
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projektarbeit();
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
@@ -448,12 +447,12 @@ class projektarbeit extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
+47 -48
View File
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
@@ -29,7 +29,7 @@ class projektbetreuer extends basis_db
{
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $person_id; // integer
public $projektarbeit_id; // integer
@@ -48,7 +48,7 @@ class projektbetreuer extends basis_db
public $vertrag_id; // bigint
public $person_id_old;
/**
* Konstruktor
* @param $person_id, $projektarbeit ID des Projektbetreuers, der geladen werden soll (Default=null)
@@ -57,10 +57,10 @@ class projektbetreuer extends basis_db
{
parent::__construct();
if($projektarbeit_id != null && $person_id!=null)
if($projektarbeit_id != null && $person_id!=null)
$this->load($person_id, $projektarbeit_id);
}
/**
* Laedt die Funktion mit der ID $person_id, $projektarbeit_id
* @param $person_id ID der zu ladenden Funktion
@@ -74,22 +74,22 @@ class projektbetreuer extends basis_db
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
*
FROM
lehre.tbl_projektbetreuer
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -112,25 +112,25 @@ class projektbetreuer extends basis_db
$this->new=false;
return true;
}
else
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
{
if($this->betreuerart_kurzbz=='')
{
$this->errormsg = 'Betreuerart muss eingegeben werden';
@@ -146,7 +146,7 @@ class projektbetreuer extends basis_db
$this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
$this->errormsg = 'Note muss ein numerischer Wert sein';
@@ -166,14 +166,14 @@ class projektbetreuer extends basis_db
$this->errormsg = 'Stundensatz muss ein numerischer Wert sein';
return false;
}
//Pruefen ob projektarbeit_id eine gueltige Zahl ist
if(!is_numeric($this->projektarbeit_id))
{
$this->errormsg = 'projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
//Pruefen ob person_id eine gueltige Zahl ist
if(!is_numeric($this->person_id))
{
@@ -181,11 +181,11 @@ class projektbetreuer extends basis_db
return false;
}
$this->errormsg = '';
return true;
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz aktualisiert
* @return true wenn ok, false im Fehlerfall
@@ -194,16 +194,16 @@ class projektbetreuer extends basis_db
{
if($new==null)
$new = $this->new;
//Variablen pruefen
if(!$this->validate())
return false;
if($new)
{
//Neuen Datensatz einfuegen
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
punkte, stunden, stundensatz, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
$this->db_add_param($this->person_id).', '.
$this->db_add_param($this->projektarbeit_id).', '.
$this->db_add_param($this->note).', '.
@@ -212,23 +212,22 @@ class projektbetreuer extends basis_db
$this->db_add_param($this->name).', '.
$this->db_add_param($this->punkte).', '.
$this->db_add_param($this->stunden).', '.
$this->db_add_param($this->stundensatz).', '.
$this->db_add_param($this->ext_id).', now(), '.
$this->db_add_param($this->stundensatz).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->vertrag_id).');';
$this->db_add_param($this->vertrag_id).');';
}
else
{
//Updaten des bestehenden Datensatzes
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->db_add_param($this->person_id).', '.
'person_id='.$this->db_add_param($this->person_id).', '.
'note='.$this->db_add_param($this->note).', '.
'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '.
'faktor='.$this->db_add_param($this->faktor).', '.
@@ -243,18 +242,18 @@ class projektbetreuer extends basis_db
" AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false).
" AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";";
}
if($this->db_query($qry))
{
return true;
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $person_id ID die geloescht werden soll
@@ -268,26 +267,26 @@ class projektbetreuer extends basis_db
$this->errormsg = 'Person_id muss eine gueltige Zahl sein';
return false;
}
if(!is_numeric($projektarbeit_id))
{
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";";
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert alle Betreuer zu einer Projektarbeit
* @param projektarbeit_id
@@ -299,15 +298,15 @@ class projektbetreuer extends basis_db
$this->errormsg = 'Projektarbeit_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." ORDER BY name";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projektbetreuer();
$obj->person_id = $row->person_id;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->note = $row->note;
@@ -328,7 +327,7 @@ class projektbetreuer extends basis_db
}
return true;
}
else
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
+10 -12
View File
@@ -75,14 +75,14 @@ class pruefung extends basis_db
return false;
}
$qry = "SELECT
tbl_pruefung.*,
tbl_lehreinheit.lehrveranstaltung_id,
$qry = "SELECT
tbl_pruefung.*,
tbl_lehreinheit.lehrveranstaltung_id,
tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
pruefung_id=".$this->db_add_param($pruefung_id, FHC_INTEGER);
if($this->db_query($qry))
@@ -219,8 +219,8 @@ class pruefung extends basis_db
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz,
datum, anmerkung, insertamum, insertvon, updateamum, updatevon, pruefungsanmeldung_id, vertrag_id, punkte) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
@@ -232,7 +232,6 @@ class pruefung extends basis_db
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->punkte).');';
@@ -260,7 +259,6 @@ class pruefung extends basis_db
'insertvon='.$this->db_add_param($this->insertvon).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id, FHC_INTEGER).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id, FHC_INTEGER).', '.
'punkte='.$this->db_add_param($this->punkte).' '.
@@ -372,7 +370,7 @@ class pruefung extends basis_db
* @param $pruefungstyp
* @param $stsem
* @return boolean
*/
*/
public function getPruefungenLV($lv_id, $pruefungstyp=null, $stsem=null)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
+55 -57
View File
@@ -15,22 +15,22 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse Reihungstest
* Klasse Reihungstest
* @create 10-01-2007
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class reihungstest extends basis_db
class reihungstest extends basis_db
{
public $new; // boolean
public $done=false; // boolean
public $result = array();
//Tabellenspalten
public $reihungstest_id;// integer
public $studiengang_kz; // integer
@@ -46,7 +46,7 @@ class reihungstest extends basis_db
public $freigeschaltet=false; // boolean
public $oeffentlich=false; // boolean
public $max_teilnehmer; // integer
/**
* Konstruktor
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
@@ -54,11 +54,11 @@ class reihungstest extends basis_db
public function __construct($reihungstest_id=null)
{
parent::__construct();
if(!is_null($reihungstest_id))
$this->load($reihungstest_id);
}
/**
* Laedt den Reihungstest mit der ID $reihungstest_id
* @param $reihungstest_id ID des zu ladenden Reihungstests
@@ -71,9 +71,9 @@ class reihungstest extends basis_db
$this->errormsg = 'Reihungstest_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER, false);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -92,24 +92,24 @@ class reihungstest extends basis_db
$this->max_teilnehmer = $row->max_teilnehmer;
$this->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$this->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
return true;
return true;
}
else
else
{
$this->errormsg = 'Reihungstest existiert nicht';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Reihungstests';
return false;
}
}
/**
* Liefert alle Reihungstests
* wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
* wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
* Datum zurueckgeliefert
*/
public function getAll($datum=null)
@@ -118,13 +118,13 @@ class reihungstest extends basis_db
if($datum!=null)
$qry.=" WHERE datum>=".$this->db_add_param($datum);
$qry.=" ORDER BY datum DESC, uhrzeit";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
@@ -139,24 +139,24 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Reihungstests';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
private function validate()
{
{
//Zahlenfelder pruefen
if(!is_numeric($this->studiengang_kz))
{
@@ -174,13 +174,13 @@ class reihungstest extends basis_db
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein';
return false;
}
$this->errormsg = '';
return true;
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
* @return true wenn ok, false im Fehlerfall
@@ -189,19 +189,18 @@ class reihungstest extends basis_db
{
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
ext_id, insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet) VALUES('.
$qry='BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->ort_kurzbz).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit).', '.
$this->db_add_param($this->ext_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->uhrzeit).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->max_teilnehmer).','.
@@ -209,22 +208,21 @@ class reihungstest extends basis_db
$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).');';
}
else
{
{
$qry='UPDATE public.tbl_reihungstest SET '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'datum='.$this->db_add_param($this->datum).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'datum='.$this->db_add_param($this->datum).', '.
'uhrzeit='.$this->db_add_param($this->uhrzeit).', '.
'ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'max_teilnehmer='.$this->db_add_param($this->max_teilnehmer).', '.
'oeffentlich='.$this->db_add_param($this->oeffentlich, FHC_BOOLEAN).', '.
'freigeschaltet='.$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).' '.
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -238,14 +236,14 @@ class reihungstest extends basis_db
$this->db_query('COMMIT');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
@@ -260,7 +258,7 @@ class reihungstest extends basis_db
return false;
}
}
/**
* Liefert die Reihungstests eines Studienganges
*
@@ -271,16 +269,16 @@ class reihungstest extends basis_db
public function getReihungstest($studiengang_kz,$order=null)
{
$qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if ($order!=null)
$qry .=" ORDER BY ".$order.";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
@@ -295,12 +293,12 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Reihungstests';
return false;
@@ -317,18 +315,18 @@ class reihungstest extends basis_db
public function getZukuenftige($include_id, $studiengang_kz)
{
$qry = "SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
UNION
UNION
SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
UNION
SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)."
ORDER BY sortierung, stg, datum";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
@@ -343,32 +341,32 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Reihungstests';
return false;
}
}
public function getStgZukuenftige($stg)
{
{
$qry = "SELECT * "
. "FROM public.tbl_reihungstest "
. "WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." "
. "AND datum>=now()-'1 days'::interval "
. "AND oeffentlich;";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
@@ -383,13 +381,13 @@ class reihungstest extends basis_db
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
return true;
}
else
return false;
return false;
}
public function getTeilnehmerAnzahl($reihungstest_id) {
+75 -78
View File
@@ -15,11 +15,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
*/
/**
* Klasse Service
*
*
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
@@ -35,7 +35,7 @@ class service extends basis_db
public $ext_id; // bigint
public $oe_kurzbz; // varchar(32)
public $content_id; // integer
/**
* Konstruktor - Laedt optional ein Service
* @param $service_id
@@ -43,14 +43,14 @@ class service extends basis_db
public function __construct($service_id=null)
{
parent::__construct();
if(!is_null($service_id))
$this->load($service_id);
}
/**
* Laedt ein Service mit der uebergebenen ID
*
*
* @param $service_id
* @return boolean
*/
@@ -61,8 +61,8 @@ class service extends basis_db
$this->errormsg = 'Service ID ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_service WHERE service_id=".$this->db_add_param($service_id, FHC_INTEGER);
if($result = $this->db_query($qry))
@@ -75,7 +75,7 @@ class service extends basis_db
$this->ext_id = $row->ext_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->content_id = $row->content_id;
return true;
}
else
@@ -90,27 +90,27 @@ class service extends basis_db
return false;
}
}
/**
* Laedt alle vorhandenen Services
*/
public function getAll()
{
{
$qry = "SELECT * FROM public.tbl_service ORDER BY oe_kurzbz, bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new service();
$obj->service_id = $row->service_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->content_id = $row->content_id;
$this->result[] = $obj;
}
return true;
@@ -121,33 +121,33 @@ class service extends basis_db
return false;
}
}
/**
* Sucht ein Service
*
*
* @param $suchstring
*/
public function search($suchstring)
{
$qry = "SELECT * FROM public.tbl_service WHERE 1=1 ";
{
$qry = "SELECT * FROM public.tbl_service WHERE 1=1 ";
foreach($suchstring as $value)
$qry.="AND (lower(beschreibung::text) like lower('%".$this->db_escape($value)."%')
OR lower(beschreibung::text) like lower('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))";
$qry.=" ORDER BY oe_kurzbz, bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new service();
$obj->service_id = $row->service_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->content_id = $row->content_id;
$this->result[] = $obj;
}
return true;
@@ -158,59 +158,58 @@ class service extends basis_db
return false;
}
}
/**
* Laedt alle vorhandenen Services, sortiert nach den am haeufigsten vom User in der Zeitaufzeichnung verwendeten
*
*
* <p>Optionaler Zeitraum (Tage in die Vergangenheit), in denen das Service vorkommt<br>
* Optionale Anzahl an Ereignissen im angegebenen Zeitraum, um das Service zu beruecksichtigen</p>
*
*
* @param string $user uid
* @param integer $zeitraum Anzahl Tage in die Vergangenheit, die fuer das Auftreten des Service beruecksichtigt werden sollen
* @param integer $anzahl_ereignisse default: 3 Wie oft soll dieses Service mindestens in $zeitraum vorkommen, um beruecksichtigt zu werden
*/
public function getFrequentServices($user, $zeitraum=null, $anzahl_ereignisse='3')
{
{
if(!is_numeric($anzahl_ereignisse))
{
$this->errormsg = 'anzahl_ereignisse muss eine gueltige Zahl sein';
return false;
}
if (!is_null($zeitraum) && $zeitraum>0 && is_numeric($zeitraum))
$zeit = "AND tbl_zeitaufzeichnung.start>=(now()::date-$zeitraum)";
else
else
$zeit = "";
$qry = " SELECT service_id,oe_kurzbz,bezeichnung,beschreibung,ext_id,content_id, sum(a.anzahl) AS anzahl FROM (
SELECT
SELECT
tbl_service.*,
(SELECT COUNT (tbl_zeitaufzeichnung.service_id) FROM campus.tbl_zeitaufzeichnung
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
(SELECT COUNT (tbl_zeitaufzeichnung.service_id) FROM campus.tbl_zeitaufzeichnung
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
$zeit
) AS anzahl
FROM public.tbl_service
WHERE
WHERE
(SELECT COUNT (tbl_zeitaufzeichnung.service_id) FROM campus.tbl_zeitaufzeichnung
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
$zeit
) > $anzahl_ereignisse
GROUP BY tbl_service.service_id,tbl_service.beschreibung,tbl_service.ext_id,tbl_service.oe_kurzbz,tbl_service.bezeichnung,tbl_service.content_id,anzahl
UNION
SELECT tbl_service.*, '0' AS anzahl
FROM public.tbl_service
) 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))
{
while($row = $this->db_fetch_object($result))
{
$obj = new service();
$obj->service_id = $row->service_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
@@ -218,7 +217,7 @@ class service extends basis_db
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->anzahl = $row->anzahl;
$obj->content_id = $row->content_id;
$this->result[] = $obj;
}
return true;
@@ -229,45 +228,45 @@ class service extends basis_db
return false;
}
}
/**
* Laedt die Services der uebergebenen OE
*
*
* @param string $oe_kurzbz OE_Kurzbezeichnung der zu suchenden Services.
* @param integer $content_id Default: null. Wenn true, werden nur OEs mit eingetragener Content_id zurückgegeben.
* Wenn content_id übergeben wird, wird nur das entsprechende Service zurückgegeben.
* @param integer $content_id Default: null. Wenn true, werden nur OEs mit eingetragener Content_id zurückgegeben.
* Wenn content_id übergeben wird, wird nur das entsprechende Service zurückgegeben.
*/
public function getServicesOrganisationseinheit($oe_kurzbz, $content_id=null)
{
$qry = 'SELECT
*
FROM
public.tbl_service
WHERE
{
$qry = 'SELECT
*
FROM
public.tbl_service
WHERE
oe_kurzbz='.$this->db_add_param($oe_kurzbz);
if (!is_null($content_id) && is_numeric($content_id))
$qry.= ' AND content_id='.$this->db_add_param($content_id);
elseif ($content_id==true)
$qry.= ' AND content_id IS NOT NULL';
else
else
$qry.= '';
$qry.= ' ORDER BY bezeichnung';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new service();
$obj->service_id = $row->service_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->content_id = $row->content_id;
$this->result[] = $obj;
}
return true;
@@ -278,46 +277,46 @@ class service extends basis_db
return false;
}
}
/**
* Laedt die Services der uebergebenen OE und alle Services, die dieser OE untergliedert sind
*
*
* @param string $oe_kurzbz
* @param string $order Default: oe_kurzbz,bezeichnung
* @param integer $content_id Default: null. Wenn true, werden nur OEs mit eingetragener Content_id zurückgegeben.
* @param integer $content_id Default: null. Wenn true, werden nur OEs mit eingetragener Content_id zurückgegeben.
* Wenn content_id übergeben wird, wird nur das entsprechende Service zurückgegeben.
*/
public function getSubServicesOrganisationseinheit($oe_kurzbz, $order='oe_kurzbz,bezeichnung', $content_id=null)
{
{
$qry = 'SELECT
*
FROM
public.tbl_service
WHERE
*
FROM
public.tbl_service
WHERE
oe_kurzbz IN (SELECT oe_kurzbz FROM public.tbl_organisationseinheit WHERE oe_parent_kurzbz='.$this->db_add_param($oe_kurzbz).')';
if (!is_null($content_id) && is_numeric($content_id))
$qry.= ' AND content_id='.$this->db_add_param($content_id);
elseif ($content_id==true)
$qry.= ' AND content_id IS NOT NULL';
else
else
$qry.= '';
if (!is_null($order))
$qry.= ' ORDER BY '.$order;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new service();
$obj->service_id = $row->service_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->beschreibung = $row->beschreibung;
$obj->ext_id = $row->ext_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->content_id = $row->content_id;
$this->result[] = $obj;
}
return true;
@@ -328,7 +327,7 @@ class service extends basis_db
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
* @return boolean
@@ -337,7 +336,7 @@ class service extends basis_db
{
return true;
}
/**
* Speichert ein Service
* @param $new
@@ -346,17 +345,16 @@ class service extends basis_db
{
if(is_null($new))
$new = $this->new;
if(!$this->validate())
return false;
if($new)
{
$qry = "BEGIN;INSERT INTO public.tbl_service (bezeichnung, beschreibung, ext_id, oe_kurzbz, content_id)
$qry = "BEGIN;INSERT INTO public.tbl_service (bezeichnung, beschreibung, oe_kurzbz, content_id)
VALUES(".
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->beschreibung).','.
$this->db_add_param($this->ext_id).','.
$this->db_add_param($this->oe_kurzbz).','.
$this->db_add_param($this->content_id).');';
}
@@ -365,12 +363,11 @@ class service extends basis_db
$qry = 'UPDATE public.tbl_service SET'.
' bezeichnung = '.$this->db_add_param($this->bezeichnung).','.
' beschreibung = '.$this->db_add_param($this->beschreibung).','.
' ext_id = '.$this->db_add_param($this->ext_id).','.
' oe_kurzbz = '.$this->db_add_param($this->oe_kurzbz).','.
' content_id = '.$this->db_add_param($this->content_id).
' WHERE service_id='.$this->db_add_param($this->service_id, FHC_INTEGER).';';
' WHERE service_id='.$this->db_add_param($this->service_id, FHC_INTEGER).';';
}
if($this->db_query($qry))
{
if($new)
@@ -407,10 +404,10 @@ class service extends basis_db
return false;
}
}
/**
* Loescht einen Service
* @param $service_id
*/
public function delete($service_id)
@@ -421,7 +418,7 @@ class service extends basis_db
return false;
}
$qry = "DELETE FROM public.tbl_service WHERE service_id=".$this->db_add_param($service_id);
if($this->db_query($qry))
return true;
else
@@ -431,4 +428,4 @@ class service extends basis_db
}
}
}
?>
?>
+111 -72
View File
@@ -45,22 +45,22 @@ class standort extends basis_db
public $personfunktionstandort_id; // integer
public $person_id; // integer
public $funktion_kurzbz; // string
public $position; // string
public $funktion_kurzbz; // string
public $position; // string
public $person_anrede; // string
public $titelpost; // string
public $titelpre; // string
public $nachname; // string
public $vorname; // string
public $vornamen; // string
public $person_anrede; // string
public $titelpost; // string
public $titelpre; // string
public $nachname; // string
public $vorname; // string
public $vornamen; // string
public $funktion_beschreibung; // string
public $funktion_aktiv; // boolean
public $funktion_fachbereich; // string
public $funktion_semester; // string
public $anrede; // string
public $funktion_beschreibung; // string
public $funktion_aktiv; // boolean
public $funktion_fachbereich; // string
public $funktion_semester; // string
public $anrede; // string
/**
@@ -70,7 +70,7 @@ class standort extends basis_db
public function __construct($standort_id=null)
{
parent::__construct();
if(!is_null($standort_id))
$this->load($standort_id);
}
@@ -84,7 +84,7 @@ class standort extends basis_db
{
$this->result=array();
$this->errormsg = '';
//Pruefen ob adress_id eine gueltige Zahl ist
if(!is_numeric($standort_id) || $standort_id == '')
{
@@ -132,7 +132,7 @@ class standort extends basis_db
{
$this->result=array();
$this->errormsg = '';
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($adress_id) || $adress_id == '')
{
@@ -162,12 +162,12 @@ class standort extends basis_db
$this->ext_id = $row->ext_id;
$this->firma_id = $row->firma_id;
$this->result[] = $row;
}
return true;
}
/**
* Laedt alle standorte zu der Firma die uebergeben wird
* @param $firma_id ID der Firma zu der die standorte geladen werden sollen
@@ -177,7 +177,7 @@ class standort extends basis_db
{
$this->result=array();
$this->errormsg = '';
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($firma_id) || $firma_id == '')
{
@@ -215,8 +215,8 @@ class standort extends basis_db
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
@@ -233,12 +233,12 @@ class standort extends basis_db
{
$this->errormsg='Adresse_id enthaelt ungueltige Zeichen';
return false;
}
}
if(!is_numeric($this->firma_id) && $this->firma_id!='')
{
$this->errormsg='Firma_id enthaelt ungueltige Zeichen';
return false;
}
}
if(mb_strlen($this->kurzbz)>16)
{
@@ -253,7 +253,7 @@ class standort extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -272,14 +272,13 @@ class standort extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_standort (adresse_id,kurzbz, bezeichnung, insertamum, insertvon
, updateamum, updatevon, ext_id, firma_id) VALUES('.
, updateamum, updatevon, firma_id) VALUES('.
$this->db_add_param($this->adresse_id, FHC_INTEGER).', '.
$this->db_add_param($this->kurzbz).', '.
$this->db_add_param($this->bezeichnung).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->firma_id).');';
$this->db_add_param($this->firma_id).');';
}
else
{
@@ -291,7 +290,7 @@ class standort extends basis_db
}
$qry='UPDATE public.tbl_standort SET'.
' adresse_id='.$this->db_add_param($this->adresse_id).', '.
' kurzbz='.$this->db_add_param($this->kurzbz).', '.
' kurzbz='.$this->db_add_param($this->kurzbz).', '.
' bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
' firma_id='.$this->db_add_param($this->firma_id).','.
' updateamum= now(), '.
@@ -327,7 +326,7 @@ class standort extends basis_db
return false;
}
}
else
else
return true;
}
else
@@ -362,8 +361,8 @@ class standort extends basis_db
return false;
}
}
/**
* Laedt alle Standort,Funktion zu der Adress ID die uebergeben wird
@@ -374,7 +373,7 @@ class standort extends basis_db
{
$this->result=array();
$this->errormsg = '';
//Pruefen ob xxx_ID eine gueltige Zahl ist
if($firma_id!='' && !is_numeric($firma_id))
{
@@ -395,7 +394,7 @@ class standort extends basis_db
{
$this->errormsg = 'Person ID muss eine gültige Zahl sein';
return false;
}
}
//Pruefen ob pers_id eine gueltige Zahl ist
if($personfunktionstandort_id!='' && !is_numeric($personfunktionstandort_id))
@@ -403,16 +402,16 @@ class standort extends basis_db
$this->errormsg = 'Personfunktionstandort ID muss eine gültige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT tbl_standort.*
$qry = "SELECT tbl_standort.*
, personfunktionstandort_id,funktion_kurzbz,position,tbl_personfunktionstandort.anrede
,tbl_person.person_id,tbl_person.anrede as person_anrede,tbl_person.titelpost,tbl_person.titelpre,tbl_person.nachname,tbl_person.vorname,tbl_person.vornamen
,tbl_person.person_id,tbl_person.anrede as person_anrede,tbl_person.titelpost,tbl_person.titelpre,tbl_person.nachname,tbl_person.vorname,tbl_person.vornamen
FROM public.tbl_standort ,public.tbl_personfunktionstandort,public.tbl_person
WHERE tbl_personfunktionstandort.standort_id=tbl_standort.standort_id
AND tbl_person.person_id=tbl_personfunktionstandort.person_id
";
if ($personfunktionstandort_id!='' && is_numeric($personfunktionstandort_id))
$qry.=" AND personfunktionstandort_id=".$this->db_add_param($personfunktionstandort_id, FHC_INTEGER);
if ($firma_id!='' && is_numeric($firma_id))
@@ -451,14 +450,14 @@ class standort extends basis_db
$adr_obj->anrede=$row->anrede;
$adr_obj->person_id=$row->person_id;
$adr_obj->person_anrede=$row->person_anrede;
$adr_obj->titelpost=$row->titelpost;
$adr_obj->titelpre=$row->titelpre;
$adr_obj->nachname=$row->nachname;
$adr_obj->vorname=$row->vorname;
$adr_obj->vornamen=$row->vornamen;
$adr_obj->vornamen=$row->vornamen;
$this->result[] = $adr_obj;
}
@@ -497,23 +496,23 @@ class standort extends basis_db
$this->errormsg = 'funktion_kurzbz muss eingegeben werden: '.$this->funktion_kurzbz."\n";
return false;
}
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_personfunktionstandort (funktion_kurzbz,person_id,position,anrede,standort_id)
$qry='BEGIN;INSERT INTO public.tbl_personfunktionstandort (funktion_kurzbz,person_id,position,anrede,standort_id)
VALUES('.
$this->db_add_param($this->funktion_kurzbz).', '.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->funktion_kurzbz).', '.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->position).', '.
$this->db_add_param($this->anrede).', '.
$this->db_add_param($this->standort_id, FHC_INTEGER).');';
$this->db_add_param($this->standort_id, FHC_INTEGER).');';
}
else
{
$qry='UPDATE public.tbl_personfunktionstandort SET'.
' funktion_kurzbz='.$this->db_add_param($this->funktion_kurzbz).', '.
' person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
' person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
' position='.$this->db_add_param($this->position).', '.
' anrede='.$this->db_add_param($this->anrede).','.
' standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).' '.
@@ -548,7 +547,7 @@ class standort extends basis_db
return false;
}
}
else
else
return true;
}
else
@@ -576,7 +575,7 @@ class standort extends basis_db
$this->errormsg = 'standort_id muss eine gültige Zahl sein'."\n";
return false;
}
if($personfunktionstandort_id != '')
$qry="DELETE FROM public.tbl_personfunktionstandort WHERE personfunktionstandort_id=".$this->db_add_param($personfunktionstandort_id, FHC_INTEGER).";";
else if($standort_id != '')
@@ -585,8 +584,8 @@ class standort extends basis_db
{
$this->errormsg = 'personfunktionstandort_id oder standort_id muss eingegeben werden'."\n";
return false;
}
}
if($this->db_query($qry))
{
return true;
@@ -597,48 +596,88 @@ class standort extends basis_db
return false;
}
}
/**
*
*
* gibt alle Standorte eines bestimmten Typs zurück
* @param $typ
*/
public function getStandorteWithTyp($typ)
{
$qry ="select standort.* from public.tbl_firma as firma, public.tbl_adresse as adresse, public.tbl_standort as standort where
firma.firma_id = standort.firma_id and
standort.adresse_id = adresse.adresse_id and
$qry ="select standort.* from public.tbl_firma as firma, public.tbl_adresse as adresse, public.tbl_standort as standort where
firma.firma_id = standort.firma_id and
standort.adresse_id = adresse.adresse_id and
firma.firmentyp_kurzbz = ".$this->db_add_param($typ).";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$standort = new standort();
$standort = new standort();
$standort->standort_id = $row->standort_id;
$standort->firma_id = $row->firma_id;
$standort->adresse_id = $row->adresse_id;
$standort->kurzbz = $row->kurzbz;
$standort->bezeichnung = $row->bezeichnung;
$standort->insertvon = $row->insertvon;
$standort->insertamum = $row->insertamum;
$standort->updatevon = $row->updatevon;
$standort->standort_id = $row->standort_id;
$standort->firma_id = $row->firma_id;
$standort->adresse_id = $row->adresse_id;
$standort->kurzbz = $row->kurzbz;
$standort->bezeichnung = $row->bezeichnung;
$standort->insertvon = $row->insertvon;
$standort->insertamum = $row->insertamum;
$standort->updatevon = $row->updatevon;
$standort->updateamum = $row->updateamum;
$this->result[] = $standort;
$this->result[] = $standort;
}
return true;
return true;
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten.";
return false;
return false;
}
}
/**
* Gibt alle Standorte zurück, die zumindest mit 1 Ort verknüpft sind
* @return true wenn ok, false im Fehlerfall
*/
public function getAllStandorteWithOrt()
{
$qry = "SELECT standort.*
FROM public.tbl_firma AS firma, public.tbl_adresse AS adresse, public.tbl_standort AS standort
WHERE firma.firma_id = standort.firma_id
AND standort.adresse_id = adresse.adresse_id
AND standort.standort_id IN
(SELECT DISTINCT standort_id FROM public.tbl_ort);";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$standort = new standort();
$standort->standort_id = $row->standort_id;
$standort->firma_id = $row->firma_id;
$standort->adresse_id = $row->adresse_id;
$standort->kurzbz = $row->kurzbz;
$standort->bezeichnung = $row->bezeichnung;
$standort->insertvon = $row->insertvon;
$standort->insertamum = $row->insertamum;
$standort->updatevon = $row->updatevon;
$standort->updateamum = $row->updateamum;
$this->result[] = $standort;
}
return true;
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten.";
return false;
}
}
}
?>
+106 -108
View File
@@ -33,7 +33,7 @@ class student extends benutzer
public $gruppe;
public $ext_id_student;
public $result;
public $studiensemester_kurzbz;
/**
@@ -43,7 +43,7 @@ class student extends benutzer
public function __construct($uid=null)
{
parent::__construct();
//Student laden
if($uid!=null)
$this->load($uid);
@@ -52,7 +52,7 @@ class student extends benutzer
/**
* Laedt die Daten eines Studenten
* Wenn Studiensemester_kurzbz angegeben wird, dann werden
* Studiengang, Semester, Verband und Gruppe aus der Tabelle
* Studiengang, Semester, Verband und Gruppe aus der Tabelle
* Studentlehrverband geholt.
* @param uid
* studiensemester_kurzbz
@@ -66,8 +66,8 @@ class student extends benutzer
$qry = "SELECT * FROM public.tbl_student WHERE student_uid=".$this->db_add_param($uid);
else
$qry = "SELECT *, tbl_studentlehrverband.studiengang_kz as studiengang_kz, tbl_studentlehrverband.semester as semester,
tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe
FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
tbl_studentlehrverband.verband as verband, tbl_studentlehrverband.gruppe as gruppe
FROM public.tbl_student JOIN public.tbl_studentlehrverband USING(student_uid)
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)." AND student_uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
@@ -171,10 +171,10 @@ class student extends benutzer
return false;
$this->db_query('BEGIN;');
if($new==null)
$new = $this->new;
if($savebenutzer)
{
//Basisdaten speichern
@@ -189,7 +189,7 @@ class student extends benutzer
{
//Neuen Datensatz anlegen
$qry = "INSERT INTO public.tbl_student(student_uid, matrikelnr, updateamum, updatevon, prestudent_id,
studiengang_kz, semester, ext_id, verband, gruppe, insertamum, insertvon)
studiengang_kz, semester, verband, gruppe, insertamum, insertvon)
VALUES(".$this->db_add_param($this->uid).",".
$this->db_add_param($this->matrikelnr).",".
$this->db_add_param($this->updateamum).','.
@@ -197,7 +197,6 @@ class student extends benutzer
$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
$this->db_add_param($this->studiengang_kz).','.
$this->db_add_param($this->semester).','.
$this->db_add_param($this->ext_id_student).','.
$this->db_add_param(($this->verband==''?' ':$this->verband)).','.
$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).','.
$this->db_add_param($this->insertamum).','.
@@ -212,12 +211,11 @@ class student extends benutzer
' updatevon='.$this->db_add_param($this->updatevon).','.
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).','.
' semester='.$this->db_add_param($this->semester).','.
' ext_id='.$this->db_add_param($this->ext_id_student).','.
' verband='.$this->db_add_param(($this->verband==''?' ':$this->verband)).','.
' gruppe='.$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).
" WHERE student_uid=".$this->db_add_param($this->uid).";";
}
if($this->db_query($qry))
{
$this->db_query('COMMIT;');
@@ -261,13 +259,13 @@ class student extends benutzer
$where.=" AND tbl_studentlehrverband.verband=".$this->db_add_param($ver);
if ($grp!=null)
$where.=" AND tbl_studentlehrverband.gruppe=".$this->db_add_param($grp);
}
}
if($stsem!=null)
$where.=" AND tbl_studentlehrverband.studiensemester_kurzbz=".$this->db_add_param($stsem);
$sql_query = "SELECT *, tbl_student.semester as std_semester, tbl_student.verband as std_verband, tbl_student.gruppe as std_gruppe, tbl_student.studiengang_kz as std_studiengang_kz,
tbl_studentlehrverband.studiengang_kz as lvb_studiengang_kz, tbl_studentlehrverband.semester as lvb_semester, tbl_studentlehrverband.verband as lvb_verband, tbl_studentlehrverband.gruppe as lvb_gruppe
tbl_studentlehrverband.studiengang_kz as lvb_studiengang_kz, tbl_studentlehrverband.semester as lvb_semester, tbl_studentlehrverband.verband as lvb_verband, tbl_studentlehrverband.gruppe as lvb_gruppe
FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband, public.tbl_prestudent";
if($gruppe!=null)
$sql_query.= ",public.tbl_benutzergruppe";
@@ -279,7 +277,7 @@ class student extends benutzer
return false;
}
$result=array();
while($row = $this->db_fetch_object())
{
$l=new student();
@@ -311,7 +309,7 @@ class student extends benutzer
$l->semester=$row->lvb_semester;
$l->studiengang_kz=$row->lvb_studiengang_kz;
$l->staatsbuergerschaft = $row->staatsbuergerschaft;
$l->zgv_code = $row->zgv_code;
$l->zgvort = $row->zgvort;
$l->zgvdatum = $row->zgvdatum;
@@ -321,17 +319,17 @@ class student extends benutzer
//$l->stg_bezeichnung=$row->bezeichnung;
// student in Array speichern
$result[]=$l;
}
return $result;
}
/**
* Gibt Studenten zurück die im übergebenen Studiengang und semester sind
* @param $studiengang_kz
* @param $semester
* @return boolean
* @return boolean
*/
public function getStudentsStudiengang($studiengang_kz, $semester = null)
{
@@ -339,49 +337,49 @@ class student extends benutzer
if($studiengang_kz == '')
{
$this->errormsg ="Es wurde kein Studiengang übergeben";
return false;
return false;
}
*/
$qry = "SELECT * FROM public.tbl_student
$qry = "SELECT * FROM public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
WHERE tbl_benutzer.aktiv = 'true'";
if($studiengang_kz!='')
$qry.=" AND studiengang_kz =".$this->db_add_param($studiengang_kz,FHC_INTEGER);
$qry.=" AND studiengang_kz =".$this->db_add_param($studiengang_kz,FHC_INTEGER);
if($semester != null)
$qry .= " AND semester =".$this->db_add_param($semester, FHC_INTEGER);
$qry.=" ORDER BY nachname, vorname";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
}
return true;
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
return false;
}
}
/**
* Prueft ob die StudentLehrverband Zuteilung
* bereits existiert
@@ -391,31 +389,31 @@ class student extends benutzer
*/
public function studentlehrverband_exists($student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband
WHERE student_uid=".$this->db_add_param($student_uid)." AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
if($row->anzahl>0)
return true;
else
else
return false;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
else
else
{
$this->errormsg ='Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
/**
* Prueft ob die StudentLehrverband Zuteilung
* bereits existiert
@@ -425,10 +423,10 @@ class student extends benutzer
*/
public function load_studentlehrverband($student_uid, $studiensemester_kurzbz)
{
$qry = "SELECT * FROM public.tbl_studentlehrverband
$qry = "SELECT * FROM public.tbl_studentlehrverband
WHERE student_uid=".$this->db_add_param($student_uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -443,22 +441,22 @@ class student extends benutzer
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
else
else
{
$this->errormsg ='Fehler beim Ermitteln des Lehrverbandes';
return false;
}
}
/**
* Speichert die Zuteilung von Student zu Lehrverband
* @param $new
@@ -468,7 +466,7 @@ class student extends benutzer
{
if($new==null)
$new = $this->new;
if($new)
{
$qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
@@ -483,7 +481,7 @@ class student extends benutzer
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
}
else
else
{
$qry = "UPDATE public.tbl_studentlehrverband SET".
" studiengang_kz=".$this->db_add_param($this->studiengang_kz).",".
@@ -494,18 +492,18 @@ class student extends benutzer
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE student_uid=".$this->db_add_param($this->uid)." AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz);
}
if($this->db_query($qry))
{
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Speichern der Studentlehrverbandzuordnung';
return false;
}
}
/**
* Laedt die UID anhand der Prestudent_id
* @param prestudent_id
@@ -518,28 +516,28 @@ class student extends benutzer
$this->errormsg = 'PrestudentID ist ungueltig';
return false;
}
$qry = "SELECT student_uid FROM public.tbl_student WHERE prestudent_id=".$this->db_add_param($prestudent_id);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->student_uid;
}
else
else
{
$this->errormsg = 'Student nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die UID anhand der Matrikelnummer
* @param matrikelnummer
@@ -548,30 +546,30 @@ class student extends benutzer
public function getUidFromMatrikelnummer($matrikelnummer)
{
$qry = "SELECT student_uid FROM public.tbl_student WHERE matrikelnr=".$this->db_add_param($matrikelnummer);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->student_uid;
}
else
else
{
$this->errormsg = 'Student nicht gefunden';
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Daten eines Studenten anhand der Person_id und des Studienganges
* Wenn mehrere Eintraege fuer diesen Studiengang vorhanden sind, dann wird der zuletzt eingetragene verwendet
*
*
* @param person_id
* @param studiengang_kz
* @return true wenn ok, false im Fehlerfall
@@ -581,7 +579,7 @@ class student extends benutzer
$qry = "SELECT tbl_student.* FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid)
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
ORDER BY prestudent_id DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -613,7 +611,7 @@ class student extends benutzer
return false;
}
}
/**
* Liefert die Tabellenelemente die den Kriterien der Parameter entsprechen
* Ueberschreibt die Methode aus der Klasse Person
@@ -623,21 +621,21 @@ class student extends benutzer
*/
public function getTab($filter, $order='person_id')
{
$sql_query = "SELECT
person_id, staatsbuergerschaft, geburtsnation, sprache, anrede, titelpost, titelpre,
nachname, vorname, vornamen, gebdatum, gebort, gebzeit, anmerkung, homepage, svnr,
$sql_query = "SELECT
person_id, staatsbuergerschaft, geburtsnation, sprache, anrede, titelpost, titelpre,
nachname, vorname, vornamen, gebdatum, gebort, gebzeit, anmerkung, homepage, svnr,
ersatzkennzeichen, familienstand, geschlecht, anzahlkinder, tbl_person.aktiv, kurzbeschreibung,
tbl_benutzer.aktiv as bnaktiv, tbl_student.studiengang_kz, tbl_student.semester, tbl_student.verband,
tbl_student.gruppe, tbl_student.prestudent_id
FROM
public.tbl_person
tbl_student.gruppe, tbl_student.prestudent_id
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
JOIN public.tbl_student ON(student_uid=uid)
JOIN public.tbl_student ON(student_uid=uid)
WHERE true ";
if($filter!='')
{
$sql_query.=" AND nachname ~* ".$this->db_add_param($filter)." OR
$sql_query.=" AND nachname ~* ".$this->db_add_param($filter)." OR
vorname ~* ".$this->db_add_param($filter)." OR
(nachname || ' ' || vorname) ~* ".$this->db_add_param($filter)." OR
(vorname || ' ' || nachname) ~* ".$this->db_add_param($filter);
@@ -646,7 +644,7 @@ class student extends benutzer
$sql_query .= " ORDER BY $order";
if($filter=='')
$sql_query .= " LIMIT 30";
if($this->db_query($sql_query))
{
while($row = $this->db_fetch_object())
@@ -690,55 +688,55 @@ class student extends benutzer
}
return true;
}
/**
* Laedt alle Incoming
* @return boolean
* @return boolean
*/
public function getIncoming()
{
$qry = "
SELECT
SELECT
distinct tbl_student.*, tbl_benutzer.*, tbl_person.*
FROM
public.tbl_student
FROM
public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
WHERE
tbl_benutzer.aktiv AND
tbl_prestudentstatus.status_kurzbz='Incoming'
";
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
}
return true;
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
return false;
}
}
public function getStudentUidsForMeldung($studiensemester1, $studiensemester2, $studiensemester3, $zeitraumStart, $zeitraumEnde)
{
$qry = "SELECT DISTINCT ON(student_uid)* FROM public.tbl_student
@@ -767,7 +765,7 @@ class student extends benutzer
}
return false;
}
/**
* Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe
* @param type $uid
+58 -60
View File
@@ -62,9 +62,9 @@ class studiengang extends basis_db
public $mischform; // boolean
public $projektarbeit_note_anzeige; // boolean
public $bezeichnung_arr = array();
public $beschreibung;
public $beschreibung;
/**
* Konstruktor
* @param studiengang_kz Kennzahl des zu ladenden Studienganges
@@ -72,10 +72,10 @@ class studiengang extends basis_db
public function __construct($studiengang_kz=null)
{
parent::__construct();
if(!is_null($studiengang_kz))
$this->load($studiengang_kz);
//$this->getAllTypes();
/* $this->studiengang_typ_arr["b"] = "Bachelor";
$this->studiengang_typ_arr["d"] = "Diplom";
@@ -182,7 +182,7 @@ class studiengang extends basis_db
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
while($row = $this->db_fetch_object($result))
{
@@ -230,23 +230,23 @@ class studiengang extends basis_db
return true;
}
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
* @return boolean
*/
public function getAllForBewerbung()
public function getAllForBewerbung()
{
$qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch '
. 'FROM lehre.vw_studienplan '
. 'WHERE onlinebewerbung IS TRUE '
. 'ORDER BY studiengangbezeichnung ASC';
if(!$result = $this->db_query($qry))
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
while($row = $this->db_fetch_object($result))
{
@@ -255,7 +255,7 @@ class studiengang extends basis_db
return true;
}
/**
* Laedt alle Studientypen in das Attribut studiengang_typ_array
*/
@@ -337,9 +337,9 @@ class studiengang extends basis_db
{
if(count($kennzahlen)==0)
return true;
$kennzahlen = $this->implode4SQL($kennzahlen);
$qry = 'SELECT * FROM public.tbl_studiengang WHERE studiengang_kz in('.$kennzahlen.')';
if ($aktiv)
$qry.=' AND aktiv=true';
@@ -351,8 +351,8 @@ class studiengang extends basis_db
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
while($row = $this->db_fetch_object($result))
{
$stg_obj = new studiengang();
@@ -400,7 +400,7 @@ class studiengang extends basis_db
return true;
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
@@ -436,7 +436,7 @@ class studiengang extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz
* @param $new boolean Legt fest ob der Datensatz neu angelegt wird oder nicht
@@ -446,7 +446,7 @@ class studiengang extends basis_db
{
if(is_null($new))
$new = $this->new;
//Gueltigkeit der Variablen pruefen
if(!$this->validate())
{
@@ -458,7 +458,7 @@ class studiengang extends basis_db
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english,
typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1,
bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, ext_id, orgform_kurzbz, zusatzinfo_html,
bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, onlinebewerbung, orgform_kurzbz, zusatzinfo_html,
oe_kurzbz, moodle, sprache, testtool_sprachwahl, studienplaetze, lgartcode, mischform,projektarbeit_note_anzeige) VALUES ('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->kurzbz).', '.
@@ -481,7 +481,6 @@ class studiengang extends basis_db
$this->db_add_param($this->titelbescheidvom).', '.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
$this->db_add_param($this->onlinebewerbung, FHC_BOOLEAN).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->orgform_kurzbz).', '.
$this->db_add_param($this->zusatzinfo_html).', '.
$this->db_add_param($this->oe_kurzbz).', '.
@@ -516,7 +515,6 @@ class studiengang extends basis_db
'bescheidgz='.$this->db_add_param($this->bescheidgz).', '.
'bescheidvom='.$this->db_add_param($this->bescheidvom).', '.
'titelbescheidvom='.$this->db_add_param($this->titelbescheidvom).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'telefon='.$this->db_add_param($this->telefon).', '.
'orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
@@ -524,7 +522,7 @@ class studiengang extends basis_db
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).','.
'zusatzinfo_html='.$this->db_add_param($this->zusatzinfo_html).', '.
'moodle='.$this->db_add_param($this->moodle, FHC_BOOLEAN).', '.
'projektarbeit_note_anzeige='.$this->db_add_param($this->projektarbeit_note_anzeige, FHC_BOOLEAN).', '.
'projektarbeit_note_anzeige='.$this->db_add_param($this->projektarbeit_note_anzeige, FHC_BOOLEAN).', '.
'sprache='.$this->db_add_param($this->sprache).', '.
'testtool_sprachwahl='.$this->db_add_param($this->testtool_sprachwahl, FHC_BOOLEAN).', '.
'studienplaetze='.$this->db_add_param($this->studienplaetze).', '.
@@ -569,7 +567,7 @@ class studiengang extends basis_db
}
}
/**
* Liefert die UIDs der Studiengangsleiter
*
@@ -579,20 +577,20 @@ class studiengang extends basis_db
public function getLeitung($studiengang_kz=null)
{
$stgl = array();
$qry = "SELECT
$qry = "SELECT
uid
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE
funktion_kurzbz='Leitung' AND
(datum_von is null OR datum_von<=now()) AND
(datum_bis is null OR datum_bis>=now())";
if(!is_null($studiengang_kz))
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -601,13 +599,13 @@ class studiengang extends basis_db
}
return $stgl;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Studiengangsleiter';
return false;
}
}
/**
* Laedt einen Studiengang anhand seiner Organisationseinheit
* @param $oe_kurzbz
@@ -615,8 +613,8 @@ class studiengang extends basis_db
*/
public function getStudiengangFromOe($oe_kurzbz)
{
$qry ="SELECT * FROM public.tbl_studiengang WHERE oe_kurzbz =".$this->db_add_param($oe_kurzbz);
$qry ="SELECT * FROM public.tbl_studiengang WHERE oe_kurzbz =".$this->db_add_param($oe_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -659,14 +657,14 @@ class studiengang extends basis_db
return true;
}
}
else
else
{
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
return false;
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
return false;
}
}
/**
* @return Array mit allen Semestern des Studienganges
*/
@@ -684,26 +682,26 @@ class studiengang extends basis_db
}
return $result;
}
public function getStudiengangTyp($typ)
{
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
$qry = "SELECT * FROM public.tbl_studiengangstyp WHERE typ =".$this->db_add_param($typ,FHC_STRING).";";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->typ = $row->typ;
$this->bezeichnung = $row->bezeichnung;
$this->beschreibung = $row->beschreibung;
$this->typ = $row->typ;
$this->bezeichnung = $row->bezeichnung;
$this->beschreibung = $row->beschreibung;
}
return true;
return true;
}
else
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
@@ -735,7 +733,7 @@ class studiengang extends basis_db
return false;
}
}
/**
* Sucht nach einem Studiengang
* @param type $searchItem
@@ -743,11 +741,11 @@ class studiengang extends basis_db
*/
public function search($searchItem)
{
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
$qry = 'SELECT * FROM public.tbl_studiengang WHERE
LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\') OR
LOWER(english) LIKE LOWER(\'%'.$this->db_escape((implode(' ',$searchItem))).'%\')
ORDER BY typ,bezeichnung;';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -787,12 +785,12 @@ class studiengang extends basis_db
$obj->mischform = $this->db_parse_bool($row->mischform);
$obj->projektarbeit_note_anzeige = $this->db_parse_bool($row->projektarbeit_note_anzeige);
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$this->result[] = $obj;
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden des Studiengangs';
return false;
@@ -819,7 +817,7 @@ class studiengang extends basis_db
{
$qry.=" AND tbl_studiengang.aktiv";
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -866,10 +864,10 @@ class studiengang extends basis_db
}
return true;
}
else
else
{
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
return false;
$this->errormsg = "Fehler bei der Datenbankabfrage aufgetreten.";
return false;
}
}
}
+47
View File
@@ -824,6 +824,53 @@ class studiensemester extends basis_db
return false;
}
}
/**
* Liefert ausgehend von heutigen Datum $plus studiensemester in die Zukunft und $minus Studiensemester in die Vergangenheit
*
* @param integer $plus Wieviele Studiensemester in die Zukunft sollen ausgegeben werden.
* @param integer $minus Wieviele Studiensemester in die Vergangenheit sollen ausgegeben werden.
*
* @return true wenn ok, sonst false
*/
public function getPlusMinus($plus=null, $minus=null)
{
if((is_null($plus) || !is_numeric($plus)) || (is_null($minus) || !is_numeric($minus)))
return false;
$qry = "SELECT DISTINCT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz IN
(
(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start >= now()
ORDER BY ende ASC LIMIT $plus)
UNION
(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now()
ORDER BY start DESC LIMIT $minus)
)
ORDER BY ende DESC";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$stsem_obj = new studiensemester();
$stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$stsem_obj->start = $row->start;
$stsem_obj->ende = $row->ende;
$stsem_obj->bezeichnung = $row->bezeichnung;
$stsem_obj->studienjahr_kurzbz = $row->studienjahr_kurzbz;
$stsem_obj->beschreibung = $row->beschreibung;
$this->studiensemester[] = $stsem_obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Studiensemester';
return false;
}
}
}
?>
+20 -20
View File
@@ -42,7 +42,7 @@ if ($lvobj = new lehrveranstaltung($lvid))
$pdf->SetFont('Arial','',16);
$pdf->MultiCell(0,20,'Anwesenheitsliste '.$bezeichnung,0,'L',0);
$pdf->MultiCell(0,20,'Fotoliste '.$bezeichnung,0,'L',0);
$pdf->SetFont('Arial','',10);
$pdf->SetFillColor(190,190,190);
@@ -59,7 +59,7 @@ $pdf->SetXY(30,60);
$qry = "SELECT distinct on(kuerzel, semester, verband, gruppe, gruppe_kurzbz) UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel, semester, verband, gruppe, gruppe_kurzbz from campus.vw_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND studiensemester_kurzbz='".addslashes($stsem)."'";
if($lehreinheit_id!='')
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit_id)."'";
$gruppen='';
if($result = $db->db_query($qry))
{
@@ -78,7 +78,7 @@ $gruppen=mb_convert_encoding($gruppen,'ISO-8859-15','UTF-8');
$pdf->MultiCell(0,20,'Gruppe: '.$gruppen);
$semester = new studiensemester($stsem);
$pdf->MultiCell(0,20,'Studiensemester: '.(($semester->beschreibung != NULL) ? $semester->beschreibung : $stsem));
$maxY=$pdf->GetY();
$maxY=getmax($maxY,$pdf->GetY());
@@ -125,20 +125,20 @@ $stsem_obj = new studiensemester();
$stsem_obj->load($stsem);
$stsemdatumvon = $stsem_obj->start;
$stsemdatumbis = $stsem_obj->ende;
$qry = "SELECT
$qry = "SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, person_id, foto_sperre,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.bis, tbl_bisio.von,
tbl_zeugnisnote.note
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
tbl_zeugnisnote.note
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."'";
if($lehreinheit_id!='')
@@ -157,9 +157,9 @@ if($result = $db->db_query($qry))
$i++;
if($i%2)
$pdf->SetFillColor(190,190,190);
else
else
$pdf->SetFillColor(255,255,255);
$pdf->SetFont('Arial','',10);
$maxY=$pdf->GetY();
if($maxY>660)
@@ -167,7 +167,7 @@ if($result = $db->db_query($qry))
$pdf->AddPage();
$maxY=$pdf->GetY();
}
$vorname=mb_convert_encoding(trim($elem->vorname),'ISO-8859-15','UTF-8');
$nachname=mb_convert_encoding(trim($elem->nachname),'ISO-8859-15','UTF-8');
@@ -176,7 +176,7 @@ if($result = $db->db_query($qry))
$matrikelnr=trim(mb_convert_encoding($elem->matrikelnr,'ISO-8859-15','UTF-8'));
$sem_verb_grup=trim(mb_convert_encoding($elem->semester.$elem->verband.$elem->gruppe,'ISO-8859-15','UTF-8'));
$maxX=30;
$pdf->SetXY($maxX,$maxY);
$pdf->MultiCell(20,$lineheight,$i,1,'R',1);
@@ -188,15 +188,15 @@ if($result = $db->db_query($qry))
$pdf->SetXY($maxX+strlen($nachname)*6+2,$maxY);
if($elem->status=='Incoming')
$inc=' (i)';
else
else
$inc='';
if($elem->bisio_id!='' && $elem->status!='Incoming' && ($elem->bis > $stsemdatumvon || $elem->bis=='') && $elem->von < $stsemdatumbis) //Outgoing
$inc.=' (o)';
if($elem->note==6) //angerechnet
$inc.=' (ar)';
$pdf->MultiCell(130,$lineheight,$vorname.$inc,0,'L',0);
$maxX +=130;
$pdf->SetXY($maxX,$maxY);
@@ -243,5 +243,5 @@ $pdf->SetFont('Arial','',8);
$pdf->MultiCell(520,$lineheight,'Fehlt ein Student lnger als 2 Wochen, bitte um einen deutlichen Vermerk auf der Anwesenheitsliste. Die Anwesenheitsliste bitte am Ende des Monats im Sekretariat abgeben! Bitte achten Sie darauf, dass Sie nur VOLLSTNDIG AUSGEFLLTE LISTEN abgeben!',0,'L',0);
*/
$pdf->Output('anwesenheitsliste.pdf','I');
?>
$pdf->Output('fotoliste.pdf','I');
?>
+11 -11
View File
@@ -32,7 +32,7 @@ $generateuid_addons = new addon();
foreach($generateuid_addons->aktive_addons as $addon)
{
$generateuid_addon_filename = dirname(__FILE__).'/../../addons/'.$addon.'/vilesci/generateuid.inc.php';
if(file_exists($generateuid_addon_filename))
{
include($generateuid_addon_filename);
@@ -44,7 +44,7 @@ foreach($generateuid_addons->aktive_addons as $addon)
if(!$generateuid_addon_found)
{
// ****
// * Generiert die UID
// * FORMAT: el07b001
@@ -65,19 +65,19 @@ if(!$generateuid_addon_found)
$nr = $nr+500;
elseif($art=='4' && $stgtyp=='l') // Lehrgangsteilnehmer im Sommersemester
$nr = $nr+500;
return mb_strtolower($stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr);
}
// ****
// * Gerneriert die Mitarbeiter UID
// ****
function generateMitarbeiterUID($vorname, $nachname, $lektor)
function generateMitarbeiterUID($vorname, $nachname, $lektor, $fixangestellt=true)
{
$bn = new benutzer();
$reserviert = array();
// Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht
// in der FHC Datenbank vorhanden sind.
// Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt
@@ -92,19 +92,19 @@ if(!$generateuid_addon_found)
$reserviert[]=$entry[0];
}
}
for($nn=8,$vn=0;$nn!=0;$nn--,$vn++)
{
$uid = mb_substr($nachname,0,$nn);
$uid .= mb_substr($vorname,0,$vn);
$uid = mb_str_replace(' ','',$uid);
$uid = mb_str_replace('-','',$uid);
if(!$bn->uid_exists($uid) && !in_array($uid, $reserviert))
if($bn->errormsg=='')
return $uid;
}
}
}
?>
?>
+1
View File
@@ -168,6 +168,7 @@ $menu=array
'Infoscreen'=>array('name'=>'Infoscreen', 'link'=>'stammdaten/infoscreen_frameset.html', 'target'=>'main','permissions'=>array('basis/infoscreen')),
'Ferien'=>array('name'=>'Ferien', 'link'=>'lehre/ferienverwaltung.php', 'target'=>'main','permissions'=>array('admin')),
'Service'=>array('name'=>'Service', 'link'=>'stammdaten/service_frameset.html', 'target'=>'main','permissions'=>array('basis/service')),
'Dokumentvorlagen'=>array('name'=>'Dokumentvorlagen', 'link'=>'stammdaten/dokumentvorlagen_verwaltung.php', 'target'=>'main','permissions'=>array('basis/dokumente')),
'FH Ausweis'=>array
(
'name'=>'FH Ausweis','permissions'=>array('basis/fhausweis'),
+155 -96
View File
@@ -24,9 +24,9 @@ class vertrag extends basis_db
{
public $new=true;
public $result = array();
public $vertragstyp_bezeichnung;
public $vertrag_id; // bigint
public $bezeichnung; // varchar(256)
public $person_id; // bigint
@@ -36,8 +36,8 @@ class vertrag extends basis_db
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
public $ext_id; // bigint
public $anmerkung; // text
public $ext_id; // bigint
public $anmerkung; // text
public $vertragsdatum; // date
/**
@@ -85,17 +85,17 @@ class vertrag extends basis_db
* Laedt die Verträge einer Person
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
*/
public function loadVertrag($person_id, $abgerechnet=null)
{
$qry = "SELECT
*,
$qry = "SELECT
*,
tbl_vertrag.bezeichnung as bezeichnung,
tbl_vertragstyp.bezeichnung as vertragstyp_bezeichnung,
(SELECT bezeichnung FROM lehre.tbl_vertragsstatus JOIN lehre.tbl_vertrag_vertragsstatus USING(vertragsstatus_kurzbz)
(SELECT bezeichnung FROM lehre.tbl_vertragsstatus JOIN lehre.tbl_vertrag_vertragsstatus USING(vertragsstatus_kurzbz)
WHERE vertrag_id=tbl_vertrag.vertrag_id ORDER BY datum desc limit 1) as status
FROM
lehre.tbl_vertrag
FROM
lehre.tbl_vertrag
LEFT JOIN lehre.tbl_vertragstyp USING(vertragstyp_kurzbz)
WHERE person_id=".$this->db_add_param($person_id);
@@ -122,9 +122,9 @@ class vertrag extends basis_db
$obj->status = $row->status;
$obj->anmerkung = $row->anmerkung;
$obj->vertragsdatum = $row->vertragsdatum;
$obj->vertragstyp_bezeichnung = $row->vertragstyp_bezeichnung;
$this->result[] = $obj;
}
return true;
@@ -146,7 +146,7 @@ class vertrag extends basis_db
{
if(is_null($new))
$new = $this->new;
if($this->vertragstyp_kurzbz=='')
{
$this->errormsg = 'Vertragstyp_kurzbz muss angegeben werden';
@@ -185,7 +185,7 @@ class vertrag extends basis_db
'bezeichnung = '.$this->db_add_param($this->vertragstyp_bezeichnung).
'WHERE vertragstyp_kurzbz = '.$this->db_add_param($this->vertragstyp_kurzbz);
}
if($this->db_query($qry))
{
return true;
@@ -206,7 +206,7 @@ class vertrag extends basis_db
// prüfen ob Vertrag bereits verwendet wird
$qry = "SELECT vertragstyp_kurzbz FROM lehre.tbl_vertrag
WHERE vertragstyp_kurzbz = " . $this->db_add_param($vertragstyp_kurzbz);
if($this->db_query($qry))
{
if($this->db_fetch_object())
@@ -220,25 +220,25 @@ class vertrag extends basis_db
$this->errormsg = "Fehler beim Durchführen der Datenbankabfrage";
return false;
}
if(is_null($vertragstyp_kurzbz))
{
$this->errormsg = 'Vertragstyp_kurzbz darf nicht leer sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_vertragstyp
$qry = "DELETE FROM lehre.tbl_vertragstyp
WHERE vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz).";";
if($this->db_query($qry))
return true;
else
else
{
$this->errormsg = 'Fehler beim Loeschen des Vertragstyps';
return false;
}
}
/**
* Liefert alle Vertragsytpen
* @return true wenn ok false im Fehlerfall
@@ -246,16 +246,16 @@ class vertrag extends basis_db
public function getAllVertragstypen()
{
$qry = "SELECT * FROM lehre.tbl_vertragstyp ORDER BY bezeichnung;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$vertrag = new vertrag();
$vertrag->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$vertrag->vertragstyp_bezeichnung = $row->bezeichnung;
$this->result[] = $vertrag;
}
return true;
@@ -266,7 +266,7 @@ class vertrag extends basis_db
return false;
}
}
/**
* Laedt einen Vertragstyp
*
@@ -275,7 +275,7 @@ class vertrag extends basis_db
*/
public function loadVertragstyp($vertragstyp_kurzbz)
{
$qry="SELECT * FROM lehre.tbl_vertragstyp
$qry="SELECT * FROM lehre.tbl_vertragstyp
WHERE
vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz);
@@ -297,14 +297,14 @@ class vertrag extends basis_db
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Laedt die Vertragselemente die noch keinem Vertrag zugeordnet sind
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
*/
public function loadNichtZugeordnet($person_id)
{
/*
@@ -315,24 +315,24 @@ class vertrag extends basis_db
Pruefungen
*/
$qry = "
SELECT
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
@@ -341,11 +341,11 @@ class vertrag extends basis_db
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
@@ -356,22 +356,23 @@ class vertrag extends basis_db
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND vertrag_id IS NULL
AND vertrag_id IS NULL";
/*
UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
@@ -380,7 +381,7 @@ class vertrag extends basis_db
WHERE
mitarbeiter_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).")
AND vertrag_id IS NULL
";
";*/
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -405,14 +406,72 @@ class vertrag extends basis_db
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Laedt alle Personen die noch Lehraufträge haben die keinem
* Vertrag zugeordnet sind
* @param $studiensemester_kurzbz
* @return boolean true wenn ok, false im Fehlerfall
*/
public function loadPersonenNichtZugeordnet($studiensemester_kurzbz)
{
$db = new basis_db();
// Alle Personen holen die Lehraufträge haben die noch keinen Verträge zugeordnet sind
$qry = "SELECT
distinct tbl_person.person_id, tbl_benutzer.uid, tbl_person.vorname, tbl_person.nachname,
tbl_person.svnr, tbl_person.titelpre, tbl_person.titelpost
FROM
public.tbl_mitarbeiter
JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
JOIN public.tbl_person USING(person_id)
WHERE
tbl_mitarbeiter.fixangestellt = false
AND EXISTS(SELECT 1 FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid
AND tbl_lehreinheitmitarbeiter.vertrag_id IS NULL
AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
)
OR
EXISTS (SELECT 1 FROM lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
AND tbl_projektbetreuer.person_id=tbl_person.person_id
AND tbl_projektbetreuer.vertrag_id IS NULL
)
";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$obj = new stdClass();
$obj->person_id = $row->person_id;
$obj->vorname = $row->vorname;
$obj->nachname = $row->nachname;
$obj->uid = $row->uid;
$obj->titelpre = $row->titelpre;
$obj->titelpost = $row->titelpost;
$obj->svnr = $row->svnr;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Vertragselemente die einem Vertrag zugeordnet sind
* @param $vertrag_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
*/
public function loadZugeordnet($vertrag_id)
{
/*
@@ -423,24 +482,24 @@ class vertrag extends basis_db
Pruefungen
*/
$qry = "
SELECT
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
@@ -448,11 +507,11 @@ class vertrag extends basis_db
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
@@ -462,22 +521,22 @@ class vertrag extends basis_db
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";";
/* UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
@@ -485,7 +544,7 @@ class vertrag extends basis_db
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER);
*/
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -523,7 +582,7 @@ class vertrag extends basis_db
if($new)
{
$qry = "BEGIN;INSERT INTO lehre.tbl_vertrag(bezeichnung, person_id, vertragstyp_kurzbz, betrag, insertamum, insertvon,
$qry = "BEGIN;INSERT INTO lehre.tbl_vertrag(bezeichnung, person_id, vertragstyp_kurzbz, betrag, insertamum, insertvon,
updateamum, updatevon, anmerkung, vertragsdatum) VALUES(".
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->person_id,FHC_INTEGER).','.
@@ -566,14 +625,14 @@ class vertrag extends basis_db
$this->db_query('COMMIT');
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
@@ -600,7 +659,7 @@ class vertrag extends basis_db
{
$qry="SELECT
*
FROM
FROM
lehre.tbl_vertrag_vertragsstatus
JOIN lehre.tbl_vertragsstatus USING(vertragsstatus_kurzbz)
WHERE
@@ -632,7 +691,7 @@ class vertrag extends basis_db
return false;
}
}
/**
* Laedt alle Stati eines Vertrags
*
@@ -643,17 +702,17 @@ class vertrag extends basis_db
{
$qry="SELECT
*
FROM
FROM
lehre.tbl_vertrag_vertragsstatus
JOIN lehre.tbl_vertragsstatus USING(vertragsstatus_kurzbz)
WHERE
tbl_vertrag_vertragsstatus.vertrag_id=".$this->db_add_param($vertrag_id);
if(!is_null($status))
{
$qry .= " AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz=".$this->db_add_param($status);
}
$qry .= " ORDER BY datum DESC;";
if($result = $this->db_query($qry))
@@ -689,7 +748,7 @@ class vertrag extends basis_db
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertvon, updatevon, updateamum) VALUES(".
@@ -710,8 +769,8 @@ class vertrag extends basis_db
. " WHERE vertrag_id=".$this->db_add_param($this->vertrag_id)
. " AND vertragsstatus_kurzbz=".$this->db_add_param($this->vertragsstatus_kurzbz).";";
}
if($this->db_query($qry))
{
@@ -800,10 +859,10 @@ class vertrag extends basis_db
{
// prüfen ob Vertrag bereits verwendet wird
$qry = "DELETE FROM lehre.tbl_vertrag_vertragsstatus
WHERE
WHERE
vertragsstatus_kurzbz=".$this->db_add_param($vertragsstatus_kurzbz)."
AND vertrag_id=".$this->db_add_param($vertrag_id);
if($this->db_query($qry))
{
return true;
+330 -5
View File
@@ -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,321 @@ 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;
}
}
/**
* Liefert alle OEs, welche die $vorlage_kurzbz verwenden
* @param $vorlage_kurzbz Kurzbezeichnung der Vorlage
*/
public function getOEsFromVorlage($vorlage_kurzbz=null)
{
$qry ="SELECT DISTINCT
tbl_organisationseinheit.*
FROM
public.tbl_vorlagestudiengang
JOIN
public.tbl_organisationseinheit USING (oe_kurzbz)
WHERE
vorlage_kurzbz=".$this->db_add_param($vorlage_kurzbz)."
ORDER BY oe_kurzbz";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new vorlage();
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_parent_kurzbz = $row->oe_parent_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->organisationseinheittyp_kurzbz = $row->organisationseinheittyp_kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->mailverteiler = $this->db_parse_bool($row->mailverteiler);
$obj->lehre = $this->db_parse_bool($row->lehre);
$this->result[]= $obj;
}
}
else
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
*
@@ -116,6 +437,10 @@ class vorlage extends basis_db
$this->text = $row->text;
$this->mimetype = $row->mimetype;
$this->bezeichnung = $row->bezeichnung;
$this->style = $row->style;
$this->berechtigung = $row->berechtigung;
$this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang;
return true;
}
else
File diff suppressed because it is too large Load Diff
+127 -129
View File
@@ -29,9 +29,9 @@ require_once(dirname(__FILE__).'/geschaeftsjahr.class.php');
class wawi_kostenstelle extends basis_db
{
public $new; // boolean
public $result = array();
public $user;
public $result = array();
public $user;
public $kostenstelle_id; // integer, PK
public $oe_kurzbz; // string, FK
public $bezeichnung; // string
@@ -45,7 +45,7 @@ class wawi_kostenstelle extends basis_db
public $kostenstelle_nr; // string
public $deaktiviertamum; // timestamp
public $deaktiviertvon; // string
/**
* Konstruktor
@@ -54,13 +54,13 @@ class wawi_kostenstelle extends basis_db
public function __construct($kostenstelle_id = null)
{
parent::__construct();
if(!is_null($kostenstelle_id))
$this->load($kostenstelle_id);
}
/**
*
*
* Lädt die Kostenstelle mit der übergebenen ID
* @param $kostenstelle_id der Kostenstelle die geladen werden soll
* @return true wenn ok, false wenn fehler aufgetreten sind oder kein Eintrag mit der ID gefunden wurde
@@ -71,11 +71,11 @@ class wawi_kostenstelle extends basis_db
if(!is_numeric($kostenstelle_id) || ($kostenstelle_id ==''))
{
$this->errormsg = 'Kostenstellen ID ist keine Zahl';
return false;
return false;
}
$qry = 'SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id='.$this->db_add_param($kostenstelle_id, FHC_INTEGER).';';
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
@@ -85,7 +85,7 @@ class wawi_kostenstelle extends basis_db
if($row = $this->db_fetch_object())
{
$this->kostenstelle_id = $row->kostenstelle_id;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->kurzbz = $row->kurzbz;
$this->aktiv = $this->db_parse_bool($row->aktiv);
@@ -96,7 +96,7 @@ class wawi_kostenstelle extends basis_db
$this->ext_id = $row->ext_id;
$this->kostenstelle_nr = $row->kostenstelle_nr;
$this->deaktiviertamum = $row->deaktiviertamum;
$this->deaktiviertvon = $row->deaktiviertvon;
$this->deaktiviertvon = $row->deaktiviertvon;
}
else
{
@@ -105,37 +105,37 @@ class wawi_kostenstelle extends basis_db
}
return true;
}
}
/**
*
*
* Gibt alle Kostenstellen zurück
*/
public function getAll($filter ='')
{
$qry = 'SELECT * FROM wawi.tbl_kostenstelle';
if($filter != '')
{
$qry.=" WHERE lower(oe_kurzbz) LIKE lower('%".$this->db_escape($filter)."%') OR
$qry.=" WHERE lower(oe_kurzbz) LIKE lower('%".$this->db_escape($filter)."%') OR
lower(bezeichnung) LIKE lower('%".$this->db_escape($filter)."%') OR
lower(kurzbz) LIKE lower('%".$this->db_escape($filter)."%')";
}
$qry.=' ORDER BY bezeichnung;';
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei der Datenbankabfrage.';
return false;
return false;
}
while($row = $this->db_fetch_object())
{
$obj = new wawi_kostenstelle();
$obj = new wawi_kostenstelle();
$obj->kostenstelle_id = $row->kostenstelle_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
@@ -146,15 +146,15 @@ class wawi_kostenstelle extends basis_db
$obj->ext_id = $row->ext_id;
$obj->kostenstelle_nr = $row->kostenstelle_nr;
$obj->deaktiviertamum = $row->deaktiviertamum;
$obj->deaktiviertvon = $row->deaktiviertvon;
$this->result[] = $obj;
$obj->deaktiviertvon = $row->deaktiviertvon;
$this->result[] = $obj;
}
return true;
return true;
}
/**
*
*
* Löscht die Kostenstelle mit der übergebenen ID
* @param $kostenstelle_id, id des Datensatzes der gelöscht wird
* @return true wenn OK, false wenn ein Fehler aufgetreten ist
@@ -175,14 +175,14 @@ class wawi_kostenstelle extends basis_db
if($row = $this->db_fetch_object())
{
$this->errormsg = "Kostenstelle kann nicht gelöscht werden. Diese Kostenstelle verweist noch auf eine Bestelltung.";
return false;
return false;
}
$qry = "DELETE FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; ";
$qry .= "DELETE FROM wawi.tbl_aufteilung_default WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; ";
$qry .= "DELETE FROM system.tbl_benutzerrolle WHERE kostenstelle_id =".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false)."; ";
$qry .= "DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER, false).";";
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen des Datensatzes';
@@ -190,7 +190,7 @@ class wawi_kostenstelle extends basis_db
}
return true;
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
@@ -201,29 +201,29 @@ class wawi_kostenstelle extends basis_db
{
$this->errormsg = 'Kostenstellennummer darf nicht laenger als 4 Zeichen sein.';
}
if(mb_strlen($this->bezeichnung)>256)
{
$this->errormsg = 'Bezeichnung darf nicht laenger als 256 Zeichen sein.';
return false;
}
if(mb_strlen($this->kurzbz)>32)
{
$this->errormsg = 'Kurzbezeichnung darf nicht laenger als 32 Zeichen sein.';
return false;
}
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $kostenstelle_id aktualisiert
* @param $new wenn true wird ein Insert durchgefuehrt, wenn false ein Update
* @param $new wenn true wird ein Insert durchgefuehrt, wenn false ein Update
* und wenn null wird das new-Objekt der Klasse verwendet
* @return true wenn ok, false im Fehlerfall
*/
@@ -231,7 +231,7 @@ class wawi_kostenstelle extends basis_db
{
if(is_null($new))
$new = $this->new;
//Variablen pruefen
if(!$this->validate())
return false;
@@ -241,18 +241,17 @@ class wawi_kostenstelle extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO wawi.tbl_kostenstelle (oe_kurzbz, bezeichnung, kurzbz, aktiv, updateamum, updatevon,
insertamum, insertvon, ext_id, kostenstelle_nr, deaktiviertamum, deaktiviertvon ) VALUES('.
insertamum, insertvon, kostenstelle_nr, deaktiviertamum, deaktiviertvon ) VALUES('.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->kurzbz).', '.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->kostenstelle_nr).', '.
$this->db_add_param($this->deaktiviertamum).', '.
$this->db_add_param($this->deaktiviertamum).', '.
$this->db_add_param($this->deaktiviertvon).');';
}
@@ -269,17 +268,16 @@ class wawi_kostenstelle extends basis_db
' bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
' kurzbz='.$this->db_add_param($this->kurzbz).', '.
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
' updateamum='.$this->db_add_param($this->updateamum).', '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' updateamum='.$this->db_add_param($this->updateamum).', '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' insertamum='.$this->db_add_param($this->insertamum).', '.
' insertvon='.$this->db_add_param($this->insertvon).', '.
' ext_id='.$this->db_add_param($this->ext_id).', '.
' kostenstelle_nr='.$this->db_add_param($this->kostenstelle_nr).', '.
' kostenstelle_nr='.$this->db_add_param($this->kostenstelle_nr).', '.
' deaktiviertamum='.$this->db_add_param($this->deaktiviertamum).', '.
' deaktiviertvon='.$this->db_add_param($this->deaktiviertvon).' '.
' WHERE kostenstelle_id='.$this->db_add_param($this->kostenstelle_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
@@ -290,7 +288,7 @@ class wawi_kostenstelle extends basis_db
{
if($row = $this->db_fetch_object())
{
$this->kostenstelle_id = $row->id;
$this->kostenstelle_id = $row->id;
$this->db_query('COMMIT');
}
else
@@ -314,20 +312,20 @@ class wawi_kostenstelle extends basis_db
return false;
}
return $this->kostenstelle_id;
}
/**
*
* Loescht kostenstelle mit der id1 und legt dessen Schlüssel in anderen
*
* Loescht kostenstelle mit der id1 und legt dessen Schlüssel in anderen
* Tabellen auf die kostenstelle mit der id2 um
* @param $id1 kostenstelle_id des radiobuttons
* @param $id1 kostenstelle_id des radiobuttons
* @param $id2 kostenstelle_id des radiobuttons
* @return true wenn ok, false im Fehlerfall
*/
public function zusammenlegen($id1, $id2)
{
$sql_query_upd1="BEGIN;";
$sql_query_upd1.="UPDATE wawi.tbl_aufteilung_default SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; ";
$sql_query_upd1.="UPDATE wawi.tbl_konto_kostenstelle SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)." AND konto_id NOT IN(SELECT konto_id FROM wawi.tbl_konto_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)."); ";
@@ -335,9 +333,9 @@ class wawi_kostenstelle extends basis_db
$sql_query_upd1.="DELETE FROM wawi.tbl_budget WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER).";";
$sql_query_upd1.="UPDATE wawi.tbl_bestellung SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; ";
$sql_query_upd1.="UPDATE system.tbl_benutzerrolle SET kostenstelle_id=".$this->db_add_param($id2, FHC_INTEGER)." WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER)."; ";
$sql_query_upd1.="DELETE FROM wawi.tbl_kostenstelle WHERE kostenstelle_id=".$this->db_add_param($id1, FHC_INTEGER).";";
if($this->db_query($sql_query_upd1))
{
$this->db_query("COMMIT;");
@@ -349,10 +347,10 @@ class wawi_kostenstelle extends basis_db
$this->errormsg = "Fehler beim Update aufgetreten";
return false;
}
}
}
/**
*
*
* Es wird überprüft ob der Eintrag mit den 2 IDs schon in der Zwischentabelle vorhanden ist
* @param $konto_id
* @param $kostenselle_id
@@ -365,30 +363,30 @@ class wawi_kostenstelle extends basis_db
$this->errormsg = "Ungültige Kostenstellen ID";
return false;
}
if(!is_numeric($konto_id) || $konto_id =='')
{
$this->errormsg = "Ungültige ID";
return false;
}
$qry = "SELECT * FROM wawi.tbl_konto_kostenstelle WHERE konto_id = ".$this->db_add_param($konto_id, FHC_INTEGER)." AND kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
return true;
else
return false;
}
else
return false;
}
else
{
$this->errormsg = 'Fehler bei Abfrage der Zwischentabelle.';
}
}
}
/**
*
*
* Es wird ein neuer Eintrag in der Zwischentabelle erstellt
* @param $kostenstelle_id
* @param $konto_id
@@ -401,31 +399,31 @@ class wawi_kostenstelle extends basis_db
$this->errormsg = "Ungültige Kostenstellen ID";
return false;
}
if(!is_numeric($konto_id) || $konto_id =='')
{
$this->errormsg = "Ungültige Konto ID";
return false;
}
$qry = "INSERT INTO wawi.tbl_konto_kostenstelle (konto_id, kostenstelle_id) VALUES (".
$this->db_add_param($konto_id, FHC_INTEGER).",".
$this->db_add_param($kostenstelle_id, FHC_INTEGER).");";
if($this->db_query($qry))
{
return true;
}
}
else
{
$this->errormsg = 'Fehler bei Insert in die Zwischentabelle';
$this->errormsg = 'Fehler bei Insert in die Zwischentabelle';
return false;
}
}
}
/**
*
* Gibt alle Konten zurück die einer Kostenstelle zugeordnet sind
*
* Gibt alle Konten zurück die einer Kostenstelle zugeordnet sind
* @param $kostenstelle_id, id der Kostenstelle deren Konten zurückgeben werden sollen
* @return $konto Array aller Konten
*/
@@ -436,29 +434,29 @@ class wawi_kostenstelle extends basis_db
$this->errormsg = "Ungültige Kostenstellen ID";
return false;
}
$konto = array();
$qry = "SELECT konto_id FROM wawi.tbl_konto_kostenstelle
WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";";
$konto = array();
$qry = "SELECT konto_id FROM wawi.tbl_konto_kostenstelle
WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
while($row = $this->db_fetch_object())
{
$konto[] = $row->konto_id;
}
}
return $konto;
}
}
}
/**
*
*
* Löscht alle zugewiesenen Konten einer Kostenstelle, ausser die die übergeben wurden
* @param $kostenstelle_id, id der Kostenstelle deren zugewiesenen Konten gelöscht werden sollen
* @param Array $active, deren Konten die nicht gelöscht werden
* @return true bei erfolg, false bei Fehlerfall
* @return true bei erfolg, false bei Fehlerfall
*/
public function delete_konto_kostenstelle($kostenstelle_id, $active)
{
@@ -466,15 +464,15 @@ class wawi_kostenstelle extends basis_db
{
$this->errormsg = "Ungültige Kostenstellen ID";
return false;
}
}
$var = $this->implode4SQL($active);
$qry = "DELETE FROM wawi.tbl_konto_kostenstelle
WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id)."
$qry = "DELETE FROM wawi.tbl_konto_kostenstelle
WHERE kostenstelle_id = ".$this->db_add_param($kostenstelle_id)."
AND konto_ID NOT IN (".$var.") ;";
if($this->db_query($qry))
{
return true;
return true;
}
else
{
@@ -482,7 +480,7 @@ class wawi_kostenstelle extends basis_db
return false;
}
}
/**
* Liefert das Budget einer Kostenstelle in einem Geschaeftsjahr
*
@@ -496,11 +494,11 @@ class wawi_kostenstelle extends basis_db
$gj = new geschaeftsjahr();
$geschaeftsjahr_kurzbz = $gj->getAkt();
}
$qry = "SELECT budget FROM wawi.tbl_budget
WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
$qry = "SELECT budget FROM wawi.tbl_budget
WHERE kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
AND geschaeftsjahr_kurzbz=".$this->db_add_param($geschaeftsjahr_kurzbz).";";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -519,11 +517,11 @@ class wawi_kostenstelle extends basis_db
return false;
}
}
/**
* Speichert das Budget einer Kostenstelle
*
*
* @param $kostenstelle_id
* @param $geschaeftsjahr_kurzbz
* @param $budget
@@ -542,22 +540,22 @@ class wawi_kostenstelle extends basis_db
}
if($budget=='')
$budget='0';
if(!is_numeric($budget))
{
$this->errormsg = 'Budget ist ungueltig';
return false;
}
$qry = '';
if($old_budget = $this->getBudget($kostenstelle_id, $geschaeftsjahr_kurzbz))
{
if($old_budget!=$budget)
{
$qry = "UPDATE
wawi.tbl_budget SET budget=".$this->db_add_param($budget)."
WHERE
kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
$qry = "UPDATE
wawi.tbl_budget SET budget=".$this->db_add_param($budget)."
WHERE
kostenstelle_id=".$this->db_add_param($kostenstelle_id, FHC_INTEGER)."
AND geschaeftsjahr_kurzbz=".$this->db_add_param($geschaeftsjahr_kurzbz).";";
}
}
@@ -568,7 +566,7 @@ class wawi_kostenstelle extends basis_db
$this->db_add_param($geschaeftsjahr_kurzbz).",".
$this->db_add_param($budget).");";
}
if($qry!='')
{
if($this->db_query($qry))
@@ -584,7 +582,7 @@ class wawi_kostenstelle extends basis_db
else
return true;
}
/**
* Laedt die Kostenstellen die als Array uebergeben werden
* @param $kst_id Array mit den kst_ids
@@ -596,9 +594,9 @@ class wawi_kostenstelle extends basis_db
{
if(count($kst_id)==0)
return true;
$kst_id = $this->implode4SQL($kst_id);
$qry = 'SELECT * FROM wawi.tbl_kostenstelle WHERE kostenstelle_id in('.$kst_id.')';
if ($aktiv)
$qry.=' AND aktiv=true';
@@ -610,26 +608,26 @@ class wawi_kostenstelle extends basis_db
{
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
}
while($row = $this->db_fetch_object($result))
{
$obj = new wawi_kostenstelle();
$obj->kostenstelle_id = $row->kostenstelle_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kostenstelle_id = $row->kostenstelle_id;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->kostenstelle_nr = $row->kostenstelle_nr;
$obj->deaktiviertvon = $row->deaktiviertvon;
$obj->deaktiviertvon = $row->deaktiviertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->kostenstelle_nr = $row->kostenstelle_nr;
$obj->deaktiviertvon = $row->deaktiviertvon;
$obj->deaktiviertvon = $row->deaktiviertvon;
$this->result[] = $obj;
}
+32 -34
View File
@@ -48,7 +48,7 @@ class zeitaufzeichnung extends basis_db
public $ext_id; // bigint
public $service_id; // integer
public $kunde_uid; // varchar(32)
/**
* Konstruktor
* @param $zeitaufzeichnung_id ID der Zeitaufzeichnung die geladen werden soll (Default=null)
@@ -137,8 +137,8 @@ class zeitaufzeichnung extends basis_db
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO campus.tbl_zeitaufzeichnung (uid, aktivitaet_kurzbz, start, ende, beschreibung,
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, ext_id, service_id, kunde_uid) VALUES('.
$qry='BEGIN;INSERT INTO campus.tbl_zeitaufzeichnung (uid, aktivitaet_kurzbz, start, ende, beschreibung,
oe_kurzbz_1, oe_kurzbz_2, insertamum, insertvon, updateamum, updatevon, projekt_kurzbz, service_id, kunde_uid) VALUES('.
$this->db_add_param($this->uid).', '.
$this->db_add_param($this->aktivitaet_kurzbz).', '.
$this->db_add_param($this->start).', '.
@@ -151,7 +151,6 @@ class zeitaufzeichnung extends basis_db
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->service_id).', '.
$this->db_add_param($this->kunde_uid).');';
}
@@ -165,7 +164,7 @@ class zeitaufzeichnung extends basis_db
$this->errormsg = 'zeitaufzeichnung_id muss eine gueltige Zahl sein';
return false;
}
$qry='UPDATE campus.tbl_zeitaufzeichnung SET'.
' uid='.$this->db_add_param($this->uid).', '.
' aktivitaet_kurzbz='.$this->db_add_param($this->aktivitaet_kurzbz).', '.
@@ -177,12 +176,11 @@ class zeitaufzeichnung extends basis_db
' updateamum='.$this->db_add_param($this->updateamum).', '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
' ext_id='.$this->db_add_param($this->ext_id).', '.
' service_id='.$this->db_add_param($this->service_id).', '.
' kunde_uid='.$this->db_add_param($this->kunde_uid).' '.
'WHERE zeitaufzeichnung_id='.$this->db_add_param($this->zeitaufzeichnung_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($this->new)
@@ -247,29 +245,29 @@ class zeitaufzeichnung extends basis_db
return false;
}
}
/**
* Laedt die Datensaetze eines Projektes
* @param $projekt_kurzbz
*/
public function getListeProjekt($projekt_kurzbz)
{
{
$where = 'projekt_kurzbz='.$this->db_add_param($projekt_kurzbz);
$qry = "SELECT
*, to_char ((ende-start),'HH24:MI') as diff,
$qry = "SELECT
*, to_char ((ende-start),'HH24:MI') as diff,
(SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI')
FROM campus.tbl_zeitaufzeichnung
WHERE $where ) as summe
FROM campus.tbl_zeitaufzeichnung
WHERE $where ) as summe
FROM campus.tbl_zeitaufzeichnung WHERE $where
ORDER BY start DESC";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new zeitaufzeichnung();
$obj->zeitaufzeichnung_id = $row->zeitaufzeichnung_id;
$obj->uid = $row->uid;
$obj->aktivitaet_kurzbz = $row->aktivitaet_kurzbz;
@@ -288,7 +286,7 @@ class zeitaufzeichnung extends basis_db
$obj->kunde_uid = $row->kunde_uid;
$obj->summe = $row->summe;
$obj->diff = $row->diff;
$this->result[] = $obj;
}
return true;
@@ -299,23 +297,23 @@ class zeitaufzeichnung extends basis_db
return false;
}
}
/**
* Laedt die Zeitaufzeichnungen eines Users. Default: Die letzten 40 Tage
* @param string $user
* @param integer $days deafult: 40 Tage
*/
public function getListeUser($user, $days='40')
{
{
$where = "uid=".$this->db_add_param($user);
if ($days!='')
$where.= " AND ende>(now() - INTERVAL '".$days." days')";
$qry = "SELECT
*, to_char ((ende-start),'HH24:MI') as diff,
$qry = "SELECT
*, to_char ((ende-start),'HH24:MI') as diff,
(SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI')
FROM campus.tbl_zeitaufzeichnung
WHERE $where ) as summe
FROM campus.tbl_zeitaufzeichnung
WHERE $where ) as summe
FROM campus.tbl_zeitaufzeichnung WHERE $where
ORDER BY start DESC";
@@ -324,7 +322,7 @@ class zeitaufzeichnung extends basis_db
while($row = $this->db_fetch_object($result))
{
$obj = new zeitaufzeichnung();
$obj->zeitaufzeichnung_id = $row->zeitaufzeichnung_id;
$obj->uid = $row->uid;
$obj->aktivitaet_kurzbz = $row->aktivitaet_kurzbz;
@@ -344,7 +342,7 @@ class zeitaufzeichnung extends basis_db
$obj->summe = $row->summe;
$obj->diff = $row->diff;
$obj->datum = $row->start;
$this->result[] = $obj;
}
return true;
@@ -357,13 +355,13 @@ class zeitaufzeichnung extends basis_db
}
/**
* Laedt die Zeitaufzeichnungen eines Users aufgefüllt mit lehren Tagen.
* Laedt die Zeitaufzeichnungen eines Users aufgefüllt mit lehren Tagen.
* Default: Die letzten 40 Tage
* @param string $user
* @param integer $days deafult: 40 Tage
*/
public function getListeUserFull($user, $days='40')
{
{
$where = "uid=".$this->db_add_param($user);
if ($days!='')
$where.= " AND ende>(now() - INTERVAL '".$days." days')";
@@ -372,13 +370,13 @@ class zeitaufzeichnung extends basis_db
$where_join.= " AND z.ende>(now() - INTERVAL '".$days." days')";
if ($days=='')
$max_anz = 180;
else
else
$max_anz = $days;
$qry = "SELECT
d.dates, z.*, to_char ((z.ende-z.start),'HH24:MI') as diff,
$qry = "SELECT
d.dates, z.*, to_char ((z.ende-z.start),'HH24:MI') as diff,
(SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI')
FROM campus.tbl_zeitaufzeichnung
WHERE $where) as summe
FROM campus.tbl_zeitaufzeichnung
WHERE $where) as summe
FROM campus.tbl_zeitaufzeichnung z
right join (select current_date - s.a as dates from generate_series(0,$max_anz,1) as s(a)) d on date(z.ende) = d.dates $where_join order by d.dates desc, z.start desc
";
@@ -388,7 +386,7 @@ class zeitaufzeichnung extends basis_db
while($row = $this->db_fetch_object($result))
{
$obj = new zeitaufzeichnung();
$obj->zeitaufzeichnung_id = $row->zeitaufzeichnung_id;
$obj->uid = $row->uid;
$obj->aktivitaet_kurzbz = $row->aktivitaet_kurzbz;
@@ -408,7 +406,7 @@ class zeitaufzeichnung extends basis_db
$obj->summe = $row->summe;
$obj->diff = $row->diff;
$obj->datum = $row->dates;
$this->result[] = $obj;
}
return true;
+33 -35
View File
@@ -53,7 +53,7 @@ class zeugnisnote extends basis_db
/**
* Konstruktor
* Laedt optional eine Zeugnisnote
*
*
* @param $lehrveranstaltung_id
* @param $student_uid
* @param $studiensemester_kurzbz
@@ -68,7 +68,7 @@ class zeugnisnote extends basis_db
/**
* Laedt eine Zeugnisnote
*
*
* @param $lehrveranstaltung_id
* @param $student_uid
* @param $studiensemester_kurzbz
@@ -82,13 +82,13 @@ class zeugnisnote extends basis_db
return false;
}
$qry = "SELECT
*
FROM
lehre.tbl_zeugnisnote
$qry = "SELECT
*
FROM
lehre.tbl_zeugnisnote
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND student_uid=".$this->db_add_param($student_uid)."
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND student_uid=".$this->db_add_param($student_uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
@@ -179,9 +179,9 @@ class zeugnisnote extends basis_db
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
$qry='INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
studiensemester_kurzbz, note, uebernahmedatum, benotungsdatum, bemerkung,
updateamum, updatevon, insertamum, insertvon, ext_id, punkte) VALUES('.
updateamum, updatevon, insertamum, insertvon, punkte) VALUES('.
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
@@ -193,7 +193,6 @@ class zeugnisnote extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id).','.
$this->db_add_param($this->punkte).');';
}
else
@@ -211,7 +210,7 @@ class zeugnisnote extends basis_db
'AND studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).';';
}
if($this->db_query($qry))
if($this->db_query($qry))
{
return true;
}
@@ -303,7 +302,7 @@ class zeugnisnote extends basis_db
JOIN lehre.tbl_note USING(note)
WHERE true $where2
ORDER BY sort";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -343,7 +342,7 @@ class zeugnisnote extends basis_db
return false;
}
}
/**
* Laedt die Noten Studienjahr
* @param $lehrveranstaltung_id
@@ -353,17 +352,17 @@ class zeugnisnote extends basis_db
*/
public function getZeugnisnotenStudienplan($student_uid, $studiensemester_arr, $studienplan_id)
{
$stsem = $this->db_implode4SQL($studiensemester_arr);
/*
* Alle Lehrveranstaltungen holen zu denen eine Note eingetragen ist und alle zu denen der Studierende zugeteilt ist.
* Danach wird im Studienplan gesucht und eventuell darbueberliegenden Module zusaetzlich geladen
*/
$qry = "
WITH RECURSIVE data(lvid, studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as
WITH RECURSIVE data(lvid, studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as
(
SELECT
SELECT
vw_student_lehrveranstaltung.lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent
@@ -374,10 +373,10 @@ class zeugnisnote extends basis_db
AND vw_student_lehrveranstaltung.studiensemester_kurzbz=tbl_zeugnisnote.studiensemester_kurzbz
AND vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id
)
)
)
LEFT JOIN lehre.tbl_note USING(note)
LEFT JOIN lehre.tbl_studienplan_lehrveranstaltung ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id)
WHERE
WHERE
uid=".$this->db_add_param($student_uid)."
AND vw_student_lehrveranstaltung.studiensemester_kurzbz IN(".$stsem.")
AND tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER)."
@@ -390,17 +389,17 @@ class zeugnisnote extends basis_db
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
JOIN lehre.tbl_note USING(note)
LEFT JOIN lehre.tbl_studienplan_lehrveranstaltung USING(lehrveranstaltung_id)
WHERE
WHERE
student_uid=".$this->db_add_param($student_uid)."
AND studiensemester_kurzbz IN(".$stsem.")
AND studiensemester_kurzbz IN(".$stsem.")
AND tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER)."
UNION ALL
UNION ALL
SELECT stpllv.lehrveranstaltung_id, stpllv.studienplan_lehrveranstaltung_id, stpllv.studienplan_lehrveranstaltung_id_parent
FROM lehre.tbl_studienplan_lehrveranstaltung stpllv, data
WHERE stpllv.studienplan_lehrveranstaltung_id=data.studienplan_lehrveranstaltung_id_parent
)
SELECT
SELECT
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent, tbl_studienplan_lehrveranstaltung.semester,
tbl_lehrveranstaltung.lehrveranstaltung_id,tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.bezeichnung_english as lehrveranstaltung_bezeichnung_english,
@@ -409,23 +408,23 @@ class zeugnisnote extends basis_db
tbl_zeugnisnote.studiensemester_kurzbz, tbl_zeugnisnote.uebernahmedatum, tbl_zeugnisnote.benotungsdatum,
tbl_zeugnisnote.note, tbl_zeugnisnote.updateamum, tbl_zeugnisnote.updatevon, tbl_zeugnisnote.insertamum, tbl_zeugnisnote.insertvon,
tbl_note.bezeichnung as note_bezeichnung, tbl_zeugnisnote.bemerkung, tbl_lehrveranstaltung.lvnr, tbl_studienplan_lehrveranstaltung.sort as studienplan_lehrveranstaltung_sort
FROM
lehre.tbl_lehrveranstaltung
FROM
lehre.tbl_lehrveranstaltung
LEFT JOIN lehre.tbl_zeugnisnote ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=".$this->db_add_param($student_uid)." AND tbl_zeugnisnote.studiensemester_kurzbz IN(".$stsem."))
LEFT JOIN lehre.tbl_studienplan_lehrveranstaltung ON(tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id AND tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id).")
LEFT JOIN lehre.tbl_note USING(note)
WHERE
WHERE
(tbl_zeugnisnote.studiensemester_kurzbz IN(".$stsem.") OR tbl_zeugnisnote.studiensemester_kurzbz is null)
AND tbl_lehrveranstaltung.lehrveranstaltung_id in(SELECT lvid FROM data)
ORDER BY studienplan_lehrveranstaltung_id_parent desc, studienplan_lehrveranstaltung_id
";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new zeugnisnote();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->student_uid = $student_uid;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -451,7 +450,7 @@ class zeugnisnote extends basis_db
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
$obj->studienplan_lehrveranstaltung_semester = $row->semester;
$obj->studienplan_lehrveranstaltung_sort = $row->studienplan_lehrveranstaltung_sort;
$this->result[] = $obj;
}
return true;
@@ -462,7 +461,7 @@ class zeugnisnote extends basis_db
return false;
}
}
/**
* Generiert den SQL-Befehl für eine UNDO-Aktion
* @param type $crud gewünschter Typ der UNDO-Aktion
@@ -471,9 +470,9 @@ class zeugnisnote extends basis_db
{
if(strtoupper($crud) === 'INSERT')
{
return 'INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
return 'INSERT INTO lehre.tbl_zeugnisnote (lehrveranstaltung_id, student_uid,
studiensemester_kurzbz, note, uebernahmedatum, benotungsdatum, bemerkung,
updateamum, updatevon, insertamum, insertvon, ext_id, punkte) VALUES('.
updateamum, updatevon, insertamum, insertvon, punkte) VALUES('.
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
@@ -485,7 +484,6 @@ class zeugnisnote extends basis_db
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->ext_id).','.
$this->db_add_param($this->punkte).');';
}
else if(strtoupper($crud) === 'UPDATE')
+12
View File
@@ -4,6 +4,8 @@ $this->phrasen['courseInformation/achtungFehlerBeimSpeichern']='Achtung: Fehler
$this->phrasen['courseInformation/fehlerLogFile']='Fehler beim Schreiben des Log Files';
$this->phrasen['courseInformation/freigabe']='Freigabe';
$this->phrasen['courseInformation/freigeben']='Freigeben';
$this->phrasen['courseInformation/deutschFreigeben']='Deutsche LV-Infos freigeben';
$this->phrasen['courseInformation/englischFreigeben']='Englische LV-Infos freigeben';
$this->phrasen['courseInformation/terminologie']='Terminologie';
$this->phrasen['courseInformation/lvInfoSemester']='LV-Information - %s - %s. Semester';
$this->phrasen['courseInformation/ectsCredits']='ECTS - Credits';
@@ -30,4 +32,14 @@ $this->phrasen['courseInformation/terminologieDeutschEnglisch']='Terminologie De
$this->phrasen['courseInformation/incomingplaetze']='Incomingplätze';
$this->phrasen['courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt']='Pflichtfelder werden auch auf der offiziellen Webseite angezeigt und sollten daher ausgefüllt werden';
$this->phrasen['courseInformation/fallsSieAufzaehlungslistenVerwenden']='Falls Sie Aufzählungslisten verwenden möchten, geben Sie diese bitte in der folgenden Form ein: <br/> <font style="color:blue">&lt;ul&gt;</font><br/><font style="color:green">&lt;li&gt;</font>Listeneintrag1<font style="color:green">&lt;/li&gt;</font><font style="color:green">&lt;li&gt;</font>Listeneintrag2<font style="color:green">&lt;/li&gt;</font><br/><font style="color:blue">&lt;/ul&gt;</font>';
$this->phrasen['courseInformation/zurFreigabeAbschicken']='Zur Freigabe Abschicken';
$this->phrasen['courseInformation/diesIstEineAutomatischeMail']='Dies ist eine automatische Benachrichtigung';
$this->phrasen['courseInformation/lvinfoWurdeUeberarbeitet']='%s hat die LV-Informationen der Lehrveranstaltung %s überarbeitet und Ihre Freigabe angefordert';
$this->phrasen['courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben']='Sie können diese unter folgendem Link freigeben';
$this->phrasen['courseInformation/freigabeLvinfo']='Freigabe LV-Info';
$this->phrasen['courseInformation/freigabemailWurdeVersandt']='Das Freigabemail wurde versandt an %s';
$this->phrasen['courseInformation/fehlerBeimSendenAufgetreten']='Fehler beim Senden des Freigabemails an %s';
$this->phrasen['courseInformation/konnteKeinFreigabemailVersendetWerden']='Die Nachricht zur Freigabe der LV-Info konnte nicht gesendet werden';
$this->phrasen['courseInformation/nochNichtFreigegeben']='LV-Info noch nicht freigegeben';
$this->phrasen['courseInformation/freigegeben']='LV-Info freigegeben';
?>
+2
View File
@@ -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';
?>
+2
View File
@@ -76,4 +76,6 @@ $this->phrasen['profil/fhausweisGedrucktAm']='FH-Ausweis gedruckt am';
$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='FH-Ausweis abholbereit am Empfang ab';
$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='FH-Ausweis wurde noch nicht gedruckt';
$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Ihr Foto wurde noch nicht geprüft';
$this->phrasen['profil/fotoAuswählen']='Klicken Sie auf das Bild um ein Foto hochzuladen';
$this->phrasen['profil/bildSpeichern']='Bild speichern';
?>
+12
View File
@@ -4,6 +4,8 @@ $this->phrasen['courseInformation/achtungFehlerBeimSpeichern']='Warning: Error s
$this->phrasen['courseInformation/fehlerLogFile']='Error writing the log files';
$this->phrasen['courseInformation/freigabe']='Release';
$this->phrasen['courseInformation/freigeben']='Release';
$this->phrasen['courseInformation/deutschFreigeben']='Release german LV-Information';
$this->phrasen['courseInformation/englischFreigeben']='Release english LV-Information';
$this->phrasen['courseInformation/terminologie']='Terminology';
$this->phrasen['courseInformation/lvInfoSemester']='LV-Information - %s - %s. Semester';
$this->phrasen['courseInformation/ectsCredits']='ECTS - Credits';
@@ -30,4 +32,14 @@ $this->phrasen['courseInformation/terminologieDeutschEnglisch']='Terminology Ger
$this->phrasen['courseInformation/incomingplaetze']='Places Available for Incoming Students';
$this->phrasen['courseInformation/pflichtfelderWerdenAufDerExternenSeiteAngezeigt']='Required fields are also displayed on the official website, and should therefore be completed';
$this->phrasen['courseInformation/fallsSieAufzaehlungslistenVerwenden']='If you want to use bulleted lists, please enter them in the following format: <br/> <font style="color:blue">&lt;ul&gt;</font><br/><font style="color:green">&lt;li&gt;</font>List Item 1<font style="color:green">&lt;/li&gt;</font><font style="color:green">&lt;li&gt;</font>List Item 2<font style="color:green">&lt;/li&gt;</font><br/><font style="color:blue">&lt;/ul&gt;</font>';
$this->phrasen['courseInformation/zurFreigabeAbschicken']='Send for release';
$this->phrasen['courseInformation/diesIstEineAutomatischeMail']='Dies ist eine automatische Benachrichtigung'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
$this->phrasen['courseInformation/lvinfoWurdeUeberarbeitet']='%s hat die LV-Informationen der Lehrveranstaltung %s überarbeitet und Ihre Freigabe angefordert'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
$this->phrasen['courseInformation/sieKoennenDieseUnterFolgenderAdresseFreigeben']='Sie können diese unter folgendem Link freigeben'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
$this->phrasen['courseInformation/freigabeLvinfo']='Freigabe LV-Info'; //Nur übersetzen, wenn die eMail in der eingestellten Sprache versandt werden soll
$this->phrasen['courseInformation/freigabemailWurdeVersandt']='Mail was sent to %s';
$this->phrasen['courseInformation/fehlerBeimSendenAufgetreten']='Error occured sending mail to %s';
$this->phrasen['courseInformation/konnteKeinFreigabemailVersendetWerden']='Mail for release could not be sent';
$this->phrasen['courseInformation/nochNichtFreigegeben']='LV-Information not released yet';
$this->phrasen['courseInformation/freigegeben']='LV-Information released';
?>
+2
View File
@@ -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';
?>
+2
View File
@@ -73,4 +73,6 @@ $this->phrasen['profil/fhausweisGedrucktAm']='UAS ID card printed on';
$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='UAS ID card will be ready for pick-up at the information desk on';
$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='UAS ID card has not yet been printed';
$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Your photo has not yet been approved';
$this->phrasen['profil/fotoAuswählen']='Click on the image below to upload a photo';
$this->phrasen['profil/bildSpeichern']='Save image';
?>
+30 -4
View File
@@ -33,8 +33,11 @@ isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $vo
isset($_GET['stundevon']) ? $stundevon = $_GET['stundevon'] : $stundevon = null;
isset($_GET['stundebis']) ? $stundebis = $_GET['stundebis'] : $stundebis = null;
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
isset($_GET['sem']) ? $semester = $_GET['sem'] : $semester = NULL;
isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
isset($_GET['fixangestellt']) ? $fixangestellt = $_GET['fixangestellt'] : $fixangestellt = NULL;
isset($_GET['standort']) ? $standort = $_GET['standort'] : $standort = NULL;
isset($_GET['lvid']) ? $lvid = $_GET['lvid'] : $lvid = NULL;
if($von)
$studiensemester = getStudiensemesterFromDatum($von);
@@ -47,12 +50,14 @@ $data = array();
*/
// Daten der Lehreinheiten ermitteln
$qry = "SELECT le.lehreinheit_id, le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnung AS lvbez, stg.bezeichnung AS stgbez, "
. "sp.ort_kurzbz, datum, beginn, ende "
. "sp.ort_kurzbz, datum, beginn, ende, sto.bezeichnung AS standort "
. "FROM lehre.tbl_lehreinheit le "
. "JOIN lehre.tbl_lehrveranstaltung lv ON lv.lehrveranstaltung_id = le.lehrveranstaltung_id "
. "JOIN public.tbl_studiengang stg ON stg.studiengang_kz = lv.studiengang_kz "
. "JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id) "
. "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
. "JOIN public.tbl_ort ort ON sp.ort_kurzbz = ort.ort_kurzbz "
. "JOIN public.tbl_standort sto ON ort.standort_id = sto.standort_id "
. "WHERE 1=1";
if($studiengang!='')
@@ -69,6 +74,10 @@ if(!is_null($stundevon))
$qry.=" AND stu.stunde>=".$db->db_add_param($stundevon);
if(!is_null($stundebis))
$qry.=" AND stu.stunde<=".$db->db_add_param($stundebis);
if($standort)
$qry.=" AND sto.standort_id=".$db->db_add_param($standort);
if($lvid)
$qry .= " AND lv.lehrveranstaltung_id = " . $db->db_add_param($lvid);
$qry .= " ORDER BY datum, beginn";
if($db->db_query($qry))
@@ -85,8 +94,10 @@ if($db->db_query($qry))
foreach($data as $key => $value)
{
// Daten der Vortragenden ermitteln
$qry = "SELECT vorname, nachname, titelpre, titelpost "
$qry = "SELECT vorname, nachname, titelpre, titelpost, "
. "CASE WHEN fixangestellt IS TRUE THEN 'ja' ELSE 'nein' END AS fixangestellt "
. "FROM lehre.tbl_lehreinheitmitarbeiter lema "
. "JOIN public.tbl_mitarbeiter ma ON lema.mitarbeiter_uid = ma.mitarbeiter_uid "
. "JOIN public.tbl_benutzer be ON be.uid = lema.mitarbeiter_uid "
. "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
. "WHERE lehreinheit_id = " . $db->db_add_param($key);
@@ -127,7 +138,20 @@ echo "<anwesenheitslisten>";
foreach($data as $lehreinheit_id => $value)
{
foreach($value['tage'] as $tag)
// Anstellung der Vortragenden prüfen
if($fixangestellt != '')
{
$anstellungVortragende = array();
foreach($value['vortragende'] as $vortragender)
{
$anstellungVortragende[] = $vortragender->fixangestellt;
}
if(!in_array($fixangestellt, $anstellungVortragende))
continue;
}
foreach($value['tage'] as $tag)
{
echo "<anwesenheitsliste>";
@@ -144,6 +168,7 @@ foreach($data as $lehreinheit_id => $value)
echo "\n <barcode><![CDATA[".ean13($convertableString)."]]></barcode>";
echo "\n <kuerzel><![CDATA[".$tag[0]->lvnr."]]></kuerzel>";
echo "\n <einheiten><![CDATA[".count($tag)."]]></einheiten>";
echo "\n <standort><![CDATA[".$tag[0]->standort."]]></standort>";
echo "\n <ort><![CDATA[".$tag[0]->ort_kurzbz."]]></ort>";
echo "\n <datum><![CDATA[".date('d.m.Y', strtotime($tag[0]->datum))."]]></datum>";
echo "\n <beginn><![CDATA[".mb_substr($tag[0]->beginn, 0, 5)."]]></beginn>";
@@ -159,6 +184,7 @@ foreach($data as $lehreinheit_id => $value)
echo "\n <nachname><![CDATA[".$vortragender->nachname."]]></nachname>";
echo "\n <titelpre><![CDATA[".$vortragender->titelpre."]]></titelpre>";
echo "\n <titelpost><![CDATA[".$vortragender->titelpost."]]></titelpost>";
echo "\n <fixangestellt><![CDATA[".$vortragender->fixangestellt."]]></fixangestellt>";
echo "\n </vortragender>";
}
echo "</vortragende>";
+1 -1
View File
@@ -175,7 +175,7 @@ else
switch(substr($studiensemester->studiensemester_kurzbz, 0,2))
{
case "WS":
echo "<zeitraum>von Semptember bis Februar</zeitraum>";
echo "<zeitraum>von September bis Februar</zeitraum>";
break;
case "SS":
+23 -2
View File
@@ -40,6 +40,8 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id']))
else
$lehreinheit_id = null;
$db = new basis_db();
//Gruppen holen
$DAO_obj = new lehreinheitgruppe();
$DAO_obj->getLehreinheitgruppe($lehreinheit_id);
@@ -69,7 +71,10 @@ foreach ($DAO_obj->lehreinheitgruppe as $row)
$gruppe = new gruppe();
$gruppe->load($row->gruppe_kurzbz);
$beschreibung = $gruppe->bezeichnung;
$qry_verplant = "SELECT 1 FROM lehre.tbl_stundenplandev
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
AND gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz);
}
else
{
@@ -77,7 +82,22 @@ foreach ($DAO_obj->lehreinheitgruppe as $row)
$gruppe = new lehrverband();
$gruppe->load($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe);
$beschreibung = $gruppe->bezeichnung;
$qry_verplant = "SELECT 1 FROM lehre.tbl_stundenplandev
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
AND studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
AND semester=".$db->db_add_param($row->semester)."
AND COALESCE(trim(verband),'')=".$db->db_add_param(trim($row->verband), FHC_STRING,false)."
AND COALESCE(trim(gruppe),'')=".$db->db_add_param(trim($row->gruppe), FHC_STRING, false)."
AND (gruppe_kurzbz is null OR gruppe_kurzbz='')";
}
if($result_verplant = $db->db_query($qry_verplant))
if($db->db_num_rows($result_verplant)>0)
$verplant = true;
else
$verplant = false;
?>
<RDF:li>
<RDF:Description id="<?php echo $row->lehreinheitgruppe_id; ?>" about="<?php echo $rdf_url.'/'.$row->lehreinheitgruppe_id; ?>" >
@@ -90,6 +110,7 @@ foreach ($DAO_obj->lehreinheitgruppe as $row)
<LEHREINHEITGRUPPE:verband><![CDATA[<?php echo $row->verband; ?>]]></LEHREINHEITGRUPPE:verband>
<LEHREINHEITGRUPPE:gruppe><![CDATA[<?php echo $row->gruppe; ?>]]></LEHREINHEITGRUPPE:gruppe>
<LEHREINHEITGRUPPE:gruppe_kurzbz><![CDATA[<?php echo $row->gruppe_kurzbz; ?>]]></LEHREINHEITGRUPPE:gruppe_kurzbz>
<LEHREINHEITGRUPPE:verplant><![CDATA[<?php echo ($verplant?'true':'false'); ?>]]></LEHREINHEITGRUPPE:verplant>
</RDF:Description>
</RDF:li>
<?php
@@ -97,4 +118,4 @@ foreach ($DAO_obj->lehreinheitgruppe as $row)
?>
</RDF:Seq>
</RDF:RDF>
</RDF:RDF>

Some files were not shown because too many files have changed in this diff Show More