# Bitte geben Sie eine Commit-Beschreibung ein, um zu erklären, warum dieser
# Merge erforderlich ist, insbesondere wenn es einen aktualisierten
# Upstream-Branch mit einem Thema-Branch zusammenführt.
#
# Zeilen beginnend mit '#' werden ignoriert, und eine leere Beschreibung
# bricht den Commit ab.
This commit is contained in:
Werner Masik
2016-11-30 13:02:43 +01:00
207 changed files with 24703 additions and 10671 deletions
+1
View File
@@ -27,6 +27,7 @@
### Updateinfo
- **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde.
- **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen.
- **[MOODLE]** Neue Webservicefunktion core_user_update_users wird benötigt
## [3.1.0] - 2015-11-12
### Added
+63 -5
View File
@@ -7,7 +7,20 @@ require_once('../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
?>
<script src="../include/js/jquery.min.1.11.1.js"></script>
<script>
$(document).ready(function()
{
$('#ampel_div').html('');
});
function hide_ampel_div()
{
document.getElementById("ampel_div").style.display="none";
}
</script>
<?php
if(is_user_logged_in())
{
$user = get_uid();
@@ -16,6 +29,7 @@ if(is_user_logged_in())
$ampel->loadUserAmpel($user);
$rot=0;
$gelb=0;
$verpflichtend = false;
$datum = new datum();
foreach($ampel->result as $row)
{
@@ -23,16 +37,19 @@ if(is_user_logged_in())
$vlz = "-".$row->vorlaufzeit." day";
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
$ts_now = $datum->mktime_fromdate(date('Y-m-d'));
if($ts_deadline < $ts_now)
{
$rot++;
if ($row->verpflichtend == 't')
$verpflichtend = true;
}
else
{
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
{
$gelb++;
if ($row->verpflichtend == 't')
$verpflichtend = true;
}
}
}
@@ -41,12 +58,53 @@ if(is_user_logged_in())
if($rot>0 || $gelb>0)
{
echo '';
if($rot>0 && $gelb==0)
// Wenn es eine verpflichtende Ampel gibt, das Pupup im CIS anzeigen
if ($verpflichtend == true)
{
echo ' <script>
$(document).ready(function()
{
var html_content = \'<iframe src="'.APP_ROOT.'cis/private/tools/ampelverwaltung.php" name="ampel" frameborder="0" width="95%" height="95%"></iframe><button id="close_button" onclick="hide_ampel_div()">Close</button>\';
$("#ampel_div").html(html_content);
});
</script>';
echo ' <style type="text/css">
#ampel_div
{
position:absolute;
top: 20%;
left: 15%;
width: 70%;
height: 60%;
z-index: 1003;
background-color: #fefefe;
margin: auto;
text-align: center;
padding-top: 20px;
border: 3px solid black;
-webkit-box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
-moz-box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
-webkit-animation-name: animatetop;
-webkit-animation-duration: 0.4s;
animation-name: animatetop;
animation-duration: 0.4s
}
#close_button
{
position: relative;
top: 5px;
font-size: 150%;
height: 50px;
width: 100%;
}
</style>';
}
if($rot>0)
echo '<a href="private/tools/ampelverwaltung.php" target="content" title="'.$p->t("tools/ampelsystem").'"><span style="color: red;">'.$p->t("tools/ampelsystem").'</span></a>&nbsp;&nbsp;<span style="color: #A5AFB6">|</span>&nbsp;&nbsp;';
if($gelb>0 && $rot==0)
elseif($gelb>0)
echo '<a href="private/tools/ampelverwaltung.php" target="content" title="'.$p->t("tools/ampelsystem").'"><span style="color: orange;">'.$p->t("tools/ampelsystem").'</span></a>&nbsp;&nbsp;<span style="color: #A5AFB6">|</span>&nbsp;&nbsp;';
echo ' ';
}
}
else
+9 -7
View File
@@ -159,7 +159,7 @@ function loadampel()
<tr>
<td class="rand"></td>
<td class="boxshadow">
<table cellspacing="0" cellpadding="0" class="header">
<table cellspacing="0" cellpadding="0" class="header" style="position: relative">
<tr>
<td valign="top" align="left" style="background-image: url(<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/header.png'; ?>); background-position: top; background-repeat: repeat-x;">
<a href="index.php"><img class="header_logo" src="<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/logo_250x130.png'; ?>" alt="logo"></a>
@@ -192,12 +192,14 @@ function loadampel()
</tr>
<tr>
<td valign="top" align="left">
<iframe id="menue" src="<?php echo $db->convert_html_chars($menu); ?>" name="menu" frameborder="0">
No iFrames
</iframe>
<iframe id="content" src="<?php echo $db->convert_html_chars($content); ?>" name="content" frameborder="0">
No iFrames
</iframe>
<iframe id="menue" src="<?php echo $db->convert_html_chars($menu); ?>" name="menu" frameborder="0">
No iFrames
</iframe>
<iframe id="content" src="<?php echo $db->convert_html_chars($content); ?>" name="content" frameborder="0">
No iFrames
</iframe>
<div id="ampel_div"></div>
</td>
</tr>
</table>
+5 -2
View File
@@ -23,6 +23,7 @@
*/
require_once('../config/cis.config.inc.php');
require_once('../config/global.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../cms/menu.inc.php');
require_once('../include/phrasen.class.php');
@@ -102,12 +103,14 @@ ob_start();
if(isset($_GET['content_id']) && $_GET['content_id'] != '')
{
$content_id = $_GET['content_id'];
// Uses urlencode to avoid XSS issues
$content_id = urlencode($_GET['content_id']);
}
else
{
$content_id = CIS_MENU_ENTRY_CONTENT;
} ?>
}
?>
<ul id="menu">
<?php if($content_id != CIS_MENU_ENTRY_CONTENT): ?>
+150
View File
@@ -0,0 +1,150 @@
<?php
/* Copyright (C) 2012 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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 >
* Manfred Kindl < manfred.kindl@technikum-wien.at >
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/firma.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/studiengang.class.php');
$user = get_uid();
$sprache = getSprache();
$p=new phrasen($sprache);
//$rechte = new benutzerberechtigung();
//$rechte->getBerechtigungen($user);
//if(!$rechte->isBerechtigt('basis/service'))
// die('Sie haben keine Berechtigung fuer diese Seite');
$datum_obj = new datum();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>'.$p->t("services/service").'</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTable").tablesorter(
{
sortList: [[0,0]],
widgets: [\'zebra\']
});
}
);
function ContentPopUp (Adresse)
{
Content = window.open(Adresse, "Content", "width=800,height=500,scrollbars=yes");
Content.focus();
}
</script>
</head>
<body>
<h1>'.$p->t("tools/partnerhochschulenUebersicht").'</h1>
<p>'.$p->t("tools/partnerhochschulenEinleitung").'</p>';
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'');
$firma = new firma();
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo $p->t("global/studiengang").': ';
echo '<SELECT onchange="this.form.submit()" name="stg_kz">
<OPTION value="">-- '.$p->t("global/alle").' --</OPTION>';
$studiengaenge = new studiengang();
$studiengaenge->getAll('typ,kurzbz',true);
$typ = '';
$types = new studiengang();
$types->getAllTypes();
foreach($studiengaenge->result as $row)
{
if ($row->typ == 'b' || $row->typ == 'm')
{
//Nur Bachelor, Master und CIR-Studiengang
if ($typ != $row->typ || $typ=='')
{
if ($typ!='')
echo '</optgroup>';
echo '<optgroup label="'.($types->studiengang_typ_arr[$row->typ]!=''?$types->studiengang_typ_arr[$row->typ]:$row->typ).'">';
}
if($row->studiengang_kz==$stg_kz)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' ('.$row->bezeichnung_arr[$sprache].')</OPTION>';
$typ = $row->typ;
}
}
echo '</SELECT>
<input type="submit" value="'.$p->t("services/filtern").'" />
</form>';
if($stg_kz!='')
{
$studiengaenge->load($stg_kz);
$firma->get_firmaorganisationseinheit('', $studiengaenge->oe_kurzbz, 'Partneruniversität');
}
else
{
if(!$firma->getFirmen('Partneruniversität', true))
die($firma->errormsg);
}
if ($firma->result)
{
echo '<table class="tablesorter" id="myTable">
<thead>
<tr>
<!--<th>'.$p->t("global/organisationseinheit").'</th>-->
<th>'.$p->t("global/bezeichnung").'</th>
<!--<th>'.$p->t("services/leistung").'</th>
<th>'.$p->t("services/details").'</th>-->
</tr>
</thead>
<tbody>';
foreach($firma->result as $row)
{
echo '<tr>';
echo '<td>',$row->name,'</td>';
/*echo '<td>'.($row->content_id!=''?'<a href="../../../cms/content.php?content_id='.$row->content_id.'">'.$row->bezeichnung.'</a>':$row->bezeichnung).'</td>';
echo '<td>',$row->beschreibung,'</td>';
echo '<td>'.($row->content_id!=''?'<a href="../../../cms/content.php?content_id='.$row->content_id.'">Details</a>':'').'</td>';*/
echo '</tr>';
}
}
else
{
echo '<p style="padding:20px;"><b>Kein Eintrag vorhanden</b></p>';
}
echo '</tbody>
</table>
</body>
</html>';
?>
+4 -1
View File
@@ -27,6 +27,7 @@ require_once('../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/erhalter.class.php');
require_once('../../../include/datum.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -156,6 +157,8 @@ $erhalter->getAll();
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
$anzahl_studierende = 0;
$datum = new datum();
$zusatz = '';
if($result = $db->db_query($qry))
{
@@ -171,7 +174,7 @@ if($result = $db->db_query($qry))
$zusatz='';
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
$zusatz.='(o)';
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
if($row->note==6) //angerechnet
$zusatz.='(ar)';
@@ -17,13 +17,13 @@ function makeUploadName($db, $which, $lehreinheit_id=null, $uebung_id=null, $ss=
{
$query = "SELECT nachname, vorname from tbl_person, tbl_benutzer where tbl_benutzer.person_id = tbl_person.person_id and tbl_benutzer.uid = ".$db->db_add_param($uid);
$result = $db->db_query($query);
$row = $db->db_fetch_object($result);
$row = $db->db_fetch_object($result);
$name .= "_".$uebung_id."_".$row->nachname."_".$row->vorname."_".$uid."_".$date;
}
else if ($which == "zip")
{
$name .= "_".$uebung_id."_".$date;
$name .= "_".$uebung_id."_".$date;
}
$name = str_replace(":","-",$name);
return $name;
@@ -846,8 +846,8 @@ echo "
{
echo "<th>".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)')."</th>";
}
echo "<th>".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')."</th>
<th rowspan=2>".$p->t('benotungstool/lvNote')."<br>
<input type='button' onclick='GradeImport()' value='".$p->t('benotungstool/importieren')."'>
@@ -874,7 +874,7 @@ echo "
echo "<th colspan='2'>".$p->t('benotungstool/kommissionellePruefung')."</th>";
}
echo "
</tr>
<tr>
<th colspan='9'>&nbsp;</th>";
@@ -890,7 +890,7 @@ echo "
</table>
</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "<th colspan='2'>
@@ -903,7 +903,7 @@ echo "
</table>
</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
echo "
@@ -1434,26 +1434,29 @@ echo "
<tr style='font-weight:bold;' align='center'>
<th style='font-weight:bold;'>&Sigma;</th>
<th style='font-weight:bold;' title='".$p->t('benotungstool/anzahlDerStudenten')."'>$summe_stud</th>";
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE))
{
echo "<th colspan='5'></td>";
}
else
{
echo "<th colspan='6'></td>";
}
if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE))
{
echo "<th colspan='5'></td>";
}
else
{
echo "<th colspan='6'></td>";
}
echo "<th style='color:red; font-weight:bold;' title='".$p->t('benotungstool/anzahlNegativerBeurteilungen')."'>$summe_ng</th>";
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t2</th>;
<?php endif;
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlNachpruefungen'); ?>"'>$summe_t3</th>";
<?php endif;
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF): ?>
<th style='font-weight:bold;' colspan='2' title='"<?php echo $p->t('benotungstool/anzahlKommisionellePruefungen'); ?>"'>$summe_komm</th>
<?php endif;
echo "
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2)
{
echo "<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>".$summe_t2."</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3)
{
echo "<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlNachpruefungen')."'>".$summe_t3."</th>";
}
if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF)
{
echo "<th style='font-weight:bold;' colspan='2' title='".$p->t('benotungstool/anzahlKommisionellePruefungen')."'>".$summe_komm."</th>";
}
echo "
</tr>
</table>
</td></tr>
@@ -24,7 +24,7 @@
// ********************
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -41,14 +41,13 @@ require_once('../../../../include/zeugnisnote.class.php');
require_once('../../../../include/phrasen.class.php');
include('functions.inc.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
//$user = 'if06b172';
//$user = 'if06b144';
$lektorenansicht = 0;
if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id
@@ -62,12 +61,10 @@ else
$lehreinheit_id = '';
$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid
if(check_lektor($user) && (isset($_GET['uid']) && $_GET["uid"] != ""))
{
$rights = new benutzerberechtigung();
$rights->getBerechtigungen($user);
$rights->getBerechtigungen($user);
$lehreinheit=new lehreinheit($_GET["lehreinheit_id"]);
if(!check_lektor_lehrveranstaltung($user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0))
die($p->t('global/keineBerechtigungFuerDieseSeite'));
@@ -94,17 +91,29 @@ $datum_obj = new datum();
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
//Abgabedatei ausliefern
if (isset($_GET["download_abgabe"])){
if (isset($_GET["download_abgabe"]))
{
$file=$_GET["download_abgabe"];
$file = preg_replace('/[^A-Za-z0-9\-_.]/', '',$file);
$uebung_id = $_GET["uebung_id"];
$ueb = new uebung();
$ueb->load_studentuebung($user, $uebung_id);
$ueb->load_abgabe($ueb->abgabe_id);
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
if($ueb->load_studentuebung($user, $uebung_id))
{
if($ueb->load_abgabe($ueb->abgabe_id))
{
$filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
exit;
}
else
{
die($ueb->errormsg);
}
}
else
die($ueb->errormsg);
}
//Angabedatei ausliefern
@@ -162,20 +171,21 @@ if (isset($_POST["abgabe"]))
{
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
$abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:'');
if ($abgabedatei_up)
{
//echo $abgabedatei_up;
$datum = date('Y-m-d H:i:s');
$datumstr = ereg_replace(" ","_",$datum);
$datumstr = str_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $user;
@@ -194,12 +204,12 @@ if (isset($_POST["abgabe"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
//echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = $abgabe_anmerkung;
@@ -213,10 +223,10 @@ if (isset($_POST["abgabe"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
else
{
$abgabe_anmerkung = $_POST["abgabe_anmerkung"];
@@ -225,7 +235,7 @@ if (isset($_POST["abgabe"]))
if ($uebung_obj2->errormsg == "")
{
if ($uebung_obj2->abgabe_id != null)
{
{
$uebung_obj2->load_abgabe($uebung_obj2->abgabe_id);
$uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung;
$uebung_obj2->abgabe_save(false);
@@ -259,11 +269,11 @@ $qry = "SELECT distinct lehreinheit_id, lehrfach.kurzbz FROM lehre.tbl_lehreinhe
SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id)
WHERE tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem).")
UNION
SELECT
lehreinheit_id
FROM
SELECT
lehreinheit_id
FROM
public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband
WHERE
WHERE
tbl_student.student_uid=".$db->db_add_param($user)." AND
tbl_studentlehrverband.student_uid=tbl_student.student_uid AND
tbl_studentlehrverband.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
@@ -370,7 +380,7 @@ echo '<td class="tdwidth10">&nbsp;</td>';
echo "<td width='100%'>\n";
echo "<table width='100%'><tr><td><b>".$lv_obj->bezeichnung_arr[$sprache]."</b></td><td align='right'><a href='../../../../documents/".strtolower($stg_obj->kuerzel)."/$lv_obj->semester/$lv_obj->lehreverzeichnis/download/' target='_blank' class='Item'>".$p->t('benotungstool/downloadverzeichnisAnzeigen')."</a></td></tr></table><br>";
if($lehreinheit_id=='')
if($lehreinheit_id=='')
die($p->t('benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung'));
$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid=".$db->db_add_param($user);
@@ -383,7 +393,7 @@ if($result = $db->db_query($qry))
if (!isset($_GET["notenuebersicht"]))
{
$l = 0;
$l = 0;
$ueb_check = new uebung();
$ueb_check->load_uebung($lehreinheit_id,1);
if (count($ueb_check->uebungen > 0))
@@ -396,7 +406,7 @@ if (!isset($_GET["notenuebersicht"]))
$l = 1;
}
}
if ($l > 0)
{
echo "<br><b>".$p->t('lehre/leistungsuebersicht')." / <a href='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user'>".$p->t('benotungstool/notenuebersichtFuer')." $name</b><br><br>";
@@ -409,12 +419,12 @@ if (!isset($_GET["notenuebersicht"]))
echo "<option value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uid=$user' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -427,41 +437,41 @@ if (!isset($_GET["notenuebersicht"]))
}
else
$disabled = '';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$user' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -482,21 +492,21 @@ if (!isset($_GET["notenuebersicht"]))
else
{
$callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&notenuebersicht=1&uid=$user";
#header("Location:$callURL");
#header("Location:$callURL");
echo "<script language=\"JavaScript\">";
echo "window.location.href ='$callURL'";
echo "</script>";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
exit;
//echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt";
}
//******SPEICHERN DER DATEN*************
if(isset($_POST['submit']))
{
$error=false;
$ueb_hlp_obj = new uebung();
$ueb_hlp_obj->load($uebung_id);
//Wenn Kreuzerlliste Freigegeben ist
@@ -504,21 +514,21 @@ if (!isset($_GET["notenuebersicht"]))
$datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time())
{
$bsp_obj = new beispiel();
if($bsp_obj->load_beispiel($uebung_id))
{
$anzahl_solved = 0;
$anzahl_solved = 0;
foreach ($bsp_obj->beispiele as $row)
{
if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1))
$anzahl_solved++;
}
if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0))
{
{
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id))
{
$stud_bsp_obj->new=false;
@@ -530,18 +540,18 @@ if (!isset($_GET["notenuebersicht"]))
$stud_bsp_obj->insertvon = $user;
$stud_bsp_obj->vorbereitet = false;
}
if (isset($_POST['solved_'.$row->beispiel_id]))
if (isset($_POST['solved_'.$row->beispiel_id]))
$stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false);
$stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false);
$stud_bsp_obj->updateamum = date('Y-m-d H:i:s');
$stud_bsp_obj->updatevon = $user;
$stud_bsp_obj->student_uid = $user;
$stud_bsp_obj->beispiel_id = $row->beispiel_id;
if(!$row->check_anzahl_studentbeispiel($row->beispiel_id))
die('<span class="error">Fehler beim Ermitteln der Beispiele</span>');
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new ||
{
$hlp = new beispiel();
if($hlp->load_studentbeispiel($user, $row->beispiel_id))
@@ -552,7 +562,7 @@ if (!isset($_GET["notenuebersicht"]))
$error = true;
}
}
}
}
else
{
if(!$stud_bsp_obj->studentbeispiel_save())
@@ -565,11 +575,11 @@ if (!isset($_GET["notenuebersicht"]))
}
else
{
$error=true;
$error=true;
echo $p->t('benotungstool/zuVieleBeispieleAngekreuzt')."!<br>";
}
}
if($error)
echo "<span class='error'>".$p->t('benotungstool/esKonntenNichtAlleDatenGespeichertWerden')."</span><br>";
else
@@ -578,19 +588,20 @@ if (!isset($_GET["notenuebersicht"]))
else
echo "<span class='error'>".$p->t('benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben')."!</span>";
}
//********ANZEIGE DER EINGETRAGENEN KREUZERL***********
if ($l > 0)
{
{
$uebung_obj = new uebung();
$uebung_obj->load($uebung_id);
$downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo $p->t('benotungstool/freigegebenVon')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." ".$p->t('global/bis')." ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis));
echo "<br><br><h3><u>$uebung_obj->bezeichnung</u></h3>";
if ($uebung_obj->angabedatei)
echo $p->t('benotungstool/angabe').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&download=".$downloadname."'>".$downloadname."</a><br><br>";
$ueb_obj = new uebung();
if($ueb_obj->load_studentuebung($user, $uebung_id))
{
@@ -608,39 +619,39 @@ if (!isset($_GET["notenuebersicht"]))
$anmerkung = mb_str_replace("\n", "<br>", $anmerkung);
if ($uebung_obj->beispiele)
{
$qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id =".$db->db_add_param($uebung_id, FHC_INTEGER).") AND vorbereitet=true and student_uid = ".$db->db_add_param($user);
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$anzahl = $row_cnt->anzahl;
echo "<script type='text/javascript'>";
if ($uebung_obj->maxbsp)
echo "maxbsp = ".$uebung_obj->maxbsp.";";
else
echo "maxbsp = 9999;";
echo "maxbsp = 9999;";
echo "aktbsp = ".$anzahl.";";
echo "function plus1(id)
{
aktbsp++;
if (aktbsp > maxbsp)
{
{
document.bspform.reset();
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
alert('Sie dürfen maximal '+maxbsp+' Beispiele markieren!');
aktbsp = ".$anzahl.";
}
}
function minus1()
{
aktbsp--;
}
aktbsp--;
}
";
echo "</script>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
$bsp_obj->load_beispiel($uebung_id);
if ($bsp_obj->beispiele)
{
echo " <table>";
@@ -648,7 +659,7 @@ if (!isset($_GET["notenuebersicht"]))
echo "<tr><td>".$p->t('benotungstool/maxBeispieleStudent').":</td><td><b>".$uebung_obj->maxbsp."</b></td></tr>";
if ($uebung_obj->maxstd > 0)
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel').":</td><td style='background-color:#dddddd;'><b>".$uebung_obj->maxstd."</b></td></tr>";
echo "</table>";
echo "</table>";
echo "
<form accept-charset='UTF-8' method='POST' name='bspform' action='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$user'>
<table width='100%'>
@@ -664,12 +675,12 @@ if (!isset($_GET["notenuebersicht"]))
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
foreach ($bsp_obj->beispiele as $row)
{
$bsp_voll = false;
$bsp_voll = false;
$stud_bsp_obj = new beispiel();
if ($uebung_obj->maxstd > 0)
{
@@ -690,7 +701,7 @@ if (!isset($_GET["notenuebersicht"]))
if ($bsp_voll)
{
$ro = " disabled";
$markiert = " style='background-color:#dddddd;'";
$markiert = " style='background-color:#dddddd;'";
}
else
{
@@ -704,64 +715,64 @@ if (!isset($_GET["notenuebersicht"]))
<td align='center'><input type='checkbox' name='problem_$row->beispiel_id' ".($probleme?'checked':'')."$ro></td>
<td align='center'>$row->punkte</td>
</tr>";
}
//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo "<tr><td align='right' colspan=5><input type='submit' value='".$p->t('global/speichern')."' name='submit'></td></form></tr>";
echo "</table>";
}
else
echo "<table><tr><td>".$p->t('benotungstool/keineBeispieleAngelegt')."</td></tr></table><table width='100%'><tr><td width='70%'></div><table><tr><td>&nbsp;</td></tr></table>";
if ($uebung_obj->abgabe)
{
echo "<br><table><tr><td>".$p->t('benotungstool/abgabedatei').":</td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td><a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a></td>";
echo "</tr>";
}
}
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
{
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data' name='kl_angabe'>\n";
echo " <td>\n";
echo " <input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>";
}
echo "</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -772,19 +783,19 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($user)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user)." AND liste_id = ".$db->db_add_param($liste_id, FHC_INTEGER);
@@ -792,7 +803,7 @@ if (!isset($_GET["notenuebersicht"]))
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($user);
@@ -801,7 +812,7 @@ if (!isset($_GET["notenuebersicht"]))
if($row = $db->db_fetch_object($result))
$mitarbeit = $row->mitarbeitspunkte;
echo "
<table border='1' width='210'>
<tr>
<td colspan='2' class='ContentHeader2'>".$p->t('benotungstool/dieseKreuzerlliste').":</td>
@@ -844,16 +855,16 @@ if (!isset($_GET["notenuebersicht"]))
</tr>
</table>
";
echo "
</td></tr>
</table>
</form>
";
//**********STATISTIK***************
if($uebung_obj->statistik)
{
@@ -878,7 +889,7 @@ if (!isset($_GET["notenuebersicht"]))
$qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id)." GROUP BY student_uid";
if($result_cnt = $db->db_query($qry_cnt))
$gesamt=$db->db_num_rows($result_cnt);
foreach ($beispiel_obj->beispiele as $row)
{
$i++;
@@ -888,12 +899,12 @@ if (!isset($_GET["notenuebersicht"]))
if($result_cnt = $db->db_query($qry_cnt))
if($row_cnt = $db->db_fetch_object($result_cnt))
$solved = $row_cnt->anzahl;
if($solved>0)
$psolved = $solved/$gesamt*100;
echo '<tr>
<td '.($i%2?'class="MarkLine"':'').' valign="top" height="10" width="200"><font size="2" face="Arial, Helvetica, sans-serif">
'.$row->bezeichnung.'
@@ -928,24 +939,24 @@ if (!isset($_GET["notenuebersicht"]))
}
else if ($uebung_obj->abgabe)
{
echo "<table width='100%'>\n";
echo "<tr><td>".($note!=''?'<b>'.$p->t('benotungstool/note').': </b>'.$note.'<br><br>':'')."</td></tr>\n";
echo"
echo"
<tr>
<td valign='top'>
".($anmerkung!=''?'<b>'.$p->t('global/anmerkungen').':</b><br> '.$anmerkung.'<br><br>':'')."
</td>";
echo "</tr>\n";
echo "<tr><td><hr></td></tr>\n";
$uebung_obj->load_studentuebung($user, $uebung_id);
if ($uebung_obj->abgabe_id)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
echo " <tr>";
echo" <td>".$p->t('benotungstool/abgabedatei').": <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&download_abgabe=".$uebung_obj->abgabedatei."'>".$uebung_obj->abgabedatei."</a>";
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)>time())
echo " <a href='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&deleteabgabe=1'>[del]</a><br></td>";
echo "</tr>";
}
@@ -954,14 +965,14 @@ if (!isset($_GET["notenuebersicht"]))
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenansicht.php?uid=$user&lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/anmerkung').":<br><textarea name='abgabe_anmerkung' rows='3' cols='50'>".$uebung_obj->abgabe_anmerkung."</textarea><br>";
echo " <br>".$p->t('global/datei').":<br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
}
@@ -974,7 +985,7 @@ else
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -983,43 +994,43 @@ else
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
echo "<br><hr><br>";
echo "<br><hr><br>";
echo $p->t('benotungstool/studentenAuswaehlen').": ";
$key = array_search($uid,$uid_arr);
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem&notenuebersicht=1'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem&notenuebersicht=1'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<a href='studentenansicht.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem&notenuebersicht=1'> &gt;&gt; </a>";
echo "<br><hr><br>";
}
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<br><b><a href='studentenansicht.php?uid=$user&lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id'>".$p->t('benotungstool/leistungsuebersichtNotenuebersichtFuer')." $name</b><br><br>";
echo "<table><tr><td>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
{
echo "<table style='border: 1px #dddddd solid'>";
echo " <tr>\n";
echo " <th colspan='2'>".$p->t('benotungstool/aufgabe')."</th>\n";
@@ -1029,21 +1040,21 @@ else
echo " <th>".$p->t('benotungstool/note')."</th>";
echo " </tr>\n";
foreach ($uebung_obj->uebungen as $row)
{
{
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
$l1note = new studentnote();
if(count($subuebung_obj->uebungen) >= 0)
{
$l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id);
if ($l1note->negativ)
$l1_note = 5;
else
$l1_note = $l1note->l1_note;
echo " <tr>\n";
$l1_note = $l1note->l1_note;
echo " <tr>\n";
echo " <td colspan='2'>";
echo $row->bezeichnung;
if ($row->positiv)
@@ -1051,23 +1062,23 @@ else
echo " </td>\n";
echo " <td align='center'>".$row->gewicht."</td>\n";
echo " <td align='center'>";
if ($l1note->punkte_gesamt_l1 >0)
if ($l1note->punkte_gesamt_l1 >0)
echo $l1note->punkte_gesamt_l1;
echo "</td>\n";
echo "<td align='center'></td>";
echo "<td align='center'>".$l1_note."</td>\n";
echo " </tr>\n";
}
if(count($subuebung_obj->uebungen) > 0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
echo " <tr>\n";
echo " <td>- </td>";
echo " <td>- </td>";
echo " <td>\n";
echo $subrow->bezeichnung;
if ($subrow->positiv)
@@ -1081,15 +1092,15 @@ else
{
$l1note->calc_punkte($subrow->uebung_id, $user);
echo " <td align='center'>".$l1note->punkte_gesamt."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
}
else if ($subrow->abgabe)
{
$l1note->calc_note($subrow->uebung_id, $user);
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
echo " <td align='center'></td>\n";
echo " <td align='center'>".$l1note->note."</td>";
echo " <td align='center'></td>\n";
}
echo " </tr>\n"; /*
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
@@ -1097,9 +1108,9 @@ else
else
echo ' - ';
*/
}
}
}
$l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user);
@@ -1108,24 +1119,24 @@ else
else
$gesamtnote = $l1note->studentgesamtnote;
echo "<tr style='background-color:#dddddd;'><td colspan='5'>".$p->t('benotungstool/errechneteGesamtnote').": </td><td align='center'>".$gesamtnote."</td></tr>";
echo "</table>";
echo "<span style='font-size:8pt;'>".$p->t('benotungstool/mussPositivSein')."</span>";
}
echo "</td><td valign='top'>";
$legesamtnote = new legesamtnote($lehreinheit_id);
if (!$legesamtnote->load($user, $lehreinheit_id))
{
{
$lenote = null;
}
else
{
$lenote = $legesamtnote->note;
}
}
if ($lvgesamtnote = new lvgesamtnote($lvid,$user,$stsem))
{
$lvnote = $lvgesamtnote->note;
@@ -1138,7 +1149,7 @@ else
}
else
$znote = null;
echo "<table style='border: 1px #dddddd solid'>\n";
echo " <tr><th colspan='2'>".$p->t('benotungstool/eingetrageneNoten')."</th></tr>";
echo "<tr>\n";
@@ -1154,7 +1165,7 @@ else
echo "<td>".$znote."</td>";
echo "</tr>\n";
echo "</table>";
echo "</td></tr></table>";
}
?>
@@ -21,7 +21,7 @@
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/basis_db.class.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/studiengang.class.php');
@@ -34,9 +34,9 @@ require_once('../../../../include/studentnote.class.php');
require_once('../../../../include/datum.class.php');
require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$user = get_uid();
@@ -102,9 +102,9 @@ if (isset($_GET["handbuch"])){
if (isset($_FILES["abgabedatei"]))
{
//echo $_FILES["abgabedatei"];
//echo $_FILES["abgabedatei"];
$abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"];
if ($abgabedatei_up)
{
$student_uid = $uid;
@@ -112,13 +112,14 @@ if (isset($_FILES["abgabedatei"]))
$datumstr = ereg_replace(" ","_",$datum);
$name_up = pathinfo($_FILES["abgabedatei"]["name"]);
$name_neu = makeUploadName($db, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr);
$name_neu = preg_replace('/[^A-Za-z0-9\-_]/', '',$name_neu);
$abgabedatei = $name_neu.".".$name_up["extension"];
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei;
$uebung_obj = new uebung();
$uebung_obj->load_studentuebung($student_uid, $uebung_id);
if ($uebung_obj->errormsg != "")
{
$uebung_obj->student_uid = $student_uid;
@@ -137,12 +138,12 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->new = true;
$uebung_obj->studentuebung_save($new=true);
echo $uebung_obj->errormsg;
}
if ($uebung_obj->abgabe_id != null)
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
{
$uebung_obj->load_abgabe($uebung_obj->abgabe_id);
unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei);
$uebung_obj->abgabedatei = $abgabedatei;
$uebung_obj->abgabezeit = $datum;
$uebung_obj->abgabe_anmerkung = "";
@@ -156,7 +157,7 @@ if (isset($_FILES["abgabedatei"]))
$uebung_obj->abgabe_save(true);
}
$uebung_obj->studentuebung_save(false);
//Abgabedatei ablegen
//Abgabedatei ablegen
move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad);
}
}
@@ -217,11 +218,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -229,11 +230,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -440,14 +441,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
die($p->t('benotungstool/studentWurdeNichtGefunden'));
//echo "<b>$row_stud->vorname $row_stud->nachname</b><br>\n";
$uid_arr = Array();
$vorname_arr = Array();
$nachname_arr = Array();
// studentenquery
// studentenquery
$qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = ".$db->db_add_param($stsem)." and lehreinheit_id = ".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." ORDER BY nachname, vorname";
if($result_stud_dd = $db->db_query($qry_stud_dd))
{
@@ -456,7 +457,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
{
$uid_arr[] = $row_stud_dd->uid;
$vorname_arr[] = $row_stud_dd->vorname;
$nachname_arr[] = $row_stud_dd->nachname;
$nachname_arr[] = $row_stud_dd->nachname;
}
}
@@ -467,22 +468,22 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$prev = $key-1;
$next = $key+1;
if ($key > 0)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$prev]&stsem=$stsem'> &lt;&lt; </a>";
echo "<SELECT name='stud_dd' onChange=\"MM_jumpMenu('self',this,0)\">\n";
for ($j = 0; $j < count($uid_arr); $j++)
{
{
if ($uid_arr[$j] == $uid)
$selected = " selected";
else
$selected = "";
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$j]&stsem=$stsem'$selected>$vorname_arr[$j] $nachname_arr[$j]</option>";
}
echo "</select>";
if ($key < count($uid_arr)-1)
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
echo "<a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid_arr[$next]&stsem=$stsem'> &gt;&gt; </a>";
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
if(count($uebung_obj->uebungen)>0)
@@ -492,15 +493,15 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -510,46 +511,46 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo '</td>';
echo "<td>
<table>
<tr>
@@ -581,7 +582,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
$mitarbeit = 0;
$note = '';
}
if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id']))
{
echo "
@@ -598,10 +599,10 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td class='ContentHeader2'>".$p->t('benotungstool/probleme')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/punkte')."</td>
</tr>";
$bsp_obj = new beispiel();
$bsp_obj->load_beispiel($uebung_id);
foreach ($bsp_obj->beispiele as $row)
{
$stud_bsp_obj = new beispiel();
@@ -623,14 +624,14 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<td align='center'>$row->punkte</td>
</tr>";
}
echo "</table>";
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -639,27 +640,27 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if ($filename != '')
echo "<br>".$p->t('benotungstool/abgabedatei').": <a href='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$uid&download_abgabe=$filename'>".$filename."</a><br><br>";
echo "
</td><td valign='top' algin='right'>";
//Gesamtpunkte diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER);
$punkte_gesamt=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt = $row->punktegesamt;
//Eingetragen diese Kreuzerlliste
$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0);
//Gesamtpunkte alle Kreuzerllisten in dieser Übung
$ueb_help = new uebung($uebung_id);
$liste_id = $ueb_help->liste_id;
@@ -670,19 +671,19 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_gesamt_alle = $row->punktegesamt_alle;
//Eingetragen alle Kreuzerllisten
$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung
WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND
tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND
tbl_uebung.lehreinheit_id=".$db->db_add_param($lehreinheit_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_uebung.liste_id = ".$db->db_add_param($liste_id)." AND
tbl_studentbeispiel.student_uid=".$db->db_add_param($uid)." AND vorbereitet=true";
$punkte_eingetragen_alle=0;
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0);
//Mitarbeitspunkte
$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id)
WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid)." and liste_id=".$db->db_add_param($liste_id);
@@ -690,7 +691,7 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
if($result=$db->db_query($qry))
if($row = $db->db_fetch_object($result))
$mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0);
//Mitarbeitspunkte
$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung
WHERE uebung_id=".$db->db_add_param($uebung_id, FHC_INTEGER)." AND student_uid=".$db->db_add_param($uid);
@@ -742,8 +743,8 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
</tr>
</table>
";
echo "
</td></tr>
<tr>
@@ -752,18 +753,18 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>
";
}
else if (is_numeric($_GET['uebung_id']))
{
$ueb_obj->load_studentuebung($uid, $uebung_id);
if ($ueb_obj->abgabe_id)
{
if ($ueb_obj->abgabe_id)
{
$ueb_obj->load_abgabe($ueb_obj->abgabe_id);
$filename = $ueb_obj->abgabedatei;
}
@@ -790,28 +791,28 @@ if(isset($_GET['uid']) && $_GET['uid']!='')
<tr>
<td colspan='2'>
<input type='button' value='".$p->t('global/zurueck')."' onclick='history.back();'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
<input type='submit' value='".$p->t('global/speichern')."' name='submit'>
</td>
</tr>
</table>
</form>";
}
echo "</td></tr></table>";
echo "<table>\n";
echo "</td></tr></table>";
echo "<table>\n";
echo " <tr>\n";
echo " <form accept-charset='UTF-8' method='POST' action='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&stsem=$stsem&uid=$uid' enctype='multipart/form-data'>\n";
echo " <td>\n";
echo " <b>".$p->t('benotungstool/studentenabgabedatei').":</b><br><input type='file' name='abgabedatei'> <input type='submit' name='abgabe' value='".$p->t('benotungstool/abgeben')."'>";
echo " </td>\n";
echo " </td>\n";
echo " </form>\n";
echo "</tr>\n";
echo "</table>";
}
else
{
//Übungen benoten
$uebung_obj = new uebung();
$uebung_obj->load_uebung($lehreinheit_id,1);
@@ -822,15 +823,15 @@ else
echo "<option value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=&uid=$uid' selected></option>";
foreach ($uebung_obj->uebungen as $row)
{
if($uebung_id == $row->uebung_id)
$selected = 'selected';
else
$selected = '';
$selected = '';
if($uebung_id=='')
$uebung_id=$row->uebung_id;
$subuebung_obj = new uebung();
$subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id);
if(count($subuebung_obj->uebungen)>0)
@@ -840,61 +841,62 @@ else
}
else
$disabled = '';
echo "<OPTION style='background-color:#cccccc;' value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id&uid=$uid' $selected $disabled>";
echo $row->bezeichnung;
echo '</OPTION>';
if(count($subuebung_obj->uebungen)>0)
{
foreach ($subuebung_obj->uebungen as $subrow)
{
if($uebung_id=='')
$uebung_id=$subrow->uebung_id;
if($uebung_id == $subrow->uebung_id)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='studentenpunkteverwalten.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$subrow->uebung_id&uid=$uid' $selected>";
//Freigegeben = +
//Nicht Freigegeben = -
if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)<time() && $datum_obj->mktime_fromtimestamp($subrow->freigabebis)>time())
echo ' + ';
else
echo ' - ';
echo $subrow->bezeichnung;
echo '</OPTION>';
}
}
}
echo '</SELECT>';
echo "<a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id&stsem=$stsem' target='_blank'> [".$p->t('benotungstool/benoten')."]</a>";
$abgabe_obj = new uebung($uebung_id);
if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*"))
{
$date = date('Y-m-d_H:i:s');
$date = date('Y-m-d_H:i:s');
$downloadname = makeUploadName($db, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date);
$downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = str_replace($uebung_id, str_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname);
$downloadname = preg_replace('/[^A-Za-z0-9\-_]/', '',$downloadname);
echo "<a href='zipdownload_benotungstool.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&downloadname=$downloadname'> [".$p->t('benotungstool/abgabenDownloaden')."]</a>";
}
else
echo "[".$p->t('benotungstool/keineAbgabenVerfuegbar')."]";
echo '</td></tr></table>';
}
echo "<br><hr><br>";
//Studentenliste
echo $p->t('benotungstool/bitteWaehlenSieDenStudentenAus')."<br>";
@@ -907,14 +909,14 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class='ContentHeader2'>".$p->t('global/uid')."</td>
<td class='ContentHeader2'>".$p->t('global/nachname')."</td>
<td class='ContentHeader2'>".$p->t('global/vorname')."</td>
<td class='ContentHeader2'>".$p->t('benotungstool/studentenansicht')."</td>
</tr>
<tr>
<td>&nbsp;</td>
@@ -922,7 +924,7 @@ else
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>";
/*
/*
if($row_grp->gruppe_kurzbz!='')
{
echo "
@@ -945,16 +947,16 @@ else
" ORDER BY nachname, vorname";
}
*/
// studentenquery
// studentenquery
$qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
while($row_stud = $db->db_fetch_object($result_stud))
{
echo "
<tr class='liste".($i%2)."'>
<td><a href='studentenpunkteverwalten.php?lvid=$lvid&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&uid=$row_stud->uid&stsem=$stsem' class='Item'>$row_stud->uid</a></td>
@@ -36,11 +36,11 @@ require_once('functions.inc.php');
require_once('../../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
@@ -64,7 +64,7 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehr
$lehreinheit_id = $_GET['lehreinheit_id'];
else
$lehreinheit_id = '';
//Angabedatei ausliefern
if (isset($_GET["download"])){
$file=$_GET["download"];
@@ -100,7 +100,7 @@ if (isset($_GET["download"])){
{
return confirm('<?php echo $p->t('gesamtnote/wollenSieWirklichLoeschen');?>');
}
function set_notenschluessel_prozent()
{
document.ns.schluessel_punkte_1.value=89;
@@ -156,7 +156,7 @@ if (isset($_FILES["angabedatei"]))
$angabedatei_up = $_FILES["angabedatei"]["tmp_name"];
else
$angabedatei_up = null;
$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:'');
$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
@@ -223,11 +223,11 @@ $stsem_content.= "</SELECT>\n";
//Lehreinheiten laden
if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -235,11 +235,11 @@ if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->st
}
else
{
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
$qry = "SELECT
distinct lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehreinheitmitarbeiter
WHERE
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND
@@ -384,7 +384,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$error_anzahlderbeispiele = "<span class='error'>".$p->t('benotungstool/anzahlDerBeispieleKleiner100')."</span>";
$error=true;
}
if ($maxstd != '')
{
if(!is_numeric($maxstd))
@@ -405,7 +405,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -427,7 +427,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
else
$maxbsp = null;
}
$freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon);
$freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis);
@@ -462,7 +462,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if (isset($_POST["uebung_neu"]))
{
if (isset($_POST["kl_abgabe"]))
if (isset($_POST["kl_abgabe"]))
$uebung_obj->abgabe=true;
else
$uebung_obj->abgabe=false;
@@ -487,12 +487,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->maxbsp = $maxbsp;
$uebung_obj->gewicht = $gewicht;
$uebung_obj->get_next_nummer();
$uebung_obj->nummer = $uebung_obj->next_nummer;
$uebung_obj->nummer = $uebung_obj->next_nummer;
if($uebung_obj->save(true))
{
$uebung_id = $uebung_obj->uebung_id;
//Angabedatei ablegen
if ($angabedatei_up)
{
@@ -503,12 +503,12 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
//Find occurence of extensions ending with ".tar."
if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array))
$extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.'));
else
else
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -518,7 +518,7 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu']))
$uebung_obj->save(false);
}
//Beispiele anlegen
$error_msg='';
for($i=0;$i<$anzahlderbeispiele;$i++)
{
@@ -625,7 +625,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxstd = null;
if ($maxbsp != '')
{
if(!is_numeric($maxbsp))
@@ -646,7 +646,7 @@ if(isset($_POST['uebung_edit']))
}
else
$maxbsp = null;
if($freigabevon_sav>$freigabebis_sav)
{
echo "<span class='error'>".$p->t('benotungstool/vonDatumNichtGroesserAlsBisDatum')."</span>";
@@ -680,7 +680,7 @@ if(isset($_POST['uebung_edit']))
$extension = $name_up["extension"];
$name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem);
$angabedatei_neu = $name_neu.".".$extension;
$angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu;
//$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei;
//unlink($angabepfad);
@@ -690,7 +690,7 @@ if(isset($_POST['uebung_edit']))
move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad);
}
else
{
{
$uebung_akt = new uebung();
$uebung_akt->load($uebung_id);
$angabedatei_neu = $uebung_akt->angabedatei;
@@ -702,7 +702,7 @@ if(isset($_POST['uebung_edit']))
$uebung_obj->angabedatei=$angabedatei_neu;
$uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav);
$uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav);
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
$uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false);
//$uebung_obj->beispiele=true;
$uebung_obj->bezeichnung=$thema;
@@ -749,11 +749,11 @@ if(isset($_POST['liste_edit']))
echo "<span class='error'>".$p->t('benotungstool/gewichtMussEineZahlSein')."</span>";
$error = true;
}
if(!$error)
{
$uebung_obj = new uebung();
$uebung_obj->load($_GET['liste_id']);
$uebung_obj->gewicht=$gewicht;
@@ -804,7 +804,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
$beispiel_obj = new beispiel();
if(isset($_POST['beispiel_edit']))
{
$beispiel_obj->load($beispiel_id);
$beispiel_obj->load($beispiel_id);
$beispiel_obj->beispiel_id= $beispiel_id;
$beispiel_obj->new=false;
}
@@ -845,7 +845,7 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit']))
//Uebersichtstabelle
if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
{
echo "<table><tr><td valign='top'>";
//Bearbeiten der ausgewaehlten Uebung
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST enctype='multipart/form-data'>\n";
@@ -857,23 +857,24 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
//$downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei);
$downloadname = mb_str_replace(' ', '_', $uebung_obj->bezeichnung);
$downloadname = mb_str_replace($uebung_id, $downloadname, $uebung_obj->angabedatei);
$downloadname = preg_replace('/[^A-Za-z0-9\-_.]/', '',$downloadname);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($uebung_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr>
<tr><td>".$p->t('benotungstool/freigabe')."</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>".$p->t('benotungstool/format')."</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>";
if ($uebung_obj->beispiele){
echo "<tr><td>".$p->t('benotungstool/maxStudentenBeispiel')."</td><td align='right'><input type='text' name='maxstd' value='$uebung_obj->maxstd'></td><td>$error_maxstd</td></tr>
<tr><td>".$p->t('benotungstool/maxBeispieleStudent')."</td><td align='right'><input type='text' name='maxbsp' value='$uebung_obj->maxbsp'></td><td>$error_maxbsp</td></tr>";
echo"<tr><td>".$p->t('benotungstool/abgabe')." </td><td><input type='checkbox' name='kl_abgabe' ".($uebung_obj->abgabe?'checked':'')."></td></tr>";
echo "<input type='hidden' size='16' name='gewicht' value='0'>";
}
}
else if ($uebung_obj->abgabe)
{
echo "<tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$uebung_obj->gewicht'></td><td>$error_gewicht</td></tr>";
echo "<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($uebung_obj->positiv?'checked':'')."></td></tr>";
}
if ($uebung_obj->beispiele)
if ($uebung_obj->beispiele)
echo"<tr><td>".$p->t('benotungstool/statistikFuerStudentenAnzeigen')." </td><td><input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td></tr>";
echo "<tr>";
echo "<td>".$p->t('benotungstool/angabeidatei')."</td>";
@@ -900,25 +901,25 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/neuesBeispielAnlegen')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>".$p->t('global/bezeichnung')." <input type='text' name='bezeichnung' maxlength='32' value='".$p->t('benotungstool/beispiel')." ".($anzahl<9?'0'.($anzahl+1):($anzahl+1))."'>";
echo "&nbsp;".$p->t('benotungstool/punkte')." <input type='text' size='2' name='punkte' value='1'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_neu' value='".$p->t('benotungstool/anlegen')."'></td></tr>";
echo "</table>
</form>";
}
echo "</td></tr><tr><td valign='top'>";
//Uebersicht der Beispiele
if ($uebung_obj->beispiele)
{
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$uebung_id&liste_id=$liste_id' method=POST>\n";
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneBeispiele')."</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td><td></td></tr>\n\n";
if($anzahl>0)
{
echo "<tr><th>".$p->t('benotungstool/beispiel')."</th><th>".$p->t('benotungstool/punkte')."</th><th>".$p->t('benotungstool/auswahl')."</th></tr>\n";
@@ -932,7 +933,7 @@ if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='')
}
else
echo "<tr><td colspan='3'>".$p->t('benotungstool/keineBeispieleAngelegt')."</td><td></td></tr>";
echo "</table></form>";
}
echo "</td><td valign='top'>";
@@ -969,10 +970,10 @@ else
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>\n";
echo "<table><tr><td colspan='2' width='340' class='ContentHeader3'>".$p->t('benotungstool/uebungBearbeiten')."</td><td>&nbsp;</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>";
$liste_obj = new uebung();
$liste_obj->load($liste_id);
echo "
<tr><td>".$p->t('benotungstool/thema')."</td><td align='right'><input type='text' name='thema' maxlength='32' value='".htmlentities($liste_obj->bezeichnung,ENT_QUOTES,'UTF-8')."'></td><td>$error_thema</td></tr><tr><td>".$p->t('benotungstool/gewicht')."</td><td align='right'><input type='text' size='16' name='gewicht' value='$liste_obj->gewicht'></td><td>$error_gewicht</td></tr>
<tr><td>".$p->t('benotungstool/positiv')." </td><td><input type='checkbox' name='positiv' ".($liste_obj->positiv?'checked':'')."></td></tr>
@@ -980,13 +981,13 @@ else
</table>
</form>";
}
//Gesamtuebersicht ueber alle Listen innerhalb der Uebung
echo "<table><tr><td valign='top'>";
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method=POST>";
echo "<table width='440'>";
$studentuebung = new uebung();
if (!$studentuebung->check_studentuebung($liste_id))
if (!$studentuebung->check_studentuebung($liste_id))
echo "<tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/vorhandeneAufgabeBearbeiten')."</td></tr>";
$uebung_obj = new uebung();
@@ -1138,10 +1139,10 @@ else
$maxstudentenprobeispiel = '';
$maxbeispieleprostudent = '';
$gewicht = 1;
}
echo "</td><td valign='top'>";
if ($anzeigen != 'abgabe' && $anzeigen != 'nada')
{
echo "
@@ -1181,27 +1182,27 @@ else
}
}
}
if ($anzeigen != "beide")
{
{
if ($liste_obj->prozent == 't')
{
$einheit = " %";
$einheit_link = $p->t('benotungstool/notenschluesselInProzent')." / <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=punkte'>".$p->t('benotungstool/punkten')."</a>";
}
}
else
{
$einheit=" ".$p->t('benotungstool/punkte');
$einheit_link = $p->t('benotungstool/notenschluesselIn')." <a href='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id&notenschluessel=prozent'>".$p->t('benotungstool/prozentPunkten');
}
echo "<form accept-charset='UTF-8' action='verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$liste_id' method='POST' name='ns'>\n";
echo "<table><tr><td colspan='3' class='ContentHeader3'>".$p->t('benotungstool/notenschluesselDefinieren')."</td></tr>\n";
echo "<tr>";
echo "<td colspan='3'>";
echo $einheit_link;
echo "</td>";
echo "</tr>";
echo "</td>";
echo "</tr>";
echo "<tr><td colspan='3'>&nbsp;</td></tr>\n";
echo "<tr><td>".$p->t('benotungstool/note')."</td><td>".$p->t('benotungstool/minimum')."</td></tr>";
echo "<tr><td><input type='text' name='schluessel_note_1' maxlength='2' size='2' value='1' readonly></td><td><input type='text' size='4' name='schluessel_punkte_1' value='$notenschluessel[1]'>$einheit</td></tr>";
@@ -1215,14 +1216,14 @@ else
echo "<input type='button' onclick='set_notenschluessel_prozent();' value='".$p->t('benotungstool/standardwerteSetzen')."'><br>";
echo "<input type='submit' name='schluessel' value='".$p->t('global/speichern')."'></td>";
echo "</tr>";
echo "</table>
</form>";
}
}
if(!isset($_POST['uebung_neu']))
$thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1));
if ($anzeigen != 'beispiele' && $anzeigen != 'nada')
{
echo "
@@ -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>
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
@@ -28,12 +28,12 @@
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
$user = get_uid();
$user = get_uid();
if(!check_lektor($user))
die('Sie haben keine Berechtigung fuer diese Seite');
//Gueltigkeit der Parameter pruefen
//Gueltigkeit der Parameter pruefen
if(!isset($_GET['uebung_id']) || !is_numeric($_GET['uebung_id']))
{
die('Fehler bei der Parameteruebergabe');
@@ -62,24 +62,30 @@ if(mb_strstr($downloadname,'..'))
//Pfade bauen
$pfad = BENOTUNGSTOOL_PATH.'abgabe/';
$filename = 'download_'.$user.'_'.$downloadname.'.zip';
$filename_tmp = 'download_'.$user.'_'.$uebung_id.'.zip';
if(!check_filename($filename))
if(!check_filename($filename) || !check_filename($filename_tmp))
die('Ungueltiger Parameter gefunden');
//Pfad wechseln
chdir($pfad);
if(chdir($pfad))
{
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//File loeschen falls es existiert
//if(file_exists("download_".$user."*"))
exec('rm download_'.$user.'*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Zip File erstellen
exec("zip -r ".escapeshellarg($filename_tmp).' *_[WS]S[0-9][0-9][0-9][0-9]_'.$uebung_id.'_*');
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename);
unlink($filename);
//Auf Zip File Verweisen
//header("Location: $pfad$filename");
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$filename.'"');
readfile($filename_tmp);
unlink($filename_tmp);
}
else
{
die('Path change failed');
}
?>
+2 -1
View File
@@ -64,7 +64,8 @@ $lv_obj->load($lvid);
$lv=$lv_obj;
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
// Uses urlencode to avoid XSS issues
$studiensemester_kurzbz = urlencode($_GET['studiensemester_kurzbz']);
else
$studiensemester_kurzbz='';
@@ -1485,6 +1485,7 @@ function loadPruefungsDetails(prfId)
$("#termin"+j+"sammelklausur").text("false");
}
$("#termin"+j+"Id").closest("tr").append("<td><a href='#' onclick='terminLoeschen(\""+d.pruefung.pruefung_id+"\", \""+t.pruefungstermin_id+"\");'><?php echo $p->t('global/löschen'); ?></a></td>");
$("#termin"+j+"Id").closest("tr").append("<td><a href='#' onclick='window.open(\"pruefungstermin_aendern.php?termin_id="+t.pruefungstermin_id+"\",\"edit\",\"height=600,width=500,toolbar=no,titlebar=no,status=no,menubar=no\");'><?php echo $p->t('global/editieren'); ?></a></td>");
terminHinzufuegen("span");
}
});
@@ -67,20 +67,19 @@ switch($method)
$data = loadTermine();
break;
case 'saveAnmeldung':
$student_uid = filter_input(INPUT_POST,"uid");
if($student_uid !== "" && !is_null($student_uid))
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
$student_uid = filter_input(INPUT_POST,"uid");
if($student_uid !== "" && !is_null($student_uid))
{
$uid = $student_uid;
}
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
$data = saveAnmeldung($aktStudiensemester, $uid);
break;
case 'getAllPruefungen':
@@ -142,60 +141,60 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
$lvIds = array();
foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs)
{
array_push($lvIds, $lvs->lehrveranstaltung_id);
array_push($lvIds, $lvs->lehrveranstaltung_id);
}
$lehrveranstaltungen=$lvIds;
$pruefung = new pruefungCis();
if($pruefung->getPruefungByLv($lehrveranstaltungen))
{
$pruefungen = array();
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
{
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
$lehreinheit = new lehreinheit();
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
$lehreinheiten = $lehreinheit->lehreinheiten;
$prf = new stdClass();
$temp = new pruefungCis($lv->pruefung_id);
$temp->getTermineByPruefung($lv->pruefung_id);
for($i=0; $i < sizeof($temp->termine); $i++)
{
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
}
$prf->pruefung = $temp;
$prf->lehrveranstaltung = $lehrveranstaltung;
if(!empty($lehreinheiten))
{
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
$prf->organisationseinheit = $oe->bezeichnung;
array_push($pruefungen, $prf);
}
}
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
$anmeldungsIds = array();
foreach($anmeldungen as $anm)
{
$a = new stdClass();
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
$a->pruefungstermin_id = $anm->pruefungstermin_id;
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
array_push($anmeldungsIds, $a);
}
$return = new stdClass();
$return->pruefungen = $pruefungen;
$return->anmeldungen = $anmeldungsIds;
$data['result']=$return;
$data['error']='false';
$data['errormsg']='';
$pruefungen = array();
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
{
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
$lehreinheit = new lehreinheit();
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
$lehreinheiten = $lehreinheit->lehreinheiten;
$prf = new stdClass();
$temp = new pruefungCis($lv->pruefung_id);
$temp->getTermineByPruefung($lv->pruefung_id);
for($i=0; $i < sizeof($temp->termine); $i++)
{
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
}
$prf->pruefung = $temp;
$prf->lehrveranstaltung = $lehrveranstaltung;
if(!empty($lehreinheiten))
{
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
$prf->organisationseinheit = $oe->bezeichnung;
array_push($pruefungen, $prf);
}
}
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
$anmeldungsIds = array();
foreach($anmeldungen as $anm)
{
$a = new stdClass();
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
$a->pruefungstermin_id = $anm->pruefungstermin_id;
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
array_push($anmeldungsIds, $a);
}
$return = new stdClass();
$return->pruefungen = $pruefungen;
$return->anmeldungen = $anmeldungsIds;
$data['result']=$return;
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
$data['error']='true';
$data['errormsg']=$pruefung->errormsg;
}
return $data;
}
@@ -387,49 +386,52 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$addon = new addon();
foreach ($addon->aktive_addons as $a)
{
if($a === "ku")
{
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
$semCounter = $fakultaeten[0]["sem"];
break;
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
$semCounter = 2;
break;
}
}
else
{
$semCounter = 99;
}
if($a === "ku")
{
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz)
{
case $fakultaeten[0]["fakultaet"]:
$semCounter = $fakultaeten[0]["sem"];
break;
case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"];
break;
default:
$semCounter = 2;
break;
}
}
else
{
$semCounter = 99;
}
}
$i=0;
$stdsem_lv_besuch = null;
do
{
$lehrveranstaltung->load_lva_student($uid, $stdsem);
foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
{
if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id)
{
$lv_besucht = true;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$lehrveranstaltung->lehrveranstaltungen = array();
$i++;
$lehrveranstaltung->load_lva_student($uid, $stdsem);
foreach($lehrveranstaltung->lehrveranstaltungen as $lv)
{
if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id)
{
$lv_besucht = true;
$stdsem_lv_besuch = $stdsem;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$lehrveranstaltung->lehrveranstaltungen = array();
$i++;
}
while($i<=$semCounter && $lv_besucht === FALSE);
if(!$lv_besucht)
{
$data['error']='true';
$data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.';
return $data;
$data['error']='true';
$data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.';
return $data;
}
$pruefung->getPruefungen($uid, NULL, $lehrveranstaltung->lehrveranstaltung_id);
@@ -439,107 +441,144 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray))
{
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
}
}
else
{
$pruefungstyp_kurzbz = null;
$pruefungstyp_kurzbz = null;
}
foreach($pruefung->result as $prf)
{
$note = new note($prf->note);
if($note->note === $noteCode_uef)
{
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
$note = new note($prf->note);
if($note->note === $noteCode_uef)
{
$anmeldung_moeglich = false;
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
{
$anmeldung_moeglich = false;
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
}
}
if($anmeldung_moeglich)
{
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
{
if($creditpoints < $lehrveranstaltung->ects)
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
//Kollisionsprüfung
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
foreach($anmeldungen as $temp)
{
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
// $konto = new konto();
// $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
//
// if($creditpoints !== false)
// {
// if($creditpoints <= $lehrveranstaltung->ects)
// {
// $data['error'] = 'true';
// $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
// return $data;
// }
// }
//Kollisionsprüfung und Prüfung auf ausreichen Creditpoints
$pruefungstermin = new pruefungstermin($_REQUEST["termin_id"]);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz);
if($anmeldungen !== false)
{
$ects_verwendet = 0;
foreach($anmeldungen as $temp)
{
$lehrveranstaltung = new lehrveranstaltung($temp->lehrveranstaltung_id);
$ects_verwendet += $lehrveranstaltung->ects;
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
}
}
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false))
{
$cpVerbleibend = $creditPoints - $ects_verwendet;
if(($lehrveranstaltung->ects > $cpVerbleibend))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
else
{
$data['error'] = 'true';
$data['errormsg'] = 'Fehler beim Laden der Credit Points.';
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error'] = 'true';
$data['errormsg'] = $anmeldung->errormsg;
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data;
$data['error']='true';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data;
}
$anrechnung = new anrechnung();
@@ -555,95 +594,115 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
if(count($prestudent->result) > 0)
{
$prestudent_id = "";
foreach($prestudent->result as $ps)
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if(($ps->status_kurzbz == "Student"))
$prestudent_id = "";
foreach($prestudent->result as $ps)
{
$prestudent_id = $ps->prestudent_id;
if($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
else
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
{
if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
{
$prestudent_id = $ps->prestudent_id;
}
}
}
}
}
}
if($prestudent_id != "")
{
$anrechungSaveResult = false;
if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
{
if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id))
{
$anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id;
$anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id;
$anrechnung->prestudent_id = $prestudent_id;
$anrechnung->begruendung_id = "2";
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
$anrechnung->new = true;
$anrechungSaveResult = $anrechnung->save();
}
else
{
$anrechungSaveResult = true;
}
}
else
{
$anrechungSaveResult = true;
}
if($prestudent_id != "")
{
$anrechungSaveResult = false;
if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
{
if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id))
{
$anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id;
$anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id;
$anrechnung->prestudent_id = $prestudent_id;
$anrechnung->begruendung_id = "2";
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
$anrechnung->new = true;
$anrechungSaveResult = $anrechnung->save();
}
else
{
$anrechungSaveResult = true;
}
}
else
{
$anrechungSaveResult = true;
}
if($anrechungSaveResult)
{
if($anrechnung->anrechnung_id == "")
$anmeldung->anrechnung_id = null;
else
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
if($anrechungSaveResult)
{
if($anrechnung->anrechnung_id == "")
$anmeldung->anrechnung_id = null;
else
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
else
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
$mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
else
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
$from = "noreply@".DOMAIN;
$subject = $p->t('pruefung/emailLektorSubjectAnmeldung');
$mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht'));
$student = new student($uid);
$datum = new datum();
$student = new student($uid);
$datum = new datum();
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
$html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "m.d.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"h:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"h:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet');
$mail->setHTMLContent($html);
$mail->send();
$html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"H:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"H:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet');
$mail->setHTMLContent($html);
$mail->send();
$data['result'] = $p->t('pruefung/anmeldungErfolgreich');
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$anmeldung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']=$anrechnung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
}
$data['result'] = $p->t('pruefung/anmeldungErfolgreich');
$data['error']='false';
$data['errormsg']='';
}
else
{
$data['error']='true';
$data['errormsg']=$anmeldung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']=$anrechnung->errormsg;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
$data['error']='true';
$data['errormsg']=$p->t('pruefung/prestudentNichtGefunden');
}
return $data;
}
@@ -839,15 +898,15 @@ function anmeldungBestaetigen($uid)
$html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."<br>";
if($pruefung->einzeln)
{
$date = $datum->formatDatum($termin->von, "Y-m-d h:i:s");
$date = $datum->formatDatum($termin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1));
$von = date("h:i",$date);
$von = date("H:i",$date);
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."<br>";
$html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."</br>";
}
else
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "h:i")."<br>";
$html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "H:i")."<br>";
$html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."<br>";
$html .= "<br>";
$html .= "<a href='".APP_ROOT."cis/private/lehre/pruefung/pruefungsanmeldung.php'>".$p->t('pruefung/emailBodyLinkZurAnmeldung')."</a><br>";
@@ -227,7 +227,7 @@ $rechte->getBerechtigungen($uid);
<th>#</th>
<th><?php echo $p->t('global/vorname'); ?></th>
<th><?php echo $p->t('global/nachname'); ?></th>
<th><?php echo $p->t('global/matrikelnummer'); ?></th>
<th><?php echo $p->t('pruefung/matrikelnummer'); ?></th>
<th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('benotungstool/note'); ?></th>
<th><?php echo $p->t('global/anmerkung'); ?></th>
@@ -247,7 +247,7 @@ $rechte->getBerechtigungen($uid);
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefungsintervall*($count));
$date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("h:i",$date);
$date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("H:i",$date);
$count++;
}
else
+222
View File
@@ -0,0 +1,222 @@
<!DOCTYPE html>
<?php
/*
* Copyright 2014 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
* Authors: Gerald Raab <raab@technikum-wien.at>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
require_once('../../../../include/mail.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$maildebug = '';
$uid = get_uid();
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$lehrveranstaltung = new lehrveranstaltung();
$lehrveranstaltung->loadLVAfromMitarbeiter(0, $uid, $studiensemester->getaktorNext());
if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
if (!ctype_digit($_GET['termin_id']))
die('Wrong Parameter');
else
$termin_id = $_GET['termin_id'];
if (isset($_GET["speichern"]))
{
$prfgtermin = new pruefungstermin($termin_id);
$von = $_GET["datum"]." ".$_GET["vonzeit"];
$bis = $_GET["datum"]." ".$_GET["biszeit"];
$prfgtermin->von = $von;
$prfgtermin->bis = $bis;
$prfgtermin->save();
}
if (isset($_GET["sendmail"]))
{
$prfgtermin = new pruefungstermin($termin_id);
$datum = explode(" ", $prfgtermin->von)[0];
$vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5);
$biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5);
$pruefung_id = $prfgtermin->pruefung_id;
$pruefung = new pruefungCis($pruefung_id);
$pruefung->getLehrveranstaltungenByPruefung();
$lvstr = "";
foreach ($pruefung->lehrveranstaltungen as $lv)
{
$lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lvstr .= "*".$lv_objekt->bezeichnung."* ";
}
$maildebug = 'Mail sent to:<br>';
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id);
foreach ($anmeldungen as $row)
{
$uid = $row->uid;
$to = $uid.'@'.DOMAIN;
$from = 'no-reply@'.DOMAIN;
$subject = $p->t('pruefung/emailVerschiebungSubject');
$text = $p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit));
$msg = new mail($to, $from, $subject, $text);
if ($msg->send())
$maildebug .= $to." OK<br>";
else
$maildebug .= $to.' Error<br>';
}
}
$prfgtermin = new pruefungstermin($termin_id);
$datum = explode(" ", $prfgtermin->von)[0];
$vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5);
$biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5);
$pruefung_id = $prfgtermin->pruefung_id;
$pruefung = new pruefungCis($pruefung_id);
$pruefung->getLehrveranstaltungenByPruefung();
$lvstr = "";
foreach ($pruefung->lehrveranstaltungen as $lv)
{
$lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lvstr .= "*".$lv_objekt->bezeichnung."* ";
}
$uids = '';
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id);
foreach ($anmeldungen as $row)
{
$uids .= $row->uid.'@'.DOMAIN.'<br>';
}
?>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
<link rel="stylesheet" href="../../../../skin/tablesort.css">
<style type="text/css">
#message {
position: fixed;
top: 0px;
right: 0px;
width: 50%;
height: 2em;
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
#prfDetails, #prfVerwaltung {
margin: 1em;
}
</style>
</head>
<body style="padding-top:20px">
<center>
<form name="change_termin" action="./pruefungstermin_aendern.php" method="GET">
<table>
<tr>
<td><?php echo $p->t('global/lehrveranstaltung'); ?></td>
<td><b><?php echo $lvstr; ?></b></td>
</tr>
<tr>
<td><?php echo $p->t('global/datum'); ?></td>
<td><input type="text" name="datum" value="<?php echo $datum ?>" maxlength="10"></td>
</tr>
<tr>
<td><?php echo $p->t('global/von'); ?></td>
<td><input type="text" name="vonzeit" value="<?php echo $vonzeit ?>" maxlength="5"></td>
</tr>
<tr>
<td><?php echo $p->t('global/bis'); ?></td>
<td><input type="text" name="biszeit" value="<?php echo $biszeit ?>" maxlength="5"></td>
</tr>
<tr>
<td></td>
<td>
<input type="hidden" name="termin_id" value="<?php echo $termin_id ?>">
<input type="submit" name="speichern" value="<?php echo $p->t('global/speichern'); ?>">
</td>
</tr>
<tr>
<td><?php echo $p->t('pruefung/pruefungsbewertungAnmeldungen'); ?>:</td>
<td><?php echo $uids; ?></td>
</tr>
<tr>
<td colspan="2">
<br>***<br>
<?php echo nl2br($p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit))); ?>
<br>***<br>
</td>
</tr>
<tr>
<td></td>
<td><a href="pruefungstermin_aendern.php?sendmail=yes&termin_id=<?php echo $termin_id; ?>"><input type="button" name="Sendmail" value="Send Infomail"></a></td>
</tr>
<tr><td colspan="2"><?php echo $maildebug; ?></td></tr>
</table>
</form>
</center>
</body>
</html>
+3 -2
View File
@@ -55,10 +55,11 @@ if (isset($_GET['datum']))
if (isset($_POST['datum']))
$datum=$_POST['datum'];
// Uses urlencode to avoid XSS issues
if (isset($_GET['ort_kurzbz']))
$ort_kurzbz=$_GET['ort_kurzbz'];
$ort_kurzbz = urlencode($_GET['ort_kurzbz']);
else if (isset($_POST['ort_kurzbz']))
$ort_kurzbz=$_POST['ort_kurzbz'];
$ort_kurzbz = urlencode($_POST['ort_kurzbz']);
else
$ort_kurzbz=null;
+1 -1
View File
@@ -152,7 +152,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$konto->load($bnr);
if($konto->person_id!=$user_obj->person_id)
die('Sie haben keine Berechtigung fuer diese Buchung');
if($konto->getDifferenz($bnr)!=0)
if($konto->getDifferenz($bnr)>0)
die('Diese Zahlung wurde noch nicht beglichen');
}
}
+49 -47
View File
@@ -40,7 +40,7 @@ require_once('../../../include/addon.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$adress=MAIL_ADMIN;
$user=get_uid();
@@ -50,12 +50,12 @@ require_once('../../../include/addon.class.php');
$uid=$_GET['uid'];
else
$uid = $user;
if (isset($_GET['stdsem']))
$stdsem=$_GET['stdsem'];
else
$stdsem=$studiensemester->getaktorNext();
$datum = new datum();
$addon = new addon();
@@ -86,8 +86,8 @@ require_once('../../../include/addon.class.php');
*/
//Lehrveranstaltungen abfragen.
$sql_query="
SELECT
*, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz,
SELECT
*, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz,
tbl_lehrveranstaltung.semester as lv_semester,
lehrfach.kurzbz as lehrfach,
lehrfach.bezeichnung as lehrfach_bez,
@@ -97,8 +97,8 @@ require_once('../../../include/addon.class.php');
tbl_lehreinheit.lehrform_kurzbz as le_lehrform_kurzbz,
(SELECT kurzbz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) as lektor,
tbl_lehrveranstaltung.lehrveranstaltung_id
FROM
lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
FROM
lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
@@ -122,23 +122,23 @@ require_once('../../../include/addon.class.php');
{
alert("'.$p->t('lvaliste/hilfeText').'");
}
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[4,0],[5,0],[2,0]],
sortList: [[5,0],[6,0],[3,0]],
widgets: ["zebra"]
});
});
$("#t2").tablesorter(
{
sortList: [[0,0],[1,0],[3,0]],
widgets: ["zebra"]
});
});
$("#t3").tablesorter(
{
sortList: [[0,0],[1,0],[3,0]],
widgets: ["zebra"]
});
});
});
-->
</script>
@@ -159,7 +159,7 @@ require_once('../../../include/addon.class.php');
echo '</td></tr></table><br>';
if ($num_rows>0)
{
echo '<h3>'.$p->t('lvaliste/lehrveranstaltungen').'</h3>';
echo $p->t('lvaliste/anzahl').': '.$num_rows;
echo '
@@ -174,9 +174,10 @@ require_once('../../../include/addon.class.php');
echo '<th>'.$p->t('lvaliste/lvinfo').'</th>';
echo '
<th>'.$p->t('lvaliste/id').'</th>
<th>'.$p->t('lvaliste/lehrfach').'</th>
<th>'.$p->t('lvaliste/lehrform').'</th>
<th>'.$p->t('lvaliste/lvBezeichnung').'</th>
<th>'.$p->t('lvaliste/lvBezeichnung').'</th>
<th>'.$p->t('lvaliste/lektor').'</th>
<th>'.$p->t('lvaliste/studiengang').'</th>
<th>'.$p->t('lvaliste/semester').'</th>
@@ -196,7 +197,7 @@ require_once('../../../include/addon.class.php');
$stg_obj = new studiengang();
$stg_obj->getAll(null,null);
$summe_std=0;
for ($i=0; $i<$num_rows; $i++)
{
$row=$db->db_fetch_object($result);
@@ -208,16 +209,17 @@ require_once('../../../include/addon.class.php');
if($lvinfo)
echo '<td><a href="../../../addons/lvinfo/cis/lvinfo.php?lv_id='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stdsem.'" target="_blank">'.$p->t('lvaliste/lvinfo').'</a></td>';
echo '<td>'.$row->lehreinheit_id.'</td>';
echo '<td>'.$row->lehrfach.'</td>';
echo '<td>'.$row->le_lehrform_kurzbz.'</td>';
if ($row->lehrfach_bez!=$row->lv_bezeichnung)
echo '<td>'.$row->le_lehrform_kurzbz.'</td>';
if ($row->lehrfach_bez!=$row->lv_bezeichnung)
echo '<td>'.$row->lv_bezeichnung.' ('.$p->t('lvaliste/lehrfach').': '.$row->lehrfach_bez.')</td>';
else
else
echo '<td>'.$row->lv_bezeichnung.'</td>';
echo '<td>'.$row->lektor.'</td>';
echo '<td><a href="mailto:'.$row->email.'">'.$row->stg_kurzbz.'</a></td>';
echo '<td>'.$row->semester.'</td>';
$qry ="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='".addslashes($row->lehreinheit_id)."'";
$gruppe='';
if($result_grp = $db->db_query($qry))
@@ -226,7 +228,7 @@ require_once('../../../include/addon.class.php');
{
if($row_grp->gruppe_kurzbz!='')
$gruppe.= $row_grp->gruppe_kurzbz.'<br>';
else
else
$gruppe.= $stg_obj->kuerzel_arr[$row->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe.'<br>';
}
}
@@ -237,7 +239,7 @@ require_once('../../../include/addon.class.php');
echo '<td>'.$row->wochenrythmus.'</td>';
echo '<td>'.$row->semesterstunden.'</td>';
echo '<td>'.$row->start_kw.'</td>';
$lvangebot->getAllFromLvId($row->lehrveranstaltung_id, $row->studiensemester_kurzbz);
if(!empty($lvangebot->result))
{
@@ -282,18 +284,18 @@ require_once('../../../include/addon.class.php');
}
else
echo $p->t('lvaliste/keineDatensaetze').'<BR>';
//Betreuungen
$mitarbeiter = new benutzer();
$mitarbeiter->load($uid);
$qry = "SELECT
tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel,
(SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id)
$qry = "SELECT
tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel,
(SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id)
WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
tbl_studiengang.email
FROM
FROM
lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang
WHERE
tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND
@@ -302,10 +304,10 @@ require_once('../../../include/addon.class.php');
tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND
tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER);
$stg_obj = new studiengang();
$stg_obj->getAll(null,null);
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
@@ -322,29 +324,29 @@ require_once('../../../include/addon.class.php');
echo '</tr></thead><tbody>';
while($row = $db->db_fetch_object($result))
{
echo '<tr>';
echo '<tr>';
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
echo '<td>'.$row->semester.'</td>';
echo '<td>'.$row->bezeichnung.'</td>';
echo '<td>'.$row->student.'</td>';
echo '<td>'.$row->titel.'</td>';
echo '</tr>';
}
echo '</tbody></table>';
}
}
//Koordination
$qry = "SELECT
$qry = "SELECT
distinct
tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.semester,tbl_lehrveranstaltung.koordinator,
tbl_studiengang.email
FROM
lehre.tbl_lehrveranstaltung,
FROM
lehre.tbl_lehrveranstaltung,
lehre.tbl_lehreinheit,
lehre.tbl_lehrveranstaltung as lehrfach,
public.tbl_studiengang,
@@ -355,18 +357,18 @@ require_once('../../../include/addon.class.php');
tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND
(tbl_lehrveranstaltung.koordinator=".$db->db_add_param($uid)."
OR
( tbl_lehrveranstaltung.koordinator is null and (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz
OR
( tbl_lehrveranstaltung.koordinator is null and (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz
FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz)
WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)."
WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)."
and ( tbl_benutzerfunktion.datum_bis is null or now() between tbl_benutzerfunktion.datum_von and tbl_benutzerfunktion.datum_bis )
))
) AND
tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz
order by tbl_lehrveranstaltung.studiengang_kz,tbl_lehrveranstaltung.semester ,tbl_lehrveranstaltung.bezeichnung
";
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
@@ -386,12 +388,12 @@ require_once('../../../include/addon.class.php');
//Fachbereichskoordinatoren holen
$qry = "SELECT distinct
uid,titelpre, titelpost, vorname, nachname
FROM
FROM
lehre.tbl_lehreinheitmitarbeiter,
public.tbl_benutzer,
public.tbl_person,
lehre.tbl_lehreinheit
WHERE
WHERE
tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id, FHC_INTEGER)." AND
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND
@@ -407,7 +409,7 @@ require_once('../../../include/addon.class.php');
$lektoren.=trim($row_lkt->titelpre.' '.$row_lkt->vorname.' '.$row_lkt->nachname.' '.$row_lkt->titelpost);
}
}
echo '<tr>';
echo '<td><a href="mailto:'.$row->email.'">'.$stg_obj->kuerzel_arr[$row->studiengang_kz].'</a></td>';
echo '<td>'.$row->semester.'</td>';
+160 -123
View File
@@ -19,6 +19,7 @@
*
*
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
* Stefan Puraner <stefan.puraner@technikum-wien.at>
*
* Zeigt den Studienplan eines Studierenden an
* und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen.
@@ -101,14 +102,7 @@ if(isset($_GET['getAnmeldung']))
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{
// User ist noch nicht angemeldet
//Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
if($cp===false || $cp>=$lv->ects)
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
else
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span style="color:gray;">'.$lv->bezeichnung.'</span><img src="../../../skin/images/information.png" title="'.$p->t('studienplan/zuWenigCP').'" />';
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
}
else
{
@@ -200,25 +194,16 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{
// Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
if($cp===false || $cp>=$lv->ects)
$bngruppe->uid = $uid;
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
$bngruppe->studiensemester_kurzbz = $stsem;
$bngruppe->new=true;
if($bngruppe->save())
{
$bngruppe->uid = $uid;
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
$bngruppe->studiensemester_kurzbz = $stsem;
$bngruppe->new=true;
if($bngruppe->save())
{
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
echo '<script>window.parent.menu.location.reload();</script>';
}
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
echo '<script>window.parent.menu.location.reload();</script>';
}
else
echo '<span class="error">'.$p->t('studienplan/zuWenigCP').'</span>';
}
else
{
@@ -306,9 +291,9 @@ if($zeugnisnote->getZeugnisnoten('',$uid,''))
foreach($zeugnisnote->result as $row_note)
{
if($row_note->note!='')
{
{
$noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
}
}
}
}
@@ -366,7 +351,7 @@ drawTree($tree,0);
function drawTree($tree, $depth)
{
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr;
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext;
global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student;
foreach($tree as $row_tree)
@@ -411,7 +396,8 @@ function drawTree($tree, $depth)
$abgeschlossen=false;
$lvregel = new lvregel();
if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id))
$lvregelExists = $lvregel->exists($row_tree->studienplan_lehrveranstaltung_id);
if($lvregelExists)
{
if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id))
$abgeschlossen=true;
@@ -451,7 +437,7 @@ function drawTree($tree, $depth)
$lv_kompatibel = new lehrveranstaltung();
$kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
if(isset($noten_arr[$row_tree->lehrveranstaltung_id]))
{
// Positive Note fuer diese LV vorhanden?
@@ -461,78 +447,54 @@ function drawTree($tree, $depth)
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
if($positiv)
if(!$positiv)
{
//echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
if(count($kompatibleLVs) > 0)
{
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, true);
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif($lvregelExists)
{
if($abgeschlossen || $positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
elseif($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
//check if compatible course has grade
elseif(count($kompatibleLVs) > 0)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
else
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
elseif(!$found)
{
if($abgeschlossen)
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>';
elseif(!$row_tree->stpllv_pflicht)
echo '<span>'.$p->t('studienplan/optional').'</span>';
else
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid);
}
else
{
if($abgeschlossen)
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>';
elseif(!$row_tree->stpllv_pflicht)
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
echo '</td>';
@@ -551,6 +513,7 @@ function drawTree($tree, $depth)
// }
$tdinhalt='';
$found = false;
// Ist bereits eine Note für diese LV in diesem Stsem vorhanden?
if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem]))
@@ -559,40 +522,37 @@ function drawTree($tree, $depth)
$tdinhalt .= '<span class="ok">'.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'</span>';
else
$tdinhalt .= '<span class="error">'.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.'</span>';
$found=true;
}
elseif(count($kompatibleLVs) > 0)
{
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv][$stsem]))
{
$found = true;
if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv)
$tdinhalt .= '<span class="ok">'.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'</span>';
else
$tdinhalt .= '<span class="error">'.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'</span>';
}
}
$i++;
}
if(!$found)
{
$tdinhalt.= '-';
}
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv][$stsem]))
{
$found = true;
if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv)
$tdinhalt .= '<span class="ok">'.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'</span>';
else
$tdinhalt .= '<span class="error">'.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.'</span>';
}
}
$i++;
}
}
}
else
if(!$found)
{
// Angebot der LV und der Kompatiblen pruefen
$anmeldungmoeglich=false;
@@ -612,12 +572,16 @@ function drawTree($tree, $depth)
}
else
{
if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
//check if rules are fulfilled just for actual or next studiensemester
if($stsem === $aktornext)
{
$regelerfuellt=false;
if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem) !== true)
{
$regelerfuellt=false;
}
}
}
foreach($lvkompatibel_arr as $row_lvid)
{
// Angebot der LV pruefen
@@ -671,7 +635,7 @@ function drawTree($tree, $depth)
$tdinhalt.= '<span title="'.$anmeldeinformation.'">-</a>';
if(!$regelerfuellt)
$tdinhalt.= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
$tdinhalt= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
}
}
else
@@ -693,6 +657,79 @@ function drawTree($tree, $depth)
drawTree($row_tree->childs, $depth+1);
}
}
function checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, $negativeNote= null)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
if(($negativeNote!= null) && ($negativeNote == true))
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
}
echo '</table>';
echo '<br><br>'.$p->t('studienplan/legende').':<br>
<table>
+1 -1
View File
@@ -157,7 +157,7 @@
echo '<td '.$style.'>'.$row['parent']->buchungstext.'</td>';
echo '<td align="right" '.$style.'>'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €</td>';
echo '<td align="center" '.$style.'>';
if($betrag==0 && $row['parent']->betrag<=0)
if($betrag>=0 && $row['parent']->betrag<=0)
echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$buchungsnummern.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>';
elseif($row['parent']->betrag>0)
{
+34 -2
View File
@@ -99,6 +99,25 @@ if(isset($_POST['ampel_id']))
else
$ampel_id = '';
if (isset($_GET['ampel_benutzer_bestaetigt_id']) && isset($_GET['delete']))
{
if ($rechte->isBerechtigt('admin', null, 'suid'))
{
$delete_bestaetigung = new ampel();
if($delete_bestaetigung->deleteAmpelBenutzer($_GET['ampel_benutzer_bestaetigt_id']))
{
echo '<span class="ok">Ampelbestaetigung erfolgreich geloescht</span>';
}
else
{
$action='new';
echo '<span class="error">'.$delete_bestaetigung->errormsg.'</span>';
}
}
}
echo '<p><a href="ampelverwaltung.php">'.($p->t('tools/ampelsystem')).'</a></p>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
echo $p->t('global/organisationseinheit').': <SELECT name="oe_kurzbz">';
echo '<OPTION value="">'.$p->t('global/alle').'</OPTION>';
@@ -161,8 +180,10 @@ echo '
<th>'.$p->t('global/organisationseinheit').'</th>
<th>'.$p->t('tools/ampelBestaetigtAm').'</th>
<th>'.$p->t('tools/ampelDeadline').'</th>
<th>'.$p->t('tools/ampelRestdauer').'</th>
</tr>
<th>'.$p->t('tools/ampelRestdauer').'</th>';
if ($rechte->isBerechtigt('admin', null, 'suid'))
echo '<th>'.$p->t('global/loeschen').'</th>';
echo ' </tr>
</thead>
<tbody>
';
@@ -228,6 +249,17 @@ foreach($ampel->result as $row)
echo '<td></td>';
else
echo '<td>'.(($ts_deadline-$ts_now)/86400).'</td>';
if ($rechte->isBerechtigt('admin', null, 'suid'))
{
if($bestaetigt)
echo '<form action="'.$_SERVER['PHP_SELF'].'?ampel_benutzer_bestaetigt_id='.$row->ampel_benutzer_bestaetigt_id.'&delete" method="POST"><td>
<input type="hidden" name="oe_kurzbz" value="'.$_POST['oe_kurzbz'].'">
<input type="hidden" name="ampel_id" value="'.$_POST['ampel_id'].'">
<button type="submit">'.$p->t('global/loeschen').'</button></td></form>';
else
echo '<td></td>';
}
echo '</tr>';
}
echo '</tbody></table>';
+121 -54
View File
@@ -25,11 +25,14 @@ require_once('../../../include/phrasen.class.php');
require_once('../../../include/benutzerfunktion.class.php');
require_once('../../../include/organisationseinheit.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/studiensemester.class.php');
$user = get_uid();
$sprache = getSprache();
$p = new phrasen($sprache);
$show = (isset($_GET['show'])?$_GET['show']:'aktuell');
//Leiter OEs holen
$benutzerfunktion = new benutzerfunktion();
$benutzerfunktion->getBenutzerFunktionen('Leitung', '', '', $user);
@@ -54,6 +57,8 @@ if($rechte->isBerechtigt('basis/ampeluebersicht'))
array_unique($oes);
$studiensemester = new studiensemester();
$ss_akt = $studiensemester->getakt();
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
@@ -73,7 +78,8 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
$("#myTable").tablesorter(
{
sortList: [[0,1],[3,0]],
widgets: [\'zebra\']
widgets: [\'zebra\'],
headers: {1:{sorter:false}}
});
});
</script>
@@ -86,6 +92,10 @@ if(count($oes)!=0)
echo '<p>'.$p->t('tools/dasAmpelsystemIstEinErinnerungsystem').'</p>';
if ($show == 'aktuell')
echo '<p><a href="ampelverwaltung.php?show=alle">'.$p->t('tools/ampelAlleAnzeigen').'</a></p>';
else
echo '<p><a href="ampelverwaltung.php?show=aktuell">'.$p->t('tools/ampelNurAktuellesStudiensemester').'</a></p>';
$datum_obj = new datum();
@@ -126,78 +136,135 @@ if($type=='bestaetigen' && is_numeric($ampel_id))
echo $message;
$ampel = new ampel();
$ampel->loadUserAmpel($user, true, true);
$ampel->loadUserAmpel($user, false, true);
echo '
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th></th>
<th>'.$p->t('tools/ampelErledigt').'</th>
<th></th>
<th>'.$p->t('tools/ampelBeschreibung').'</th>
<th>'.$p->t('tools/ampelDeadline').'</th>
</tr>
</thead>
<tbody>
';
$beginn = new studiensemester($ss_akt);
foreach($ampel->result as $row)
{
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
$vlz = "-".$row->vorlaufzeit." day";
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
$ampelstatus='gelb';
elseif($ts_now>$ts_deadline)
$ampelstatus='rot';
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
$ampelstatus='gruen';
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
$ampelstatus='';
echo '<tr>';
echo '<td align="center">';
switch($ampelstatus)
//Nur Ampeln laden, die im aktuellen Studiensemester liegen
if ($show == 'aktuell' && $row->deadline>=$beginn->start)
{
case 'rot':
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
break;
case 'gelb':
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
break;
case 'gruen':
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
default:
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
$vlz = "-".$row->vorlaufzeit." day";
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
$ampelstatus='gelb';
elseif($ts_now>$ts_deadline)
$ampelstatus='rot';
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
$ampelstatus='gruen';
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
$ampelstatus='';
echo '<tr>';
echo '<td style="text-align: center; vertical-align: middle">';
switch($ampelstatus)
{
case 'rot':
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
break;
case 'gelb':
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
break;
case 'gruen':
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
default:
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
}
echo $status;
echo '<td align="center">';
if(!$bestaetigt)
echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen"><button name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button></form>';
else
echo '<button disabled="disabled" name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button>';
echo '</td>';
echo '</td>';
$beschreibung = $row->beschreibung[$sprache];
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
echo '<td '.(!$bestaetigt && $row->verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.'</td>';
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
echo '</tr>';
}
echo $status;
elseif ($show == 'alle')
{
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
$vlz = "-".$row->vorlaufzeit." day";
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
echo '<td align="center">';
if(!$bestaetigt)
//echo '<a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen">'.$p->t('tools/ampelBestaetigen').'</a>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen" style="text-decoration: none"><input type="button" value="'.$p->t('tools/ampelErledigt').'"></a>';
else
//echo $p->t('tools/ampelBestaetigt');
//echo '<img src="../../../skin/images/true.png" height="15px">';
echo '';
echo '</td>';
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
$ampelstatus='gelb';
elseif($ts_now>$ts_deadline)
$ampelstatus='rot';
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
$ampelstatus='gruen';
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
$ampelstatus='';
echo '<tr>';
echo '<td style="text-align: center; vertical-align: middle">';
switch($ampelstatus)
{
case 'rot':
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
break;
case 'gelb':
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
break;
case 'gruen':
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
default:
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
break;
}
echo $status;
echo '<td align="center">';
if(!$bestaetigt)
echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen"><button name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button></form>';
else
echo '<button disabled="disabled" name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button>';
echo '</td>';
echo '</td>';
$beschreibung = $row->beschreibung[$sprache];
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
echo '<td '.(!$bestaetigt && $row->verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.'</td>';
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
echo '</td>';
$beschreibung = $row->beschreibung[$sprache];
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
echo '<td>'.$beschreibung.'</td>';
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
echo '</tr>';
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
echo '</tr>';
}
}
echo '</tbody></table>';
+72 -76
View File
@@ -22,7 +22,7 @@
*/
/*******************************************************************************************************
* projektabgabe
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* projektabgabe ermöglicht den Download aller Abgaben eines Stg.
* fuer Diplom- und Bachelorarbeiten
*******************************************************************************************************/
@@ -53,12 +53,12 @@ if(!is_numeric($stg_kz) && $stg_kz!='')
$abgabetyp=(isset($_REQUEST['abgabetyp'])?$_REQUEST['abgabetyp']:'');
$termin=(isset($_REQUEST['termin'])?$_REQUEST['termin']:'');
$htmlstr='';
$datum_obj = new datum();
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$rechte->getBerechtigungen($user);
$berechtigung_kurzbz = 'lehre/abgabetool:download';
if(isset($_GET['id']) && isset($_GET['uid']))
@@ -67,14 +67,14 @@ if(isset($_GET['id']) && isset($_GET['uid']))
{
if(!is_numeric($_GET['id']) || $_GET['id']=='')
die($p->t('global/fehlerBeiDerParameteruebergabe'));
$file = $_GET['id'].'_'.$_GET['uid'].'.pdf';
$filename = PAABGABE_PATH.$file;
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="'.$file.'"');
readfile($filename);
}
else
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -84,8 +84,7 @@ if(isset($_GET['id']) && isset($_GET['uid']))
if($aktion!='zip')
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
echo '<!DOCTYPE HTML>
<html>
<head>
<title>'.$p->t('abgabetool/projektabgabeUebersicht').'</title>
@@ -97,22 +96,22 @@ if($aktion!='zip')
<script src="../../../include/js/jquery.autocomplete.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.autocomplete.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[5,0]],
widgets: ["zebra"]
});
});
});
</script>
</head>
<body>
<H1>'.$p->t('abgabetool/projektabgabeUebersicht').'</H1>';
$s = new studiengang();
$s->loadArray($rechte->getStgKz($berechtigung_kurzbz),'typ,kurzbz');
echo'<form method="GET" action="'.$_SERVER['PHP_SELF'].'" name="abgabeFrm">';
echo $p->t('global/studiengang').": <SELECT onchange='set_termin();' id='stg_kz' name='stg_kz'>";
@@ -135,27 +134,24 @@ if($aktion!='zip')
}
}
echo "</SELECT>";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz='$stg_kz'";
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz='$abgabetyp'";
$qry_termin.=" ORDER BY termin desc";
$qry_termin=" SELECT distinct campus.tbl_paabgabe.datum as termin , to_char(campus.tbl_paabgabe.datum, 'DD-MM-YYYY') as termin_anzeige
FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
//AND public.tbl_benutzer.aktiv
if ($stg_kz!='')
$qry_termin.=" AND public.tbl_studiengang.studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
if ($abgabetyp!='')
$qry_termin.=" AND campus.tbl_paabgabe.paabgabetyp_kurzbz=".$db->db_add_param($abgabetyp);
$qry_termin.=" ORDER BY termin desc";
echo '&nbsp;'.$p->t('abgabetool/termin').'&nbsp;<select name="termin" id="termin">
<option value="" '. (!isset($_REQUEST['termin']) || empty($termin)?' selected ':'') .'>-'.$p->t('global/alle').'-</option> ';
if($result_termin=$db->db_query($qry_termin))
@@ -166,37 +162,37 @@ if($aktion!='zip')
}
}
echo '</select>';
?>
<script type="text/javascript">
function set_termin()
<script type="text/javascript">
function set_termin()
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
$('#termin').children().remove().end();
$.ajax
(
{
type: "POST",
url: 'projektabgabe_autocomplete.php',
dataType: 'json',
data: "work=work_termin_select" + "&stg_kz=" + $('#stg_kz').val() + "&abgabetyp=" + $('#abgabetyp').val(),
success: function(json)
{
var output = '';
for (p in json)
{
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
</script>
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
}
}
);
}
</script>
<?php
echo "&nbsp;<INPUT type='submit' name='ok' value='".$p->t('global/anzeigen')."' onclick=\"f=document.abgabeFrm;f.aktion.value='';\">&nbsp;<INPUT type='button' value='ZIP' onclick=\"f=document.abgabeFrm;f.aktion.value='zip';f.submit();\"></FORM><br>";
}
##if($stg_kz!='' || $abgabetyp!='' || $termin!='')
if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=='zip'))
@@ -207,20 +203,20 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
die($p->t('global/studiengangKonnteNichtGefundenWerden'));
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt($berechtigung_kurzbz, $s->oe_kurzbz))
{
$qry="";
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
$qry.=" SELECT public.tbl_studiengang.bezeichnung as stgbez, campus.tbl_paabgabe.datum as termin,* FROM lehre.tbl_projektarbeit
JOIN campus.tbl_paabgabe USING(projektarbeit_id)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_benutzer ON(uid=student_uid)
LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
";
if ($stg_kz!='')
@@ -233,7 +229,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
if($stg_kz=='' && $abgabetyp=='' && $termin=='')
{
$qry.=" limit 100 ";
$qry.=" limit 100 ";
}
if(!$erg=$db->db_query($qry))
@@ -261,7 +257,7 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$htmlstr .= " <td align=center><a href='".$_SERVER['PHP_SELF']."?id=".$row->paabgabe_id."&amp;uid=$row->uid' target='_blank'><img src='../../../skin/images/pdf.ico' alt='PDF' title='abgegebene Datei' border=0></a></td>";
}
else
else
{
$htmlstr .= " <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
}
@@ -279,16 +275,16 @@ if(isset($_REQUEST['ok']) || (isset($_REQUEST['aktion']) && $_REQUEST['aktion']=
{
$zipfile = $row->paabgabe_id.'_'.$row->uid.'.pdf';
}
else
else
{
$zipfile .= " ".$row->paabgabe_id.'_'.$row->uid.'.pdf';
}
}
}
}
$htmlstr .= "</tbody></table>";
}
}
else
}
else
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
@@ -317,18 +313,18 @@ else
header('Content-Type: application/octet-stream');
header('Content-disposition: attachment; filename="Abgabe_'.$s->kuerzel.'.zip"');
$handle = fopen($zipausgabe, "rb");
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 1024);
}
fclose($handle);
//echo file_get_contents($zipausgabe);
unlink($zipausgabe);
unlink($zipausgabe);
}
else
else
{
echo $p->t('global/dateiExistiertNicht');
}
+19 -10
View File
@@ -61,7 +61,10 @@ echo '<h1>',$p->t('tools/suche'),'</h1>';
$search = (isset($_REQUEST['search'])?$_REQUEST['search']:'');
echo '<form action="',$_SERVER['PHP_SELF'],'" name="searchform" method="GET">
// Uses htmlspecialchars to avoid XSS issues
$self = htmlspecialchars($_SERVER["PHP_SELF"], ENT_QUOTES, "utf-8");
echo '<form action="',$self,'" name="searchform" method="GET">
<input type="search" placeholder="'.$p->t('tools/suchbegriff').' ..." size="40" name="search" value="',$db->convert_html_chars($search),'" />
<img src="../../../skin/images/search.png" onclick="document.searchform.submit()" height="15px" class="suchicon"/>
</form><br>';
@@ -454,16 +457,22 @@ function searchContent($searchItems)
echo '<h3>',$row->sprache,'</h3>';
echo '<ul>';
}
$berechtigt = new content();
$berechtigt = $berechtigt->berechtigt($row->content_id, $uid);
if ($berechtigt)
// Nur die hoechste Version des Contents anzeigen
$version = new content();
$maxversion = $version->getMaxVersion($row->content_id, $row->sprache);
if ($row->version == $maxversion)
{
echo '<li><div class="suchergebnis">';
echo '<a href="../../../cms/content.php?content_id=',$db->convert_html_chars($row->content_id),'&sprache=',$db->convert_html_chars($row->sprache),'">',$db->convert_html_chars($row->titel),'</a><br>';
$preview = findAndMark($row->content, $searchItems);
echo $preview;
echo '<br /><br /></div></li>';
$berechtigt = new content();
$berechtigt = $berechtigt->berechtigt($row->content_id, $uid);
if ($berechtigt)
{
echo '<li><div class="suchergebnis">';
echo '<a href="../../../cms/content.php?content_id=',$db->convert_html_chars($row->content_id),'&sprache=',$db->convert_html_chars($row->sprache),'">',$db->convert_html_chars($row->titel),'</a><br>';
$preview = findAndMark($row->content, $searchItems);
echo $preview;
echo '<br /><br /></div></li>';
}
}
}
}
+2 -1
View File
@@ -86,7 +86,8 @@ $activities_str = "'".implode("','", $activities)."'";
$gesperrt_bis = '2015-08-31';
$sperrdatum = date('c', strtotime($gesperrt_bis));
$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
// Uses urlencode to avoid XSS issues
$zeitaufzeichnung_id = urlencode(isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:'');
$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:'');
$oe_kurzbz_1 = (isset($_POST['oe_kurzbz_1'])?$_POST['oe_kurzbz_1']:'');
$oe_kurzbz_2 = (isset($_POST['oe_kurzbz_2'])?$_POST['oe_kurzbz_2']:'');
+17 -21
View File
@@ -55,15 +55,11 @@ echo "<html>
<head><title>File-Upload</title></head>
<body>";
//Bei Upload des Bildes
//Bei Upload einer Datei
if(isset($_POST['submitbild']))
{
if(isset($_FILES['bild']['tmp_name']))
{
//Extension herausfiltern
$ext = explode('.',$_FILES['bild']['name']);
$ext = mb_strtolower($ext[count($ext)-1]);
{
$filename = $_FILES['bild']['tmp_name'];
$fp = fopen($filename,'r');
@@ -91,21 +87,24 @@ if(isset($_POST['submitbild']))
$dokument = new dokument();
$dokument->loadDokumenttyp($_REQUEST['dokumenttyp']);
$extension = end(explode(".",strtolower($_FILES['bild']['name'])));
$tmp = explode(".",strtolower($_FILES['bild']['name']));
$extension = end($tmp);
$titel = '';
// da nur 32 zeichen gespeichert werden dürfen, muss anhand vom typ gekürzt werden
if($_REQUEST['dokumenttyp']=='Lebenslf')
/*if($_REQUEST['dokumenttyp']=='Lebenslf')
$titel = $p->t('incoming/lebenslauf').".".$extension;
if($_REQUEST['dokumenttyp']=='LearnAgr')
$titel = $p->t('incoming/learningAgreement').".".$extension;
if($_REQUEST['dokumenttyp']=='Motivat')
$titel = $p->t('incoming/motivationsschreiben').".".$extension;
if($_REQUEST['dokumenttyp']=='Zeugnis')
$titel = $p->t('incoming/zeugnis').".".$extension;
$titel = $p->t('incoming/zeugnis').".".$extension;
if($_REQUEST['dokumenttyp']=='Lichtbil')
$titel = $p->t('incoming/lichtbild').".".$extension;
$titel = $p->t('incoming/lichtbild').".".$extension;*/
$titel = StringCut($dokument->bezeichnung,25,false,'');
$titel = $titel.'.'.$extension;
$akte->dokument_kurzbz = $_REQUEST['dokumenttyp'];
$akte->person_id = $_GET['person_id'];
@@ -116,9 +115,9 @@ if(isset($_POST['submitbild']))
$akte->titel = $titel;
//$akte->bezeichnung = $dokument->bezeichnung;
$akte->updateamum = date('Y-m-d H:i:s');
// $akte->updatevon = $user;
$akte->updatevon = 'Incoming-Online';
$akte->insertamum = date('Y-m-d H:i:s');
// $akte->insertvon = $user;
$akte->insertvon = 'Incoming-Online';
$akte->uid = '';
$akte->new = true;
@@ -150,7 +149,7 @@ if(isset($_POST['submitbild']))
if(isset($_GET['person_id']))
{
$dokument = new dokument();
$dokument->getAllDokumente();
$dokument->getDokumente('10006');
echo " <form method='POST' enctype='multipart/form-data' action='$PHP_SELF?person_id=".$_GET['person_id']."'>
<table>
<tr>
@@ -165,13 +164,10 @@ if(isset($_GET['person_id']))
<SELECT name='dokumenttyp'>";
foreach ($dokument->result as $dok)
{
if($dok->dokument_kurzbz == 'Lebenslf' || $dok->dokument_kurzbz == 'Motivat' || $dok->dokument_kurzbz == 'Maturaze' || $dok->dokument_kurzbz == 'LearnAgr')
{
$selected ="";
if($dok->dokument_kurzbz == $dokumenttyp)
$selected = "selected";
echo '<option '.$selected.' value="'.$dok->dokument_kurzbz.'" >'.$dok->bezeichnung_mehrsprachig[$sprache]."</option>\n";
}
$selected ="";
if($dok->dokument_kurzbz == $dokumenttyp)
$selected = "selected";
echo '<option '.$selected.' value="'.$dok->dokument_kurzbz.'" >'.$dok->bezeichnung_mehrsprachig[$sprache]."</option>\n";
}
echo " </select>
</td>
File diff suppressed because it is too large Load Diff
+55 -46
View File
@@ -64,52 +64,61 @@ if (isset($_POST['userid']))
<link href="../../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%" border="0">
<tr>
<td align="left"></td>
<td align ="right"><?php
echo $p->t("global/sprache")." ";
echo '<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German">'.$p->t("global/deutsch").'</a><br>';?></td>
</tr>
</table>
<form action ="index.php" method="POST">
<table border ="0" width ="100%" height="40%">
<tr height="50%">
<td align ="center" valign="center"><h3><?php echo $p->t('incoming/welcomeToUAS',array(CAMPUS_NAME));?></h3><span style="font-size:1.2em"></span></td>
</tr>
<tr >
<td align="center" valign="bottom"> <img src="../../../skin/styles/<?php echo DEFAULT_STYLE ?>/logo.png"></td>
</tr>
</table>
<table border ="0" width ="100%">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><a href="registration.php"><?php echo $p->t('incoming/registration');?></a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><input type="text" size="30" value="UserID" name ="userid" onfocus="this.value='';"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><input type="submit" value="Login" name="submit"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><?php if(isset($errormsg))
echo $errormsg; ?>
</tr>
</table>
</form>
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="rand"></td>
<td style="vertical-align: top" class="boxshadow">
<table width="100%" border="0">
<tr>
<td style="padding: 20px; text-align: left; width: 33%"></td>
<td style="padding: 20px; text-align: center; width: 33%"></td>
<td style="padding: 20px; text-align: right; width: 33%"><?php
echo $p->t("global/sprache")." ";
echo '<a href="'.$_SERVER['PHP_SELF'].'?lang=English&'.$_SERVER['QUERY_STRING'].'">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German&'.$_SERVER['QUERY_STRING'].'">'.$p->t("global/deutsch").'</a><br>';?></td>
</tr>
</table>
<table style="padding: 50px" border="0" width ="100%">
<tr height="50%">
<td align ="center" valign="center"><h3><?php echo $p->t('incoming/welcomeToUAS',array(CAMPUS_NAME));?></h3><br><br>
<img src="../../../skin/styles/<?php echo DEFAULT_STYLE ?>/logo.png"></td>
</tr>
</table>
<table border ="0" width ="100%">
<form action ="index.php" method="POST">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><a href="registration.php"><?php echo $p->t('incoming/registration');?></a></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><input type="text" size="30" value="UserID" name ="userid" onfocus="this.value='';"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><input type="submit" value="Login" name="submit"></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td align="center"><?php if(isset($errormsg))
echo $errormsg; ?>
</tr>
</form>
</table>
</td>
<td class="rand">
</td>
</tr>
</table>
</body>
+13 -3
View File
@@ -58,10 +58,15 @@ $date = new datum();
<body>
<?php
echo ' <table width="100%" border="0">
echo ' <table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="left"><a href="index.php">Login</a> &gt; Registration </td>
<td align ="right">
<td class="rand"></td>
<td style="vertical-align: top" class="boxshadow">
<table width="100%" border="0">
<tr>
<td style="padding: 20px; text-align: left; width: 33%"><a href="index.php">Login</a> &gt; Registration </td>
<td style="padding: 20px; text-align: center; width: 33%"></td>
<td style="padding: 20px; text-align: right; width: 33%">
'.$p->t("global/sprache").'
<a href="'.$_SERVER['PHP_SELF'].'?lang=English">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German">'.$p->t("global/deutsch").'</a><br> </td>
@@ -172,6 +177,11 @@ echo ' <form action="registration.php" method="POST" name="RegistrationForm">
</tr>
</table>
</form>
</td>
<td class="rand">
</td>
</tr>
</table>
<script type="text/javascript">
function checkRegistration()
+251
View File
@@ -0,0 +1,251 @@
<?php
/* Copyright (C) 2009 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
/**
* Seite zum Editieren von Testtool-Gebieten
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/gebiet.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/sprache.class.php');
if (!$user = get_uid())
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true, 'index');
$sprache_user = getSprache();
$db = new basis_db();
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
});
function deleteZuordnung(ablauf_id)
{
if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
{
$("#data").html(\'<form action="edit_gebiet.php" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteZuordnung" /><input type="hidden" name="ablauf_id" value="\'+ablauf_id+\'" /></form>\');
document.sendform.submit();
}
return false;
}
</script>
</head>
<body>
<div id="data"></div>
';
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
$gebiet = new gebiet();
echo '<h1>&nbsp;Gebiet hinzuf&uuml;gen</h1>';
if (!$rechte->isBerechtigt('basis/testtool'))
die($rechte->errormsg);
$studiengang = new studiengang();
$studiengang->getAll('typ,bezeichnung');
echo '<a href="index.php?stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seite</a><br /><br />';
//Dropdown Auswahl Studiengang
echo "Studiengang: <SELECT name='studiengang' id='studiengang' onchange='window.location.href=this.value'><OPTION value='-1'>-- Keine Auswahl --</OPTION>";
$i = 0;
$selected = '';
$result_count = count($studiengang->result);
for ($i = 0; $i < $result_count; $i++) {
if ($stg_kz == $studiengang->result[$i]->studiengang_kz) $selected = 'selected';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=".$studiengang->result[$i]->studiengang_kz."' ".$selected.">".strtoupper($studiengang->result[$i]->typ.$studiengang->result[$i]->kurzbz).' ('.$studiengang->result[$i]->bezeichnung.")</OPTION>";
$selected = '';
}
echo "</SELECT><br /><br /><hr />";
echo '
<form action="'.$_SERVER['PHP_SELF'].'" method="POST">
<table cellspacing="4">
<!--<tr>
<td>ID</td>
<td><input type="text" name="id" disabled value=""/></td>
</tr>-->
<tr>
<td>Kurzbezeichnung</td>
<td><input type="text" name="kurzbz" placeholder="Pflichtfeld" maxlength="10" value="'.(isset($_POST['kurzbz'])?$_POST['kurzbz']:'').'" required/></td>
</tr>
<tr>
<td>Bezeichnung (intern)</td>
<td><input type="text" name="bezeichnung_intern" maxlength="50" value="'.(isset($_POST['bezeichnung_intern'])?$_POST['bezeichnung_intern']:'').'"/></td>
</tr>';
foreach ($sprache->result as $row)
{
echo ' <tr>
<td>Bezeichnung '.$row->bezeichnung_arr[$sprache_user].'</td>
<td><input type="text" name="bezeichnung_mehrsprachig_'.$row->sprache.'" maxlength="255" value="'.(isset($_POST['bezeichnung_mehrsprachig_'.$row->sprache.''])?$_POST['bezeichnung_mehrsprachig_'.$row->sprache.'']:'').'"/></td>
</tr>';
}
echo '
<tr>
<td>Beschreibung (intern)</td>
<td><textarea rows="" cols="" name="beschreibung" style="font-size: 9pt">'.(isset($_POST['beschreibung'])?$_POST['beschreibung']:'').'</textarea></td>
</tr>
<tr>
<td>Zeit</td>
<td><input type="text" name="zeit" placeholder="Pflichtfeld" value="'.(isset($_POST['zeit'])?$_POST['zeit']:'').'" required/> hh:mm:ss</td>
</tr>
<tr>
<td>Multiple Response</td>
<td><input type="checkbox" name="multiple_respone" '.(isset($_POST['multiple_respone'])?'checked':'').'/></td>
</tr>
<tr>
<td>Kategorien</td>
<td><input type="checkbox" name="kategorien" '.(isset($_POST['kategorien'])?'checked':'').'/></td>
</tr>
<tr>
<td>Zuf&auml;llige Fragereihenfolge</td>
<td><input type="checkbox" name="zufaellige_fragereihenfolge" '.(isset($_POST['zufaellige_fragereihenfolge'])?'checked':'').'/></td>
</tr>
<tr>
<td>Zuf&auml;llige Vorschlagreihenfolge</td>
<td><input type="checkbox" name="zufaellige_vorschlagreihenfolge" '.(isset($_POST['zufaellige_vorschlagreihenfolge'])?'checked':'').'/></td>
</tr>
<tr>
<td>Levelgleichverteilung</td>
<td><input type="checkbox" name="levelgleichverteilung" '.(isset($_POST['levelgleichverteilung'])?'checked':'').'/></td>
</tr>
<tr>
<td>Maximale Punkteanzahl</td>
<td><input type="text" name="maximale_punkteanzahl" maxlength="5" value="'.(isset($_POST['maximale_punkteanzahl'])?$_POST['maximale_punkteanzahl']:'').'"/></td>
</tr>
<tr>
<td>Maximale Frageanzahl</td>
<td><input type="text" name="maximale_fragenanzahl" maxlength="5" value="'.(isset($_POST['maximale_fragenanzahl'])?$_POST['maximale_fragenanzahl']:'').'"/></td>
</tr>
<tr>
<td>Antworten pro Zeile</td>
<td><input type="text" name="antworten_pro_zeile" placeholder="Pflichtfeld" maxlength="2" value="'.(isset($_POST['antworten_pro_zeile'])?$_POST['antworten_pro_zeile']:'').'" required/></td>
</tr>
<tr>
<td>Start Level</td>
<td><input type="text" name="start_level" maxlength="5" value="'.(isset($_POST['start_level'])?$_POST['start_level']:'').'"/></td>
</tr>
<tr>
<td>Richtige Fragen bis Levelaufstieg</td>
<td><input type="text" name="richtige_fragen_bis_levelaufstieg" maxlength="5" value="'.(isset($_POST['richtige_fragen_bis_levelaufstieg'])?$_POST['richtige_fragen_bis_levelaufstieg']:'').'"/></td>
</tr>
<tr>
<td>Falsche Fragen bis Levelabstieg</td>
<td><input type="text" name="falsche_fragen_bis_levelabstieg" maxlength="5" value="'.(isset($_POST['falsche_fragen_bis_levelabstieg'])?$_POST['falsche_fragen_bis_levelabstieg']:'').'"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Speichern"/></td>
</tr>
</table>
<input type="hidden" name="save" value="save"/>
</form>
';
//Speichern der Daten
if (isset($_POST['save']) && $_POST['save'] == 'save')
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die($rechte->errormsg);
if (isset($_POST['kurzbz']) && $_POST['kurzbz'] != '' && isset($_POST['zeit']) && $_POST['zeit'] != '' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile'] != '')
{
//Test, ob kurzbz schon vorhanden
if ($result = $db->db_query('SELECT kurzbz FROM testtool.tbl_gebiet WHERE kurzbz = '.$db->db_add_param($_POST['kurzbz']).' LIMIT 1;'))
{
if ($db->db_num_rows($result) == 0)
{
$gebiet = new gebiet();
$bezeichnung_mehrsprachig = array();
foreach ($sprache->result as $row_sprache)
{
$bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung_intern'];
$gebiet->beschreibung = $_POST['beschreibung'];
$gebiet->zeit = $_POST['zeit'];
$gebiet->multipleresponse = isset($_POST['multiple_respone']);
$gebiet->kategorien = isset($_POST['kategorien']);
$gebiet->maxfragen = $_POST['maximale_fragenanzahl'];
$gebiet->zufallfrage = isset($_POST['zufaellige_fragereihenfolge']);
$gebiet->zufallvorschlag = isset($_POST['zufaellige_vorschlagreihenfolge']);
$gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']);
$gebiet->maxpunkte = $_POST['maximale_punkteanzahl'];
$gebiet->level_start = $_POST['start_level'];
$gebiet->level_sprung_auf = $_POST['richtige_fragen_bis_levelaufstieg'];
$gebiet->level_sprung_ab = $_POST['falsche_fragen_bis_levelabstieg'];
$gebiet->insertamum = date('Y-m-d H:i:s');
$gebiet->insertvon = $user;
$gebiet->antwortenprozeile = $_POST['antworten_pro_zeile'];
if ($gebiet->save(true))
{
echo 'Daten erfolgreich gespeichert';
}
else
{
echo '<span class="error">Fehler beim Speichern: '.$gebiet->errormsg.'</span>';
}
}
else
echo '<span class="error">Kurzbezeichnung ist schon vorhanden</span>';
}
}
else
{
echo '<span class="error">Bitte f&uuml;llen Sie alle Pflichtfelder aus</span>';
}
}
echo '</body></html>';
?>
+57 -39
View File
@@ -29,13 +29,21 @@ require_once('../../../include/functions.inc.php');
require_once('../../../include/gebiet.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/sprache.class.php');
if (!$user=get_uid())
if (!$user = get_uid())
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true, 'index');
$sprache_user = getSprache();
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
@@ -56,7 +64,7 @@ echo '
function deleteZuordnung(ablauf_id)
{
if(confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
{
$("#data").html(\'<form action="edit_gebiet.php" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteZuordnung" /><input type="hidden" name="ablauf_id" value="\'+ablauf_id+\'" /></form>\');
document.sendform.submit();
@@ -70,22 +78,22 @@ echo '
<div id="data"></div>
';
if(isset($_GET['gebiet_id']))
$gebiet_id=$_GET['gebiet_id'];
if (isset($_GET['gebiet_id']))
$gebiet_id = $_GET['gebiet_id'];
else
$gebiet_id='';
$gebiet_id = '';
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
echo '<h1>&nbsp;Gebiet bearbeiten</h1>';
if(!$rechte->isBerechtigt('basis/testtool'))
die('Sie haben keine Berechtigung fuer diese Seite');
if (!$rechte->isBerechtigt('basis/testtool'))
die($rechte->errormsg);
$gebiet = new gebiet();
$gebiet->getAll();
echo '<a href="index.php?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seite</a><br /><br />';
echo '<a href="index.php?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'" class="Item">Zur&uuml;ck zur Admin Seite</a><br /><br />';
//Liste der Gebiete anzeigen
echo '<form id="gebiet_form" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
@@ -93,13 +101,13 @@ echo 'Gebiet: <SELECT name="gebiet_id" onchange="document.getElementById(\'gebie
foreach ($gebiet->result as $row)
{
if($gebiet_id=='')
$gebiet_id=$row->gebiet_id;
if ($gebiet_id == '')
$gebiet_id = $row->gebiet_id;
if($gebiet_id==$row->gebiet_id)
$selected='selected';
if ($gebiet_id == $row->gebiet_id)
$selected = 'selected';
else
$selected='';
$selected = '';
echo '<OPTION value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</OPTION>';
}
@@ -110,22 +118,21 @@ echo '</SELECT>
echo '<br /><br />';
// Ablaufzuordnung entfernen
if(isset($_POST['action']) && $_POST['action']=='deleteZuordnung')
if (isset($_POST['action']) && $_POST['action'] == 'deleteZuordnung')
{
if(!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id']))
if (!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id']))
die('ungueltige Parameteruebergabe');
$ablauf_id = $_POST['ablauf_id'];
$ablauf = new gebiet();
if($ablauf->deleteAblaufZuordnung($ablauf_id))
if ($ablauf->deleteAblaufZuordnung($ablauf_id))
echo '<span class="ok">Ablauf wurde entfernt</span>';
else
echo '<span class="error">Fehler beim Entfernen:'.$ablauf->errormsg.'</span>';
}
// Ablaufzuordnung hinzufügen
if(isset($_POST['action']) && $_POST['action']=='saveAblauf')
if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf')
{
$ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id'];
$studiengang_kz = $_POST['studiengang_kz'];
@@ -143,22 +150,28 @@ if(isset($_POST['action']) && $_POST['action']=='saveAblauf')
$ablauf->new = true;
$ablauf->gebiet_id = $gebiet_id;
if($ablauf->saveAblauf())
if ($ablauf->saveAblauf())
echo '<span class="ok">Ablauf gespeichert</span>';
else
echo '<span class="error">Fehler beim Speichern:'.$ablauf->errormsg.'</span>';
}
//Speichern der Daten
if(isset($_POST['speichern']))
if (isset($_POST['speichern']))
{
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die($rechte->errormsg);
$gebiet = new gebiet();
if($gebiet->load($gebiet_id))
if ($gebiet->load($gebiet_id))
{
$bezeichnung_mehrsprachig = array();
foreach ($sprache->result as $row_sprache)
{
$bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung'];
$gebiet->beschreibung = $_POST['beschreibung'];
@@ -177,7 +190,7 @@ if(isset($_POST['speichern']))
$gebiet->updatevon = $user;
$gebiet->antwortenprozeile = $_POST['antwortenprozeile'];
if($gebiet->save(false))
if ($gebiet->save(false))
{
echo 'Daten erfolgreich gespeichert';
}
@@ -192,7 +205,7 @@ if(isset($_POST['speichern']))
}
}
if($gebiet_id!='')
if ($gebiet_id != '')
{
$gebiet = new gebiet($gebiet_id);
@@ -202,16 +215,22 @@ if($gebiet_id!='')
echo '<tr>';
//ID
echo '<td>ID</td><td>'.$gebiet_id.'</td>';
echo '<td>ID</td><td><input type="text" disabled value="'.$gebiet_id.'" size="10" /></td>';
echo '</tr><tr>';
//Kurzbz
echo '<td>Kurzbz</td><td><input type="text" maxlength="10" size="10" name="kurzbz" value="'.$gebiet->kurzbz.'"></td>';
echo '<td>Kurzbz</td><td><input type="text" size="10" name="" value="'.$gebiet->kurzbz.'" disabled /><input type="hidden" name="kurzbz" value="'.$gebiet->kurzbz.'"/></td>';
echo '</tr><tr>';
//Bezeichnung
echo '<td>Bezeichnung</td><td><input type="text" maxlength="50" name="bezeichnung" value="'.$gebiet->bezeichnung.'"></td>';
echo '<td>Bezeichnung (intern)</td><td><input type="text" maxlength="50" name="bezeichnung" value="'.$gebiet->bezeichnung.'" /></td>';
echo '</tr><tr>';
foreach ($sprache->result as $s)
{
echo '<td>Bezeichnung '.$s->bezeichnung_arr[$sprache_user].'</td>';
echo '<td><input type="text" maxlength="255" name="bezeichnung_mehrsprachig_'.$s->sprache.'" value="'.(isset($gebiet->bezeichnung_mehrsprachig[$s->sprache])?$db->convert_html_chars($gebiet->bezeichnung_mehrsprachig[$s->sprache]):'').'" /></td>';
echo '</tr><tr>';
}
//Beschreibung
echo '<td>Beschreibung</td><td><textarea name="beschreibung">'.$gebiet->beschreibung.'</textarea></td>';
echo '<td>Beschreibung (intern)</td><td><textarea name="beschreibung" style="font-size: 9pt">'.$gebiet->beschreibung.'</textarea></td>';
echo '</tr><tr>';
//Zeit
echo '<td>Zeit</td><td><input type="text" name="zeit" size="8" maxlength="8" value="'.$gebiet->zeit.'"> hh:mm:ss</td>';
@@ -228,15 +247,15 @@ if($gebiet_id!='')
echo '</tr><tr>';
// empfohlene maximalpunkte berechnen und anzeigen
$maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id);
if($gebiet->maxpunkte!=$maximalpunkte)
$hinweis = '<span class="error">empfohlene Maximalpunkteanzahl: '.$maximalpunkte.'</span>';
if ($gebiet->maxpunkte != $maximalpunkte)
$hinweis = ' <span class="error">empfohlene Maximalpunkteanzahl: '.round($maximalpunkte).(round($maximalpunkte) != $maximalpunkte?' ('.$maximalpunkte.' gerundet)':'').'</span>';
else
$hinweis ='';
$hinweis = '';
echo '<td>Maximale Punkteanzahl</td><td><input type="text" size="5" maxlength="5" name="maxpunkte" value="'.$gebiet->maxpunkte.'">'.$hinweis.'</td>';
echo '</tr><tr>';
echo '<td>Maximale Fragenanzahl</td><td><input type="text" size="5" maxlength="5" name="maxfragen" value="'.$gebiet->maxfragen.'"></td>';
echo '</tr><tr>';
echo '<td>Antworten pro Zeile</td><td><input type="text" size="5" maxlength="5" name="antwortenprozeile" value="'.$gebiet->antwortenprozeile.'"></td>';
echo '<td>Antworten pro Zeile</td><td><input type="text" size="5" maxlength="2" name="antwortenprozeile" value="'.$gebiet->antwortenprozeile.'" required></td>';
echo '</tr><tr>';
echo '<td>Start Level</td><td><input type="text" size="5" maxlength="5" name="level_start" value="'.$gebiet->level_start.'"></td>';
echo '</tr><tr>';
@@ -256,9 +275,8 @@ if($gebiet_id!='')
$gebiet->loadAblaufGebiet($gebiet_id);
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz',false);
$studiengang->getAll('typ, kurzbz', false);
echo '<form action="edit_gebiet.php" method="POST">';
echo '<table id="t1" class="tablesorter">
<thead>
<tr>
@@ -271,7 +289,7 @@ if($gebiet_id!='')
</tr>
</thead>
<tbody>';
foreach($gebiet->result as $row)
foreach ($gebiet->result as $row)
{
echo '<tr>
<td>'.$studiengang->kuerzel_arr[$row->studiengang_kz].'</td>
@@ -286,7 +304,7 @@ if($gebiet_id!='')
echo '<tfoot>
<tr>
<td><select name="studiengang_kz">';
foreach($studiengang->kuerzel_arr as $stg_kz=>$row_stg)
foreach ($studiengang->kuerzel_arr as $stg_kz => $row_stg)
{
echo '<option value="'.$stg_kz.'">'.$row_stg.'</option>';
}
@@ -301,7 +319,7 @@ if($gebiet_id!='')
$ablauf_vorgabe = new gebiet();
$ablauf_vorgabe->getAblaufVorgaben();
foreach($ablauf_vorgabe->result as $vorgabe)
foreach ($ablauf_vorgabe->result as $vorgabe)
{
echo '<option value="'.$vorgabe->ablauf_vorgaben_id.'">'.$studiengang->kuerzel_arr[$vorgabe->studiengang_kz].' - Sprache: '.$vorgabe->sprache.' Sprachwahl: '.($vorgabe->sprachwahl?'Ja':'Nein').' Content:'.$vorgabe->content_id.'</option>';
}
+478
View File
@@ -0,0 +1,478 @@
<?php
/* Copyright (C) 2009 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
*/
/**
* Seite zum Editieren von Testtool-Gebieten
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/gebiet.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/studiengang.class.php');
require_once('../../../include/sprache.class.php');
require_once('../../../include/studienplan.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/organisationsform.class.php');
require_once('../../../include/ablauf.class.php');
if (!$user = get_uid())
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
if (!$db = new basis_db())
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true);
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[3,0],[1,0]],
widgets: ["zebra"]
});
});
function deleteZuordnung(ablauf_id)
{
if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
{
$("#data").html(\'<form action="edit_gebiet.php" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteZuordnung" /><input type="hidden" name="ablauf_id" value="\'+ablauf_id+\'" /></form>\');
document.sendform.submit();
}
return false;
}
</script>
</head>
<body>
<div id="data"></div>
';
if (isset($_GET['gebiet_id']))
$gebiet_id = $_GET['gebiet_id'];
else
$gebiet_id = '';
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
echo '<h1>&nbsp;Gebiete an Studieng&auml;nge anh&auml;ngen</h1>';
if (!$rechte->isBerechtigt('basis/testtool'))
die($rechte->errormsg);
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz', false);
$gebiet = new gebiet();
$gebiet->getAll();
$ablauf_vorgabe = new gebiet();
$ablauf_vorgabe->getAblaufVorgaben();
echo '<a href="index.php?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seite</a><br /><br />';
echo '<table><tr><td>';
//Studiengang Dropdown
echo '<form id="studiengang_form" action="'.$_SERVER['PHP_SELF'].'" method="GET">';
echo 'Studiengang: </td><td><SELECT name="stg_kz" onchange="document.getElementById(\'studiengang_form\').submit();"><OPTION value="-1">-- Keine Auswahl --</OPTION>';
$i = 0;
$selected = '';
$result_count = count($studiengang->result);
for ($i = 0; $i < $result_count; $i++)
{
if ($stg_kz == $studiengang->result[$i]->studiengang_kz) $selected = 'selected';
echo '<OPTION value="'.$studiengang->result[$i]->studiengang_kz.'" '.$selected.' >'.strtoupper($studiengang->result[$i]->typ.$studiengang->result[$i]->kurzbz).' ('.$studiengang->result[$i]->bezeichnung.')</OPTION>';
$selected = '';
}
echo '</SELECT>';
// Studienplan Dropdown
echo "</tr><tr><td>Studienplan: </td><td>";
drawStudienplanDropdown($stg_kz, $db, "stp_id", 'studiengang_form');
echo "</form></td></tr></table>";
echo '<br /><br />';
// Gebiet speichern
if (isset($_GET['action']) && $_GET['action'] == 'save')
{
if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '' &&
isset($_POST['reihung']) && $_POST['reihung'] != '' &&
isset($_POST['gewicht']) && $_POST['gewicht'] != '' &&
isset($_POST['semester']) && $_POST['semester'] != '' &&
isset($_POST['studienplan']) && $_POST['studienplan'] != '')
{
$ablauf = new ablauf();
$ablauf->studiengang_kz = $_POST['stg_kz'];
$ablauf->gebiet_id = $_POST['gebiet_id'];
$ablauf->reihung = $_POST['reihung'];
$ablauf->gewicht = $_POST['gewicht'];
$ablauf->semester = $_POST['semester'];
$ablauf->insertvon = $user;
$ablauf->insertamum = date('Y-m-d H:i:s');
$ablauf->studienplan_id = $_POST['studienplan'];
if (!$ablauf->save(true))
echo $ablauf->errormsg;
}
else
{
echo '<span class="error">Bitte f&uuml;llen Sie alle Felder aus</span>';
}
}
// Gebiet entfernen
if (isset($_GET['action']) && $_GET['action'] == 'delete')
{
if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '')
{
$ablauf = new ablauf();
$ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']);
$ablauf_id = $ablauf->result[0];
if ($ablauf->delete($ablauf_id))
echo $ablauf->errormsg;
}
else
{
//echo '<span class="error">Bitte f&uuml;llen Sie alle Felder aus</span>';
}
}
// Gebiet bearbeiten
if (isset($_GET['action']) && $_GET['action'] == 'edit')
{
if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '')
{
$ablauf = new ablauf();
$ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']);
$ablauf_id = $ablauf->result[0];
$ablauf = new ablauf($ablauf_id);
$ablauf = $ablauf->result[0];
$gebiet = new gebiet($_POST['gebiet_id']);
$studiengang = new studiengang($stg_kz);
echo '<table><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=editsave" method="POST">
<tr><td>Studiengang_kz: </td><td><input type="text" name="stg_kz" value="'.strtoupper($studiengang->typ.$studiengang->kurzbz).' ('.$studiengang->bezeichnung.')'.'" style="width:98.5%" disabled /></td></tr>
<tr><td>Gebiet: </td><td><input type="text" value="'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')" style="width:98.5%" disabled /><input type="hidden" name="gebiet_id" value="'.$ablauf->gebiet_id.'"/></td></tr>
<tr><td>Reihung: </td><td><input type="text" name="reihung" value="'.$ablauf->reihung.'" style="width:98.5%" /></td></tr>
<tr><td>Gewichtung: </td><td><input type="text" name="gewicht" value="'.$ablauf->gewicht.'" style="width:98.5%" /></td></tr>
<tr><td>Semester: </td><td><input type="text" name="semester" value="'.$ablauf->semester.'" style="width:98.5%" /></td></tr>
<tr><td>Studienplan: </td><td>';
drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->studienplan_id);
echo '</td></tr>
<tr><td></td><td><input type="submit" value="Speichern" style="width:50%"/><a href="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'"><input type="button" value="Abbrechen" style="width:50%"></a></td></tr>
</form></table>';
}
else
{
//echo '<span class="error">Bitte f&uuml;llen Sie alle Felder aus</span>';
}
}
// Bearbeitetes Gebiet speichern
if (isset($_GET['action']) && $_GET['action'] == 'editsave')
{
if (isset($_POST['reihung']) && $_POST['reihung'] != '' && isset($_POST['gewicht']) && $_POST['gewicht'] != '' && isset($_POST['semester']) && $_POST['semester'] != '')
{
$ablauf = new ablauf();
$ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']);
$ablauf_id = $ablauf->result[0];
$ablauf = new ablauf($ablauf_id);
$ablauf = $ablauf->result[0];
$ablauf->reihung = $_POST['reihung'];
$ablauf->gewicht = $_POST['gewicht'];
$ablauf->semester = $_POST['semester'];
if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != ''
$ablauf->studienplan_id = $_POST['studienplan_id'];
if (!$ablauf->save(false))
echo $ablauf->errormsg;
}
else
{
echo '<span class="error">Bitte f&uuml;llen Sie alle Felder aus</span>';
}
}
// Liste aller zugehoerigen Gebiete anzeigen
$ablauf = new ablauf();
if (isset($_GET['stp_id']) && $_GET['stp_id'] != '')
{
$ablauf->getAblaufGebiete($stg_kz, $_GET['stp_id']);
}
else
{
$ablauf->getAblaufGebiete($stg_kz);
}
$gebieteangehaengt = array();
$studienplan = new studienplan();
if ($stg_kz != -1)
{
echo '
<table id="t1" class="tablesorter">
<thead><tr>
<th>Gebiet</th>
<th>Reihung</th>
<th>Gewichtung</th>
<th>Semester</th>
<th>Studienplan</th>
<th></th>
</tr></thead><tbody>';
foreach ($ablauf->result as $row)
{
$studienplan->loadStudienplan($row->studienplan_id);
$gebiet = new gebiet($row->gebiet_id);
array_push($gebieteangehaengt, $gebiet->gebiet_id);
echo '<tr><td>'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')</td><td>'.$row->reihung.'</td><td>'.$row->gewicht.'</td><td>'.$row->semester.'</td><td>'.$studienplan->bezeichnung.'</td><td>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=edit" method="POST" style="float:left" id="fe'.$gebiet->gebiet_id.'"><a onclick="document.getElementById(\'fe'.$gebiet->gebiet_id.'\').submit();">edit</a>
<input type="hidden" name="gebiet_id" value="'.$gebiet->gebiet_id.'" />
</form>
<form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=delete" method="POST" style="float:left; margin-left:5px;" id="fd'.$gebiet->gebiet_id.'"><a onclick="document.getElementById(\'fd'.$gebiet->gebiet_id.'\').submit();">delete</a>
<input type="hidden" name="gebiet_id" value="'.$gebiet->gebiet_id.'" />
</form></td></tr>';
}
$gebiet->getAll();
echo '</tbody><tfoot><tr><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=save" method="POST"><input type="hidden" name="stg_kz" value="'.$stg_kz.'" /><td><SELECT name="gebiet_id">';
foreach ($gebiet->result as $row)
{
if (!in_array($row->gebiet_id, $gebieteangehaengt))
{
if ($gebiet_id == '')
$gebiet_id = $row->gebiet_id;
if ($gebiet_id == $row->gebiet_id)
$selected = 'selected';
else
$selected = '';
echo '<OPTION value="'.$row->gebiet_id.'" '.$selected.'>'.$row->kurzbz.' ('.$row->bezeichnung.')</OPTION>';
}
}
echo '</SELECT></td>';
echo '<td><input type="text" name="reihung" /></td>';
echo '<td><input type="text" name="gewicht" /></td>';
echo '<td><input type="text" name="semester" /></td>';
echo '<td>';
drawStudienplanDropdown($stg_kz, $db, "studienplan");
echo '</td>';
echo '<td><input type="submit" value="Speichern"/></td></form></tr></tfoot></table>';
}
// Ablaufzuordnung entfernen
if (isset($_POST['action']) && $_POST['action'] == 'deleteZuordnung')
{
if (!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id']))
die('ungueltige Parameteruebergabe');
$ablauf_id = $_POST['ablauf_id'];
$ablauf = new gebiet();
if ($ablauf->deleteAblaufZuordnung($ablauf_id))
echo '<span class="ok">Ablauf wurde entfernt</span>';
else
echo '<span class="error">Fehler beim Entfernen:'.$ablauf->errormsg.'</span>';
}
// Ablaufzuordnung hinzufügen
if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf')
{
$ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id'];
$studiengang_kz = $_POST['studiengang_kz'];
$reihung = $_POST['reihung'];
$gewicht = $_POST['gewicht'];
$semester = $_POST['semester'];
$ablauf = new gebiet();
$ablauf->ablauf_vorgaben_id = $ablauf_vorgaben_id;
$ablauf->studiengang_kz = $studiengang_kz;
$ablauf->reihung = $reihung;
$ablauf->gewicht = $gewicht;
$ablauf->semester = $semester;
$ablauf->new = true;
$ablauf->gebiet_id = $gebiet_id;
if ($ablauf->saveAblauf())
echo '<span class="ok">Ablauf gespeichert</span>';
else
echo '<span class="error">Fehler beim Speichern:'.$ablauf->errormsg.'</span>';
}
//Speichern eines neuen Eintrags
if (isset($_POST['speichern']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die($rechte->errormsg);
$gebiet = new gebiet();
if ($gebiet->load($gebiet_id))
{
$bezeichnung_mehrsprachig = array();
foreach ($sprache->result as $row_sprache)
{
if (isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]) && $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache] != '')
$bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung_mehrsprachig_German'];
$gebiet->beschreibung = $_POST['beschreibung'];
$gebiet->zeit = $_POST['zeit'];
$gebiet->multipleresponse = isset($_POST['multipleresponse']);
$gebiet->kategorien = isset($_POST['kategorien']);
$gebiet->zufallfrage = isset($_POST['zufallfrage']);
$gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']);
$gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']);
$gebiet->maxpunkte = $_POST['maxpunkte'];
$gebiet->maxfragen = $_POST['maxfragen'];
$gebiet->level_start = $_POST['level_start'];
$gebiet->level_sprung_auf = $_POST['level_sprung_auf'];
$gebiet->level_sprung_ab = $_POST['level_sprung_ab'];
$gebiet->updateamum = date('Y-m-d H:i:s');
$gebiet->updatevon = $user;
$gebiet->antwortenprozeile = $_POST['antwortenprozeile'];
if ($gebiet->save(false))
{
echo 'Daten erfolgreich gespeichert';
}
else
{
echo '<span class="error">Fehler beim Speichern: '.$gebiet->errormsg.'</span>';
}
}
else
{
echo '<span class="error">Fehler beim Laden des Gebiets</span>';
}
}
echo '</body></html>';
/**
* Zeichnet das Dropdown zur Auswahl des Studienplans
* @param integer $stg_kz Studiengang.
* @param string $db Datenbankverbindung.
* @param string $name Name des <select name="???">.
* @param string $autosubmitform Name der uebergeordneten Form, um bei einer Auswahl submit().
* @param string $style Styleanweisung.
* @param integer $studienplan Studienplan_id.
* @return ?
*/
function drawStudienplanDropdown($stg_kz, $db, $name = '', $autosubmitform = null, $style = 'width:100%', $studienplan = null)
{
$sprachen_obj = new sprache();
$sprachen_obj->getAll();
$sprachen_arr = array();
$sprache1 = 'German';
foreach ($sprachen_obj->result as $row)
{
if (isset($row->bezeichnung_arr[$sprache1]))
$sprachen_arr[$row->sprache] = $row->bezeichnung_arr[$sprache1];
else
$sprachen_arr[$row->sprache] = $row->sprache;
}
$stsem_akt = new studiensemester();
$stsem_akt = $stsem_akt->getaktorNext();
$studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz']) ? $_GET['studiensemester_kurzbz'] : $stsem_akt);
$studienplan_obj = new studienplan();
$studienplan_obj->getStudienplaeneFromSem($stg_kz, $studiensemester_kurzbz);
$studienordnung_arr = array();
$studienplan_arr = array();
$studienplaene_verwendet = array();
$studienplan_id = '';
$orgform_obj = new organisationsform();
$orgform_obj->getAll();
$orgform_arr = array();
foreach ($orgform_obj->result as $row)
$orgform_arr[$row->orgform_kurzbz] = $row->bezeichnung;
foreach ($studienplan_obj->result as $row_sto)
{
$studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung'] = $row_sto->bezeichnung_studienordnung;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung'] = $row_sto->bezeichnung_studienplan;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz'] = $row_sto->orgform_kurzbz;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache'] = $sprachen_arr[$row_sto->sprache];
$studienplaene_verwendet[$row_sto->studienplan_id] = $row_sto->bezeichnung_studienplan;
}
$selected = isset($_GET['stp_id'])?'':'selected';
echo "<SELECT id='studienplan_dropdown' name='".$name."' ";
if (isset($autosubmitform) && $autosubmitform != '')
echo 'onchange="document.getElementById(\''.$autosubmitform.'\').submit();"';
echo " style='".$style."'>";
echo "<OPTION value='' ".$selected.">Studienplan auswaehlen</OPTION>";
// Pruefen ob uebergebene StudienplanID in Auswahl enthalten
// ist und ggf auf leer setzen
if ($studienplan_id != '')
{
$studienplan_found = false;
foreach ($studienplan_arr as $stoid => $row_sto)
{
if (array_key_exists($studienplan_id, $studienplan_arr[$stoid]))
{
$studienplan_found = true;
break;
}
}
if (!$studienplan_found)
{
$studienplan_id = '';
}
}
foreach ($studienordnung_arr as $stoid => $row_sto)
{
$selected = '';
echo '<option value="" disabled>Studienordnung: '.$db->convert_html_chars($row_sto['bezeichnung']).'</option>';
foreach ($studienplan_arr[$stoid] as $stpid => $row_stp)
{
if (isset($_GET['stp_id']) && $_GET['stp_id'] == $stpid)
$selected = 'selected';
if (isset($studienplan) && $studienplan == $stpid)
$selected = 'selected';
echo '<option value="'.$stpid.'" '.$selected.'>'.$db->convert_html_chars($row_stp['bezeichnung']).' ('.$orgform_arr[$row_stp['orgform_kurzbz']].', '.$row_stp['sprache'].')</option>';
$selected = '';
}
}
echo '</SELECT>';
}
?>
+1024 -877
View File
File diff suppressed because it is too large Load Diff
+23
View File
@@ -24,10 +24,12 @@
* zeigt diese an.
*/
require_once('../config/cis.config.inc.php');
require_once('../config/global.config.inc.php');
require_once('../include/content.class.php');
require_once('../include/template.class.php');
require_once('../include/functions.inc.php');
require_once('../include/phrasen.class.php');
require_once('../include/webservicelog.class.php');
if(isset($_GET['content_id']))
$content_id = $_GET['content_id'];
@@ -64,6 +66,27 @@ if($content->islocked($content_id))
if(!$content->getContent($content_id, $sprache, $version, $sichtbar, true))
die($content->errormsg);
// Legt einen Logeintrag für die Klickstatistik an
if (defined('LOG_CONTENT') && LOG_CONTENT==true)
{
// Nur eingeloggte User werden geloggt, das sonst auch alle Infoscreenaufrufe und dgl. mitgeloggt werden
if (is_user_logged_in())
{
$uid = get_uid();
$requestdata = $_SERVER['QUERY_STRING'].'&sprache='.$sprache;
$log = new webservicelog();
$log->webservicetyp_kurzbz = 'content';
$log->request_id = $content_id;
$log->beschreibung = 'content';
$log->request_data = $requestdata;
$log->execute_user = $uid;
$log->save(true);
}
}
$XML = new DOMDocument();
$XML->loadXML($content->content);
+5 -2
View File
@@ -25,6 +25,7 @@
require_once(dirname(__FILE__).'/menu_addon.class.php');
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
require_once(dirname(__FILE__).'/../../include/lehrveranstaltung.class.php');
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
class menu_addon_freifaecher extends menu_addon
{
@@ -35,6 +36,8 @@ class menu_addon_freifaecher extends menu_addon
$this->link=false;
$sprache = getSprache();
$stsem = new studiensemester();
$stsem = $stsem->getAktOrNext();
$lv_obj = new lehrveranstaltung();
if(!$lv_obj->load_lva('0',null, null,true,false,'bezeichnung'))
@@ -44,7 +47,7 @@ class menu_addon_freifaecher extends menu_addon
{
$this->items[] = array('title'=>$row->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem,
'name'=>'<span '.(!$row->aktiv?' style="" ':' style=""').'>'.(!$row->aktiv?' <img src="../skin/images/ampel_rot.png" height="8px" height="8px"> ':' <img src="../skin/images/ampel_gruen.png" height="8px"> ').' '.$this->CutString($row->bezeichnung_arr[$sprache], 21).'</span>'
);
}
@@ -70,4 +73,4 @@ class menu_addon_freifaecher extends menu_addon
}
new menu_addon_freifaecher();
?>
?>
@@ -72,7 +72,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
$sprachen_obj = new sprache();
$sprachen_obj->getAll();
$sprachen_arr=array();
$sprachen_arr['']='';
foreach($sprachen_obj->result as $row)
{
if(isset($row->bezeichnung_arr[$sprache]))
@@ -84,6 +84,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
$orgform_obj = new organisationsform();
$orgform_obj->getAll();
$orgform_arr=array();
$orgform_arr['']='';
foreach($orgform_obj->result as $row)
$orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung;
@@ -329,7 +330,11 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
$bold='font-weight:bold;';
else
$bold='';
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; $bold'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK)
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; color:#b2b2b2; $bold'>".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</li>";
else
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; $bold'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
if(isset($row->childs))
$this->printTree($row->childs, $sprache, $studiensemester_kurzbz);
}
+145 -75
View File
@@ -19,7 +19,7 @@
*/
/**
* Menue Addon zur Anzeige der zugeordneten LVs
*
*
* Zeigt eine Liste mit den LVs zu denen der Lektor oder Student zugeordnet ist.
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
@@ -34,110 +34,180 @@ class menu_addon_meinelv extends menu_addon
public function __construct()
{
parent::__construct();
$sprache = getSprache();
$user = get_uid();
$is_lector=check_lektor($user);
$p = new phrasen($sprache);
$cutlength=21;
//Meine LVs Student
if(!$is_lector)
{
$studiengang_obj = new studiengang();
$studiengang_obj->getAll();
$stsemobj = new studiensemester();
if ($stsemobj = new studiensemester())
$stsem_arr=array();
$stsem_arr[]=$stsemobj->getNearest();
$stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
foreach($stsem_arr as $stsem)
{
$stsem = $stsemobj->getNearest();
$qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre,
lehreverzeichnis from campus.vw_student_lehrveranstaltung
WHERE uid='".addslashes($user)."' AND studiensemester_kurzbz='".addslashes($stsem)."'
AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung";
$qry = "SELECT
distinct
tbl_studiengang.typ,
tbl_studiengang.kurzbz,
vw_student_lehrveranstaltung.lehrveranstaltung_id,
vw_student_lehrveranstaltung.bezeichnung,
vw_student_lehrveranstaltung.studiengang_kz,
vw_student_lehrveranstaltung.semester,
vw_student_lehrveranstaltung.lehre,
vw_student_lehrveranstaltung.lehreverzeichnis,
vw_student_lehrveranstaltung.studiensemester_kurzbz
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
uid=".$this->db_add_param($user)."
AND studiensemester_kurzbz=".$this->db_add_param($stsem)."
AND lehre=true
AND lehreverzeichnis<>''
ORDER BY
tbl_studiengang.typ,
tbl_studiengang.kurzbz,
semester,
bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
if($this->db_num_rows($result)>0)
{
$lv_obj = new lehrveranstaltung();
$lv_obj->load($row->lehrveranstaltung_id);
$this->items[] = array('title'=>$stsem,
'target'=>'_self',
'link'=>'#'.$stsem,
'name'=>'<b>'.$stsem.'</b>');
if($row->studiengang_kz==0 && $row->semester==0) // Freifach
while($row = $this->db_fetch_object($result))
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
else
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
'name'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
$lv_obj = new lehrveranstaltung();
$lv_obj->load($row->lehrveranstaltung_id);
if($row->studiengang_kz==0 && $row->semester==0) // Freifach
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
'name'=>'FF '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
else
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
}
}
}
else
echo "Fehler beim Auslesen der LV";
}
else
{
echo "Fehler Semester beim Auslesen der LV";
}
}
//Eigenen LV des eingeloggten Lektors anzeigen
if($is_lector)
{
if ($stsemobj = new studiensemester())
{
$stsem = $stsemobj->getNearest();
$qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
mitarbeiter_uid='".addslashes($user)."' AND tbl_lehreinheit.studiensemester_kurzbz='".addslashes($stsem)."'
ORDER BY studiengang_kz, semester, bezeichnung";
if($result = $this->db_query($qry))
$stsem_arr=array();
$stsem_arr[]=$stsemobj->getNearest();
$stsem_arr[]=$stsemobj->getNearestFrom($stsem_arr[0]);
$this->items[] = array('title'=>$p->t("lvaliste/titel"),
'target'=>'content',
'link'=>'private/profile/lva_liste.php',
'name'=>$p->t("lvaliste/titel"));
foreach($stsem_arr as $stsem)
{
$this->items[] = array('title'=>$p->t("lvaliste/titel"),
'target'=>'content',
'link'=>'private/profile/lva_liste.php',
'name'=>$p->t("lvaliste/titel"));
while($row = $this->db_fetch_object($result))
{
$lv_obj = new lehrveranstaltung();
$lv_obj->load($row->lehrveranstaltung_id);
if($row->studiengang_kz==0 AND $row->semester==0)
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength)
);
}
else
{
$stg_obj = new studiengang();
$stg_obj->load($row->studiengang_kz);
$kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz;
$stsementry=array();
$qry = "SELECT
distinct
tbl_studiengang.typ,
tbl_studiengang.kurzbz,
tbl_studiengang.bezeichnung AS studiengang_bezeichnung,
tbl_studiengangstyp.bezeichnung AS studiengangstyp_bezeichnung,
tbl_lehrveranstaltung.bezeichnung,
tbl_lehrveranstaltung.studiengang_kz,
tbl_lehrveranstaltung.semester,
tbl_lehrveranstaltung.lehreverzeichnis,
tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_lehrveranstaltung.orgform_kurzbz,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_orgform.bezeichnung AS orgform_bezeichnung
FROM
lehre.tbl_lehrveranstaltung
LEFT JOIN
bis.tbl_orgform ON (tbl_lehrveranstaltung.orgform_kurzbz=tbl_orgform.orgform_kurzbz),
lehre.tbl_lehreinheit,
lehre.tbl_lehreinheitmitarbeiter,
public.tbl_studiengang
LEFT JOIN
public.tbl_studiengangstyp ON (tbl_studiengang.typ=tbl_studiengangstyp.typ)
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id,
'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
mitarbeiter_uid=".$this->db_add_param($user)." AND
tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)."
ORDER BY
tbl_studiengang.typ,
tbl_studiengang.kurzbz,
tbl_lehrveranstaltung.semester,
tbl_lehrveranstaltung.bezeichnung";
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
{
$this->items[] = array('title'=>$stsem,
'target'=>'_self',
'link'=>'#'.$stsem,
'name'=>'<b>'.$stsem.'</b>');
while($row = $this->db_fetch_object($result))
{
$lv_obj = new lehrveranstaltung();
$lv_obj->load($row->lehrveranstaltung_id);
if($row->studiengang_kz==0 AND $row->semester==0)
{
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id,
'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength)
);
}
else
{
$kurzbz = strtoupper($row->typ.$row->kurzbz).'-'.$row->semester.' '.$row->orgform_kurzbz;
$titel = $row->studiengangstyp_bezeichnung.' '.$row->studiengang_bezeichnung.' '.$row->semester.'.Semester '.$row->orgform_bezeichnung.' '.$lv_obj->bezeichnung_arr[$sprache];
$this->items[] = array('title'=>$titel,
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
}
}
}
else
echo "Fehler beim Auslesen des Lehrfaches";
}
else
echo "Fehler beim Auslesen des Lehrfaches";
}
else
{
@@ -146,7 +216,7 @@ class menu_addon_meinelv extends menu_addon
}
$this->output();
}
private function CutString($strVal, $limit)
{
if(mb_strlen($strVal) > $limit+3)
+2 -2
View File
@@ -3,8 +3,8 @@
"components/jquery": "2.1.4",
"components/angular.js": "1.3.16",
"components/bootstrap": "3.3.5",
"michelf/php-markdown": "1.5.0"
"michelf/php-markdown": "1.5.0",
"netcarver/textile": "^3.5"
},
"require-dev":
{
+16
View File
@@ -25,6 +25,9 @@ define('CIS_LEHRVERANSTALTUNG_SEMESTERINFO_ANZEIGEN',true);
define('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN',false);
define('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN', true);
// Im CIS Menue Links bei Modulen anzeigen wenn Lehrauftrag
define('CIS_LEHRVERANSTALTUNG_MODULE_LINK',true);
// Legt fest, ob bei den LV-Infos der Block mit den Terminen zu den einzelnen LVs (laut Stundenplan) angezeigt werden soll
define ('CIS_LVINFO_TERMINE_ANZEIGEN', false);
@@ -220,4 +223,17 @@ define('BEWERBERTOOL_GTM', '');
// Array mit Usern die nicht Kollidieren
define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
//Wenn auf 'true' gesetzt, dann wird im FAS beim Konto das Feld fuer die CreditPoints angezeigt
define('FAS_KONTO_SHOW_CREDIT_POINTS','false');
// Wenn definiert, wird bei der Vorrückung der Lehreinheiten nicht der Stundensatz des Vorjahres eingetragen.
// Erlaubt sind numerische Werte oder der Wert "default".
// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen.
// Wenn numerisch, wird dieser Wert bei allen LektorInnen eingetragen.
// Wenn nicht definiert, wird der Stundensatz des Vorjahres übernommen.
define('VILESCI_STUNDENSATZ_VORRUECKUNG', '');
// Wenn true, werden die Content-Aufrufe des CIS in der tbl_webservicelog mitgeloggt. Zuvor manuell einen neuen Webservicetyp "content" anlegen!
define('LOG_CONTENT', false);
?>
+2 -2
View File
@@ -904,11 +904,11 @@ foreach($addon_obj->result as $addon)
echo '<tab id="tab-verband" label="Verband" onclick="ChangeTabVerband();"/>';
//echo '<tab id="tab-fachbereich" label="Institut" onclick="ChangeTabsToLehrveranstaltung()"/>';
echo '<tab id="tab-organisationseinheit" label="Org.einheit" tooltiptext="Organisationseinheit" onclick="ChangeTabsToLehrveranstaltung()"/>';
echo '<tab id="tab-lektor" label="Lektor" onclick="ChangeTabsToLehrveranstaltung()"/>';
echo '<tab id="tab-lektor" label="Lehrende" onclick="ChangeTabsToLehrveranstaltung()"/>';
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-menu-mitarbeiter" label="Mitarbeiter" onclick="document.getElementById(\'main-content-tabs\').selectedItem=document.getElementById(\'tab-mitarbeiter\');"/>';
echo '<tab id="tab-menu-mitarbeiter" label="Mitarbeitende" onclick="document.getElementById(\'main-content-tabs\').selectedItem=document.getElementById(\'tab-mitarbeiter\');"/>';
}
?>
</tabs>
+102
View File
@@ -689,6 +689,108 @@ if(!$error)
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittogglemitarbeiter')
{
if(!$rechte->isBerechtigt('student/anwesenheit'))
{
$return = false;
$errormsg = 'Sie haben keine Berechtigung fuer diese Aktion';
$data = '';
$error = true;
}
else
{
if(isset($_POST['lehreinheit_id']) && isset($_POST['datum']))
{
$lehreinheit_id = $_POST['lehreinheit_id'];
$datum = $_POST['datum'];
if($_POST['setanwesend']=='false')
{
// Anwesenheit loeschen
$anwesenheit = new anwesenheit();
if($anwesenheit->getAnwesenheitLehreinheit($lehreinheit_id, $datum))
{
$return = true;
$errormsg = "";
foreach($anwesenheit->result as $row)
{
$aw = new anwesenheit();
if(!$aw->delete($row->anwesenheit_id))
{
$errormsg.=$aw->errormsg;
$return = false;
}
}
}
else
{
$return = false;
$errormsg = $anwesenheit->errormsg;
}
}
else
{
$error = false;
// Anwesenheit bei allen zugeteilten Studierenden setzen
// Teilnehmer ermitteln
$einheiten = 0;
// Anzahl der Einheiten ermitteln
$qry = "SELECT distinct stunde
FROM
lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$db->db_add_param($lehreinheit_id)."
AND datum=".$db->db_add_param($datum).";";
if($result = $db->db_query($qry))
{
$einheiten = $db->db_num_rows($result);
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Einheiten';
}
if(!$error)
{
$qry = "SELECT distinct uid, vorname, nachname, person_id
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id);
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$anwesenheit = new anwesenheit();
$anwesenheit->uid = $row->uid;
$anwesenheit->einheiten = $einheiten;
$anwesenheit->lehreinheit_id = $lehreinheit_id;
$anwesenheit->datum = $datum;
$anwesenheit->anwesend = true;
$anwesenheit->anmerkung;
$anwesenheit->save();
}
$return = true;
}
else
{
$return = false;
$erorrmsg = 'Fehler beim Ermitteln der Studierenden';
}
}
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
}
else
{
$return = false;
+17 -12
View File
@@ -1775,11 +1775,13 @@ function PrintStudienblatt(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
}
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
catch(e)
@@ -1849,7 +1851,7 @@ function PrintStudienblatt(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data+"&ss="+ss;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&uid='+data+"&ss="+ss;
window.open(action,'Studienblatt','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
@@ -1864,6 +1866,7 @@ function PrintStudienblatt(event)
function PrintStudienblattEnglisch(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
try
@@ -1871,12 +1874,14 @@ function PrintStudienblattEnglisch(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
}
catch(e)
{
@@ -1945,7 +1950,7 @@ function PrintStudienblattEnglisch(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&&uid='+data;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&uid='+data+'&ss='+ss;
window.open(action,'StudienblattEng','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
+8 -8
View File
@@ -164,12 +164,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#studiengang_kz"/>
</treerow>
</treeitem>
</treechildren>
@@ -320,12 +320,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiteroverlay.xul
<?php
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz'))
{
echo '<tab id="tab-studenten" label="Studenten" onclick="ChangeTabsToVerband()"/>';
echo '<tab id="tab-studenten" label="Studierende" onclick="ChangeTabsToVerband()"/>';
echo '<tab id="tab-lfvt" label="Lehrveranstaltungen" onclick="ChangeTabsToVerband()"/>';
}
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter'))
{
echo '<tab id="tab-mitarbeiter" label="Mitarbeiter" onclick="document.getElementById(\'menu-content-tabs\').selectedItem=document.getElementById(\'tab-menu-mitarbeiter\');" />';
echo '<tab id="tab-mitarbeiter" label="MitarbeiterInnen" onclick="document.getElementById(\'menu-content-tabs\').selectedItem=document.getElementById(\'tab-menu-mitarbeiter\');" />';
}
?>
<tab id="tab-notizen" label="Meine Notizen" />
@@ -350,10 +350,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" />
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname" />
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" />
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" />
<treecell properties="Lektor_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" />
<treecell src="../skin/images/verplant_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#verplant^.png" />
</treerow>
</treeitem>
@@ -368,7 +368,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<vbox>
<hbox>
<groupbox>
<caption label="Lektorendaten" />
<caption label="LektorInnendaten" />
<vbox flex="1">
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id" hidden="true"/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid" hidden="true"/>
@@ -395,7 +395,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
<label align="end" control="lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor" value="Lektor:"/>
<label align="end" control="lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor" value="LektorIn:"/>
<menulist id="lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor" disabled="true" oncommand="LeMitarbeiterLektorChange(); LeMitarbeiterValueChanged();"
datasources="<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php"
ref="http://www.technikum-wien.at/mitarbeiter/_alle" flex="1">
@@ -1126,8 +1126,12 @@ function LeMitarbeiterLektorChange()
{
stundensatz = val.dbdml_data;
}
if (stundensatz != '')
default_stundensatz = 'Stundensatz (Default '+stundensatz+'):';
else
default_stundensatz = 'Stundensatz:';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value=stundensatz;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-stundensatz').value=default_stundensatz;
}
// ****
@@ -1212,6 +1216,33 @@ function LeMitarbeiterAuswahl()
var subject = rdfService.GetResource("http://www.technikum-wien.at/lehreinheitmitarbeiter/" + lehreinheit_id + "/"+ mitarbeiter_uid);
var predicateNS = "http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf";
//Standardstundensatz fuer die Anzeige laden
var url_stundensatz = '<?php echo APP_ROOT ?>content/lvplanung/lehrveranstaltungDBDML.php';
var req_stundensatz = new phpRequest(url_stundensatz,'','');
req_stundensatz.add('type', 'getstundensatz');
req_stundensatz.add('mitarbeiter_uid', mitarbeiter_uid);
var response_stundensatz = req_stundensatz.executePOST();
var val_stundensatz = new ParseReturnValue(response_stundensatz);
if (!val_stundensatz.dbdml_return)
{
if(val_stundensatz.dbdml_errormsg=='')
alert(response_stundensatz);
else
alert(val_stundensatz.dbdml_errormsg);
}
else
{
default_stundensatz = val_stundensatz.dbdml_data;
}
if (default_stundensatz != '')
default_stundensatz_text = 'Stundensatz (Default '+default_stundensatz+'):';
else
default_stundensatz_text = 'Stundensatz:';
//Daten in Variablen speichern
lehrfunktion_kurzbz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#lehrfunktion_kurzbz" ));
semesterstunden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#semesterstunden" ));
@@ -1233,6 +1264,7 @@ function LeMitarbeiterAuswahl()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung').value=anmerkung;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id').value=lehreinheit_id;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid').value=mitarbeiter_uid;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-stundensatz').value=default_stundensatz_text;
if(bismelden=='Ja')
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=true;
@@ -250,7 +250,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
<tabbox id="lehrveranstaltung-tabbox" flex="3" orient="vertical">
<tabs orient="horizontal" id="lehrveranstaltung-tabs">
<tab id="lehrveranstaltung-tab-detail" label="Details" />
<tab id="lehrveranstaltung-tab-lektor" label="Lektorenzuteilung" />
<tab id="lehrveranstaltung-tab-lektor" label="LektorInnenzuteilung" />
<tab id="lehrveranstaltung-tab-noten" label="Noten" />
<tab id="lehrveranstaltung-tab-notizen" label="Notizen" />
<tab id="lehrveranstaltung-tab-lvangebot" label="LV-Angebot" />
+30 -2
View File
@@ -376,22 +376,50 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
if(isset($res_id))
{
$reservierung=new reservierung();
foreach ($res_id as $reservierung_id)
{
$reservierung = new reservierung();
$reservierung->load($reservierung_id);
$deletetext = ' AND datum='.$reservierung->datum.' AND stunde='.$reservierung->stunde.' AND titel='.$reservierung->titel.' AND beschreibung='.$reservierung->beschreibung.' AND uid='.$reservierung->uid.';';
$reservierung->delete($reservierung_id);
$error_msg.=$reservierung->errormsg;
//UNDO Befehl zum mitloggen von geloeschten Reservierungen
if($error_msg=='')
{
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->sqlundo = '';
$log->sql = 'DELETE FROM campus.tbl_reservierung WHERE reservierung_id='.$reservierung_id.$deletetext;
$log->beschreibung = 'Löschen der Reservierung '.$reservierung_id;
$log->mitarbeiter_uid = $uid;
if(!$log->save(true))
$error_msg.='Fehler: '.$log->errormsg;
}
}
}
//Loeschen von mehreren Reservierungen
if(isset($res_idx))
{
$reservierung=new reservierung();
foreach ($res_idx as $reservierung_id)
{
$reservierung = new reservierung();
$reservierung->load($reservierung_id);
$deletetext = ' AND datum='.$reservierung->datum.' AND stunde='.$reservierung->stunde.' AND titel='.$reservierung->titel.' AND beschreibung='.$reservierung->beschreibung.' AND uid='.$reservierung->uid.';';
$reservierung->delete($reservierung_id);
$error_msg.=$reservierung->errormsg;
//UNDO Befehl zum mitloggen von geloeschten Reservierungen
if($error_msg=='')
{
$log = new log();
$log->executetime = date('Y-m-d H:i:s');
$log->sqlundo = '';
$log->sql = 'DELETE FROM campus.tbl_reservierung WHERE reservierung_id='.$reservierung_id.$deletetext;
$log->beschreibung = 'Löschen der Reservierung '.$reservierung_id;
$log->mitarbeiter_uid = $uid;
if(!$log->save(true))
$error_msg.='Fehler: '.$log->errormsg;
}
}
}
}
@@ -717,6 +717,10 @@ function MitarbeiterAuswahl()
if(document.getElementById('mitarbeiter-tab-vertrag'))
MitarbeiterVertragLoad(person_id)
// Notizen laden
var mitarbeiternotiz = document.getElementById('mitarbeiter-box-notizen');
mitarbeiternotiz.LoadNotizTree('','','','',person_id,'','','','');
// Selektierungsfunktion der Addons aufrufen
for(i in addon)
{
+29 -25
View File
@@ -202,35 +202,35 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#anrede" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpre" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vornamen" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#titelpost" />
<?php
if($rechte->isBerechtigt('mitarbeiter/persoenlich'))
echo '
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#geburtsdatum_iso" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#svnr" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ersatzkennzeichen" />';
?>
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#personalnummer" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#kurzbz" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#lektor" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#fixangestellt" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#telefonklappe" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#ort_kurzbz" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#person_id" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertvon" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#insertamum_iso" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updatevon" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/mitarbeiter/rdf#aktiv" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#updateamum_iso" />
</treerow>
</treeitem>
</treechildren>
@@ -261,6 +261,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
?>
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
<tab id="mitarbeiter-tab-notizen" label="Notizen"/>
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
@@ -275,6 +276,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
<vbox id="mitarbeiter-box-notiz">
<box class="Notiz" flex="1" id="mitarbeiter-box-notizen"/>
</vbox>
</tabpanels>
</tabbox>
</vbox>
+1 -1
View File
@@ -300,7 +300,7 @@ elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','Out
}
elseif($xsl=='Uebernahme')
{
if(!$rechte->isBerechtigt('wawi/inventar') && !$rechte->isBerechtigt('assistenz'))
if(!$rechte->isBerechtigt('wawi/inventar') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('basis/betriebsmittel'))
{
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
exit;
+140 -4
View File
@@ -70,6 +70,7 @@ require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/note.class.php');
require_once('../../include/standort.class.php');
require_once('../../include/adresse.class.php');
require_once('../../include/mobilitaet.class.php');
$user = get_uid();
$db = new basis_db();
@@ -589,6 +590,7 @@ if(!$error)
$prestudent->dual = ($_POST['dual']=='true'?true:false);
$prestudent->anmerkung = $_POST['anmerkung'];
$prestudent->mentor = $_POST['mentor'];
$prestudent->gsstudientyp_kurzbz = $_POST['gsstudientyp_kurzbz'];
//$prestudent->insertamum = date('Y-m-d H:i:s');
//$prestudent->insertvon = $user;
$prestudent->updateamum = date('Y-m-d H:i:s');
@@ -1864,6 +1866,7 @@ if(!$error)
$buchung->new = false;
$buchung->updateamum = date('Y-m-d H:i:s');
$buchung->updatevon = $user;
$buchung->anmerkung = $_POST['anmerkung'];
if($buchung->save())
{
@@ -1934,6 +1937,7 @@ if(!$error)
$buchung->new = true;
$buchung->insertamum = date('Y-m-d H:i:s');
$buchung->insertvon = $user;
$buchung->anmerkung = '';
if($buchung->save())
{
@@ -2049,6 +2053,7 @@ if(!$error)
$buchung->credit_points = $_POST["credit_points"];
$buchung->insertamum = date('Y-m-d H:i:s');
$buchung->insertvon = $user;
$buchung->anmerkung = $_POST['anmerkung'];
$buchung->new = true;
if($buchung->save())
@@ -2280,11 +2285,13 @@ if(!$error)
//ein Student oder Mitarbeiter ist
if(($_POST['studiengang_kz']!='' &&
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid')
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid')
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
@@ -2323,11 +2330,13 @@ if(!$error)
//ein Student oder Mitarbeiter ist
if(($_POST['studiengang_kz']!='' &&
!$rechte->isBerechtigt('assistenz',$_POST['studiengang_kz'],'suid') &&
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid')
!$rechte->isBerechtigt('admin',$_POST['studiengang_kz'], 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid')
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
@@ -3836,6 +3845,133 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='savemobilitaet')
{
// Speichert Mobilitaet/Gemeinsames Studium
$prestudent_id = $_POST['prestudent_id'];
$prestudent_obj = new prestudent();
$prestudent_obj->load($prestudent_id);
if(!$rechte->isBerechtigt('student/stammdaten', $prestudent_obj->studiengang_kz, 'suid'))
{
$return = false;
$error = true;
$errormsg = 'Sie haben keine Berechtigung';
}
else
{
$mob = new mobilitaet();
$error = false;
if(isset($_POST['mobilitaet_id']))
{
$mobilitaet_id = $_POST['mobilitaet_id'];
if(!$mob->load($mobilitaet_id))
{
$error=true;
$errormsg = $mob->errormsg;
}
}
else
{
$mob->new = true;
$mob->inservon = $user;
}
if(isset($_POST['studiensemester_kurzbz'])
&& isset($_POST['mobilitaetsprogramm_code'])
&& isset($_POST['gsprogramm_id'])
&& isset($_POST['mobilitaetstyp_kurzbz'])
&& isset($_POST['firma_id'])
&& isset($_POST['status_kurzbz'])
&& isset($_POST['ausbildungssemester']))
{
$studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$mobilitaetsprogramm_code = $_POST['mobilitaetsprogramm_code'];
$gsprogramm_id = $_POST['gsprogramm_id'];
$mobilitaetstyp_kurzbz = $_POST['mobilitaetstyp_kurzbz'];
$firma_id = $_POST['firma_id'];
$status_kurzbz = $_POST['status_kurzbz'];
$ausbildungssemester = $_POST['ausbildungssemester'];
}
else
{
$error = true;
$errormsg = 'Fehlerhafte Parameteruebergabe';
$return = false;
}
if(!$error)
{
$mob->prestudent_id = $prestudent_id;
$mob->studiensemester_kurzbz = $studiensemester_kurzbz;
$mob->mobilitaetsprogramm_code = $mobilitaetsprogramm_code;
$mob->gsprogramm_id = $gsprogramm_id;
$mob->mobilitaetstyp_kurzbz = $mobilitaetstyp_kurzbz;
$mob->firma_id = $firma_id;
$mob->status_kurzbz = $status_kurzbz;
$mob->ausbildungssemester = $ausbildungssemester;
$mob->updatevon = $user;
if($mob->save())
{
$return = true;
$data = $mob->mobilitaet_id;
}
else
{
$return = false;
$error = true;
$errormsg = $mob->errormsg;
}
}
else
{
$return = false;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='deletemobilitaet')
{
$mobilitaet_id = $_POST['mobilitaet_id'];
$mob = new mobilitaet();
if($mob->load($mobilitaet_id))
{
$prestudent = new prestudent();
if($prestudent->load($mob->prestudent_id))
{
if(!$rechte->isBerechtigt('student/stammdaten',$prestudent->studiengang_kz,'suid'))
{
$error = true;
$return = false;
$errormsg = 'Sie haben keine Berechtigung';
}
else
{
if($mob->delete($mobilitaet_id))
{
$return = true;
}
else
{
$errormsg = $mob->errormsg;
$return = false;
}
}
}
else
{
$error = true;
$return = false;
$errormsg = $prestudent->errormsg;
}
}
else
{
$return = false;
$errormsg = $mob->errormsg;
}
}
else
{
$return = false;
+43 -29
View File
@@ -47,9 +47,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<vbox id="student-detail" style="overflow:auto;margin:0px;" flex="1">
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-detail-checkbox-new" checked="true" />
<checkbox id="student-detail-checkbox-new" checked="true" />
<label value="Person_id"/>
<textbox id="student-detail-textbox-person_id" disabled="true"/>
<textbox id="student-detail-textbox-person_id" disabled="true"/>
</vbox>
<vbox flex="1">
<groupbox id="student-detail-groupbox-person">
@@ -100,7 +100,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="SVNR" control="student-detail-textbox-svnr"/>
@@ -145,7 +145,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<menuitem value="m" label="maennlich"/>
<menuitem value="w" label="weiblich"/>
<menuitem value="u" label="unbekannt"/>
</menupopup>
</menupopup>
</menulist>
<label value="Familienstand" control="student-detail-menulist-familienstand"/>
<menulist id="student-detail-menulist-familienstand" disabled="true">
@@ -155,7 +155,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<menuitem value="l" label="ledig"/>
<menuitem value="v" label="verheiratet"/>
<menuitem value="w" label="verwitwet"/>
</menupopup>
</menupopup>
</menulist>
<label value="Anzahl der Kinder" control="student-detail-textbox-anzahlderkinder" hidden="true"/>
<textbox id="student-detail-textbox-anzahlderkinder" disabled="true" maxlength="2" hidden="true"/>
@@ -168,7 +168,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<button id="student-detail-button-image-delete" label="Delete" oncommand="StudentImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
<button id="student-detail-button-image-infomail" label="Infomail" oncommand="StudentImageInfomail();" disabled="true"/>
<button id="student-detail-button-image-infomail" label="Infomail" oncommand="StudentImageInfomail();" disabled="true"/>
</vbox>
<hbox>
<image src='' id="student-detail-image" style="margin-left:5px; width:90px; height:120px"/> <!--height="60" width="60"-->
@@ -182,7 +182,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</rows>
</grid>
</groupbox>
<vbox flex="1" >
<groupbox id="student-detail-groupbox-student">
<caption label="Student" />
@@ -233,14 +233,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</rows>
</grid>
</groupbox>
<hbox>
<spacer flex="1" />
<button id="student-detail-button-save" label="Speichern" oncommand="StudentDetailSave();" disabled="true"/>
</hbox>
</vbox>
</vbox>
</vbox>
@@ -249,15 +249,15 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<popupset>
<menupopup id="student-prestudent-rolle-tree-popup">
<menuitem label="Bearbeiten" oncommand="StudentRolleBearbeiten();" id="student-prestudent-rolle-tree-popup-edit" hidden="false"/>
<menuitem label="Status bestaetigen" oncommand="StudentPrestudentRolleBestaetigen();" id="student-prestudent-rolle-tree-popup-approve" hidden="false"/>
<menuitem label="Status bestaetigen" oncommand="StudentPrestudentRolleBestaetigen();" id="student-prestudent-rolle-tree-popup-approve" hidden="false"/>
<menuitem label="Neuen Status hinzufuegen" oncommand="StudentRolleAdd();" id="student-prestudent-rolle-tree-popup-add" hidden="false"/>
<menuitem label="Entfernen" oncommand="StudentPrestudentRolleDelete();" id="student-prestudent-rolle-tree-popup-delete" hidden="false"/>
<menuitem label="Status vorrücken" oncommand="StudentPrestudentRolleVorruecken();" id="student-prestudent-rolle-tree-popup-move_forward" hidden="false"/>
<menuitem label="Entfernen" oncommand="StudentPrestudentRolleDelete();" id="student-prestudent-rolle-tree-popup-delete" hidden="false"/>
<menuitem label="Status vorrücken" oncommand="StudentPrestudentRolleVorruecken();" id="student-prestudent-rolle-tree-popup-move_forward" hidden="false"/>
</menupopup>
</popupset>
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-prestudent-checkbox-new" checked="false" />
<checkbox id="student-prestudent-checkbox-new" checked="false" />
<label value="Person_id"/>
<textbox id="student-prestudent-textbox-person_id" disabled="true"/>
<label value="Prestudent_id"/>
@@ -265,7 +265,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="studiengang_kz"/>
<textbox id="student-prestudent-textbox-studiengang_kz" disabled="true"/>
</vbox>
<groupbox id="student-detail-groupbox-zgv">
<caption id="student-detail-groupbox-caption" label="Zugangsvoraussetzung" />
<grid id="student-prestudent-grid-zgv" style="margin:4px;" flex="1">
@@ -352,7 +352,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
</rows>
</grid>
</groupbox>
<groupbox id="student-detail-groupbox-reihungstest">
<caption label="&tab-prestudent-aufnahme.label;" />
@@ -363,7 +363,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="5"/>
</columns>
<rows>
<row>
@@ -378,7 +378,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<!-- datasources="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true" flex="1"-->
<menulist id="student-prestudent-menulist-reihungstest" disabled="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/reihungstest/alle"
ref="http://www.technikum-wien.at/reihungstest/alle"
oncommand="StudentReihungstestDropDownSelect()">
<template>
<menupopup>
@@ -388,9 +388,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
<toolbarbutton id="student-prestudent-button-reihungstest-refresh" image="../skin/images/refresh.png" tooltiptext="Liste neu laden" onclick="StudentReihungstestDropDownRefresh()"/>
</hbox>
</row>
<row>
@@ -405,7 +405,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Punkte2" control="student-prestudent-textbox-punkte2"/>
<textbox id="student-prestudent-textbox-punkte2" disabled="true" maxlength="9" size="9" onchange="StudentReihungstestPunkteChange();" oninput="StudentReihungstestPunkteSum();"/>
<?php
// Das Eingebefeld fuer die 3. Reihungstestpunkte wird nur angezeigt,
// Das Eingebefeld fuer die 3. Reihungstestpunkte wird nur angezeigt,
// wenn im dies im Config aktiviert wurde
if(defined('RT_PUNKTE3') && RT_PUNKTE3=='true')
$hidden='';
@@ -415,7 +415,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '
<label value="Punkte3" control="student-prestudent-textbox-punkte3" '.$hidden.'/>
<textbox id="student-prestudent-textbox-punkte3" disabled="true" maxlength="9" size="9" onchange="StudentReihungstestPunkteChange();" oninput="StudentReihungstestPunkteSum();" '.$hidden.'/>
';
';
?>
<label value="Gesamtpunkte" control="student-prestudent-textbox-punkte"/>
<textbox id="student-prestudent-textbox-punkte" disabled="true" maxlength="9" size="9" onchange="StudentReihungstestPunkteChange();"/>
@@ -433,7 +433,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="1"/>
<column flex="5"/>
<column flex="1"/>
<column flex="5"/>
<column flex="5"/>
</columns>
<rows>
<row>
@@ -499,10 +499,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
<label value="Studientyp" control="student-detail-menulist-gsstudientyp"/>
<menulist id="student-detail-menulist-gsstudientyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/gsstudientyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/gsstudientyp" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/gsstudientyp/rdf#gsstudientyp_kurzbz"
label="rdf:http://www.technikum-wien.at/gsstudientyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Facheinschlaegig berufstaetig" control="student-prestudent-checkbox-facheinschlberuf" hidden="true"/>
<checkbox id="student-prestudent-checkbox-facheinschlberuf" checked="true" disabled="true" hidden="true"/>
</row>
</rows>
</grid>
@@ -531,7 +545,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<hbox><textbox id="student-prestudent-textbox-mentor" disabled="true" size="40" maxlength="256"/></hbox>
</row>
</rows>
</grid>
</grid>
</groupbox>
<groupbox id="student-detail-groupbox-rollen">
<caption label="Status" />
@@ -553,12 +567,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-ausbildungssemester" label="Semester" flex="1" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#ausbildungssemester"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#ausbildungssemester"
sorthints="integer"/>
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-datum" label="Datum" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum" />
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-orgform_kurzbz" label="Organisationsform" flex="2" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
@@ -589,7 +603,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_Am" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren flex="1" >
+3
View File
@@ -40,6 +40,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentdetailoverlay.xul.p
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentzeugnisoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentiooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentmobilitaetoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentpruefungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentanrechnungenoverlay.xul.php"?>';
@@ -387,6 +388,7 @@ else
<tab id="student-tab-konto" label="Konto" />
<tab id="student-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="student-tab-io" label="In/Out" />
<tab id="student-tab-mobilitaet" label="GS" />
<tab id="student-tab-noten" label="Noten" />
<tab id="student-tab-zeugnis" label="Archiv" />
<tab id="student-tab-pruefung" label="Prüfung" />
@@ -414,6 +416,7 @@ else
<vbox id="student-konto" style="margin-top:10px;" />
<iframe id="student-betriebsmittel" src="" style="margin-top:10px;" />
<vbox id="student-io" style="margin-top:10px;" />
<vbox id="student-mobilitaet" style="margin-top:10px;" />
<vbox id="student-noten" style="margin-top:10px;" />
<vbox id="student-zeugnis" style="margin-top:10px;" />
<vbox id="student-pruefung" style="margin-top:10px;" />
+24 -6
View File
@@ -27,6 +27,7 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../../config/vilesci.config.inc.php');
include('../../config/global.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
@@ -65,7 +66,12 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
label="rdf:http://www.technikum-wien.at/buchungstyp/rdf#beschreibung"
standardbetrag="rdf:http://www.technikum-wien.at/buchungstyp/rdf#standardbetrag"
standardtext="rdf:http://www.technikum-wien.at/buchungstyp/rdf#standardtext"
credit_points="rdf:http://www.technikum-wien.at/buchungstyp/rdf#credit_points"
<?php
// Credit Points werden nur angezeigt, wenn diese im Config aktiviert wurden
if(defined('FAS_KONTO_SHOW_CREDIT_POINTS') && FAS_KONTO_SHOW_CREDIT_POINTS=='true')
echo 'credit_points="rdf:http://www.technikum-wien.at/buchungstyp/rdf#credit_points"';
?>
anmerkung="rdf:http://www.technikum-wien.at/buchungstyp/rdf#anmerkung"
uri="rdf:*"/>
</menupopup>
</rule>
@@ -111,12 +117,24 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
</template>
</menulist>
</row>
<?php
// Credit Points werden nur angezeigt, wenn diese im Config aktiviert wurden
if(defined('FAS_KONTO_SHOW_CREDIT_POINTS') && FAS_KONTO_SHOW_CREDIT_POINTS=='true')
$hidden='';
else
$hidden='hidden="true"';
echo ' <row '.$hidden.'>
<label value="Credit Points" control="student-konto-neu-textbox-credit_points" '.$hidden.'/>
<hbox '.$hidden.'>
<textbox id="student-konto-neu-textbox-credit_points" maxlength="9" size="9" value="0.00" '.$hidden.'/>
<spacer flex="1" />
</hbox>
</row>';
?>
<row>
<label value="Credit Points" control="student-konto-neu-textbox-credit_points"/>
<hbox>
<textbox id="student-konto-neu-textbox-credit_points" maxlength="9" size="9" value='0.00'/>
<spacer flex="1" />
</hbox>
<label value="Anmerkung" control="student-konto-neu-textbox-anmerkung"/>
<textbox id="student-konto-neu-textbox-anmerkung" multiline="true"/>
</row>
</rows>
</grid>
+25 -8
View File
@@ -26,6 +26,7 @@ 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('../../config/global.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
@@ -126,7 +127,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
>
<!-- onselect="StudentKontoAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-konto-tree-buchungsdatum" label="Buchungsdatum" flex="2" hidden="false" primary="true"
<treecol id="student-konto-tree-buchungsdatum" label="Buchungsdatum" flex="1" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
@@ -164,6 +165,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/konto/rdf#studiengang_kuerzel" />
<splitter class="tree-splitter"/>
<treecol id="student-konto-tree-anmerkung" label="Anmerkung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/konto/rdf#anmerkung" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -179,6 +184,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/konto/rdf#insertvon"/>
<treecell label="rdf:http://www.technikum-wien.at/konto/rdf#insertamum"/>
<treecell label="rdf:http://www.technikum-wien.at/konto/rdf#studiengang_kuerzel"/>
<treecell label="rdf:http://www.technikum-wien.at/konto/rdf#anmerkung"/>
</treerow>
</treeitem>
</treechildren>
@@ -296,13 +302,20 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</menulist>
</row>
<row>
<label value="Credit Points" control="student-konto-textbox-credit_points"/>
<hbox>
<textbox id="student-konto-textbox-credit_points" disabled="true" maxlength="9" size="9"/>
<spacer flex="1" />
</hbox>
</row>
<?php
// Credit Points werden nur angezeigt, wenn diese im Config aktiviert wurden
if(defined('FAS_KONTO_SHOW_CREDIT_POINTS') && FAS_KONTO_SHOW_CREDIT_POINTS=='true')
$hidden='';
else
$hidden='hidden="true"';
echo ' <row '.$hidden.'>
<label value="Credit Points" control="student-konto-textbox-credit_points" '.$hidden.'/>
<hbox '.$hidden.'>
<textbox id="student-konto-textbox-credit_points" disabled="true" maxlength="9" size="9" '.$hidden.'/>
<spacer flex="1" />
</hbox>
</row>';
?>
<row>
<label value="Zahlungsreferenz" control="student-konto-textbox-zahlungsreferenz"/>
<hbox>
@@ -310,6 +323,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Anmerkung" control="student-konto-textbox-anmerkung"/>
<textbox id="student-konto-textbox-anmerkung" multiline="true"/>
</row>
</rows>
</grid>
<hbox>
@@ -0,0 +1,320 @@
<?php
/* Copyright (C) 2016 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>
*/
require_once('../../config/vilesci.config.inc.php');
?>
var StudentMobilitaetTreeDatasource;
var StudentMobilitaetTreeSelectID='';
// ****
// * Observer fuer BISIO Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentMobilitaetTreeSinkObserver =
{
onBeginLoad : function(pSink)
{
tree = document.getElementById('student-mobilitaet-tree');
tree.removeEventListener('select', StudentMobilitaetAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-mobilitaet-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentMobilitaetTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-mobilitaet-tree');
tree.addEventListener('select', StudentMobilitaetAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentMobilitaetTreeSelectID,10);
}
};
function StudentMobilitaetAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var gstree = document.getElementById('student-mobilitaet-tree');
if (gstree.currentIndex==-1)
return;
StudentMobilitaetDisableFields(false);
//Ausgewaehlte ID holen
var mobilitaet_id = getTreeCellText(gstree, 'student-mobilitaet-tree-mobilitaet_id', gstree.currentIndex);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/mobilitaet.rdf.php?mobilitaet_id='+mobilitaet_id+'&'+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/mobilitaet/" + mobilitaet_id);
var predicateNS = "http://www.technikum-wien.at/mobilitaet/rdf";
//Daten holen
var mobilitaetsprogramm_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mobilitaetsprogramm_code" ));
var studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
var gsprogramm_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gsprogramm_id" ));
var mobilitaetstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mobilitaetstyp_kurzbz" ));
var firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
var status_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status_kurzbz" ));
var ausbildungssemester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildungssemester" ));
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=false;
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value=mobilitaet_id;
document.getElementById('student-mobilitaet-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value=mobilitaetsprogramm_code;
document.getElementById('student-mobilitaet-menulist-gsprogramm').value=gsprogramm_id;
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value=mobilitaetstyp_kurzbz;
document.getElementById('student-mobilitaet-menulist-firma').value=firma_id;
document.getElementById('student-mobilitaet-menulist-status').value=status_kurzbz;
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value=ausbildungssemester;
}
function StudentMobilitaetLoad(prestudent_id)
{
StudentMobilitaetResetFileds();
StudentMobilitaetDisableFields(true);
document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-mobilitaet-button-neu').disabled=false;
document.getElementById('student-mobilitaet-button-loeschen').disabled=false;
var gstree = document.getElementById('student-mobilitaet-tree');
url='<?php echo APP_ROOT;?>rdf/mobilitaet.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
try
{
StudentMobilitaetTreeDatasource.removeXMLSinkObserver(StudentMobilitaetTreeSinkObserver);
gstree.builder.removeListener(StudentMobilitaetTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = gstree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gstree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gstree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentMobilitaetTreeDatasource = rdfService.GetDataSource(url);
StudentMobilitaetTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentMobilitaetTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
gstree.database.AddDataSource(StudentMobilitaetTreeDatasource);
StudentMobilitaetTreeDatasource.addXMLSinkObserver(StudentMobilitaetTreeSinkObserver);
gstree.builder.addListener(StudentMobilitaetTreeListener);
}
// ****
// * Aktiviert die Felder zum Anlegen eines neuen Eintrages
// ****
function StudentMobilitaetNeu()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Felder Resetten und Aktivieren
StudentMobilitaetResetFileds();
StudentMobilitaetDisableFields(false);
// Defaultwerte fuer neuen Eintrag setzen
var stsem = getStudiensemester();
document.getElementById('student-mobilitaet-menulist-studiensemester').value=stsem;
document.getElementById('student-mobilitaet-menulist-status').value='Student';
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value='GS';
}
function StudentMobilitaetResetFileds()
{
var stsem = getStudiensemester();
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=true;
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value='';
document.getElementById('student-mobilitaet-menulist-studiensemester').value=stsem;
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value='';
document.getElementById('student-mobilitaet-menulist-gsprogramm').value='';
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value='GS';
document.getElementById('student-mobilitaet-menulist-firma').value='';
document.getElementById('student-mobilitaet-menulist-status').value='';
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value='';
}
function StudentMobilitaetDisableFields(val)
{
document.getElementById('student-mobilitaet-menulist-studiensemester').disabled=val;
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').disabled=val;
document.getElementById('student-mobilitaet-menulist-gsprogramm').disabled=val;
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').disabled=val;
document.getElementById('student-mobilitaet-menulist-firma').disabled=val;
document.getElementById('student-mobilitaet-menulist-status').disabled=val;
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').disabled=val;
document.getElementById('student-mobilitaet-button-speichern').disabled=val;
}
// ****
// * Speichert den Mobilitaet Datensatz
// ****
function StudentMobilitaetSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var ausbildungssemester = document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value;
var status = document.getElementById('student-mobilitaet-menulist-status').value;
var firma = document.getElementById('student-mobilitaet-menulist-firma').value;
var mobilitaetstyp = document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value;
var gsprogramm = document.getElementById('student-mobilitaet-menulist-gsprogramm').value;
var mobilitaetsprogramm = document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value;
var studiensemester = document.getElementById('student-mobilitaet-menulist-studiensemester').value;
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
var prestudent_id = document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value;
var mobilitaet_id = document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value;
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'savemobilitaet');
if(neu==false)
req.add('mobilitaet_id', mobilitaet_id);
req.add('neu', neu);
req.add('mobilitaetsprogramm_code', mobilitaetsprogramm);
req.add('ausbildungssemester', ausbildungssemester);
req.add('status_kurzbz', status);
req.add('firma_id', firma);
req.add('mobilitaetstyp_kurzbz', mobilitaetstyp);
req.add('gsprogramm_id', gsprogramm);
req.add('studiensemester_kurzbz', studiensemester);
req.add('prestudent_id', prestudent_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value = val.dbdml_data;
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=false;
StudentMobilitaetTreeSelectID = val.dbdml_data;
StudentMobilitaetTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
// ****
// * Selectiert den Mobilitaet Eintrag nachdem der Tree
// * rebuildet wurde.
// ****
function StudentMobilitaetTreeSelectID()
{
var tree=document.getElementById('student-mobilitaet-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentMobilitaetSelectID!=null)
{
for(var i=0;i < items;i++)
{
//ID der row holen
var mobilitaet_id = getTreeCellText(tree, 'student-mobilitaet-tree-mobilitaet_id', i);
//wenn dies die zu selektierende Zeile
if(mobilitaet_id == StudentMobilitaetSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentMobilitaetSelectID=null;
return true;
}
}
}
}
function StudentMobilitaetDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-mobilitaet-tree');
if (tree.currentIndex==-1) return;
StudentMobilitaetDisableFields(false);
//Ausgewaehlte Nr holen
var mobilitaet_id = getTreeCellText(tree, 'student-mobilitaet-tree-mobilitaet_id', tree.currentIndex);
if(confirm('Diesen Eintrag wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deletemobilitaet');
req.add('mobilitaet_id', mobilitaet_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentMobilitaetSelectID=mobilitaet_id;
StudentMobilitaetTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden geloescht');
StudentMobilitaetResetFileds();
StudentMobilitaetDisableFields(true);
}
}
}
@@ -0,0 +1,228 @@
<?php
/* Copyright (C) 2016 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
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');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="MobilitaetDetailOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentmobilitaetoverlay.js.php" />
<vbox id="student-mobilitaet" style="overflow:auto;margin:0px;" flex="1">
<popupset>
<menupopup id="student-mobilitaet-tree-popup">
<menuitem label="Entfernen" oncommand="StudentMobilitaetDelete();" id="student-mobilitaet-tree-popup-delete" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1">
<grid id="student-mobilitaet-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<tree id="student-mobilitaet-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mobilitaet"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
context="student-mobilitaet-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-mobilitaet-tree-studiensemester" label="StSem" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#studiensemester"/>
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-mobilitaetsprogramm" label="Mobilitaetsprogramm" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaetsprogramm"/>
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-status_kurzbz" label="Status" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#status_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-ausbildungssemester" label="Sem" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#ausbildungssemester" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-gsprogrammtyp_kurzbz" label="Typ" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#gsprogrammtyp_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-mobilitaet_id" label="ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaet_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaetsprogramm"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#status_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#ausbildungssemester"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#gsprogrammtyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaet_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<hbox>
<button id="student-mobilitaet-button-neu" label="Neu" oncommand="StudentMobilitaetNeu();" disabled="true"/>
<button id="student-mobilitaet-button-loeschen" label="Loeschen" oncommand="StudentMobilitaetDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-mobilitaet-detail-checkbox-neu" checked="true" />
<label value="Uid"/>
<textbox id="student-mobilitaet-detail-textbox-prestudent_id" disabled="true"/>
<label value="gs ID"/>
<textbox id="student-mobilitaet-detail-textbox-mobilitaet_id" disabled="true"/>
</vbox>
<groupbox id="student-mobilitaet-groupbox" flex="1">
<caption label="Gemeinsame Studien"/>
<grid id="student-mobilitaet-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-mobilitaet-menulist-mobilitaetstyp"/>
<menulist id="student-mobilitaet-menulist-mobilitaetstyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/mobilitaetstyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/mobilitaetstyp" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetstyp/rdf#mobilitaetstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/mobilitaetstyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Studiensemester" control="student-mobilitaet-menulist-studiensemester"/>
<menulist id="student-mobilitaet-menulist-studiensemester" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="1"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Mobilitaetsprogramm" control="student-mobilitaet-menulist-mobilitaetsprogramm"/>
<menulist id="student-mobilitaet-menulist-mobilitaetsprogramm" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/mobilitaetsprogramm.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/mobilitaetsprogramm/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#mobilitaetsprogramm_code"
label="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#kurzbz - rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Studienprogramm" control="student-mobilitaet-menulist-gsprogramm"/>
<menulist id="student-mobilitaet-menulist-gsprogramm" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/gsprogramm.rdf.php" flex="1"
ref="http://www.technikum-wien.at/gsprogramm" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/gsprogramm/rdf#gsprogramm_id"
label="rdf:http://www.technikum-wien.at/gsprogramm/rdf#gsprogrammtyp_bezeichnung - rdf:http://www.technikum-wien.at/gsprogramm/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Partner" control="student-mobilitaet-menulist-firma"/>
<menulist id="student-mobilitaet-menulist-firma" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php?partner=true&amp;optional=true" flex="1"
ref="http://www.technikum-wien.at/firma/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/firma/rdf#firma_id"
label="rdf:http://www.technikum-wien.at/firma/rdf#name"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Status" control="student-mobilitaet-menulist-status"/>
<menulist id="student-mobilitaet-menulist-status" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/status.rdf.php" flex="1"
ref="http://www.technikum-wien.at/status" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/status/rdf#status_kurzbz"
label="rdf:http://www.technikum-wien.at/status/rdf#status_kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Ausbildungssemester" control="student-mobilitaet-textbox-ausbildungssemester"/>
<hbox>
<textbox id="student-mobilitaet-textbox-ausbildungssemester" disabled="true" size="1"/>
<spacer flex="1" />
</hbox>
</row>
</rows>
</grid>
</groupbox>
<hbox>
<spacer flex="1" />
<button id="student-mobilitaet-button-speichern" oncommand="StudentMobilitaetSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</vbox>
</row>
</rows>
</grid>
</hbox>
<spacer flex="1" />
</vbox>
</overlay>
+51 -32
View File
@@ -919,11 +919,12 @@ function StudentAuswahl()
StudentKontoDisableFields(false);
StudentAkteDisableFields(false);
StudentIODisableFields(false);
StudentMobilitaetDisableFields(false);
StudentNoteDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
StudentPruefungDisableFileds(false);
if(document.getElementById('student-tab-anrechnungen'))
StudentAnrechnungenDisableFields(false);
StudentAnrechnungenDisableFields(false);
}
else
{
@@ -944,9 +945,9 @@ function StudentAuswahl()
var url = '<?php echo APP_ROOT ?>rdf/student.rdf.php?prestudent_id='+prestudent_id+'&studiensemester_kurzbz='+stsem+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/student/" + prestudent_id);
@@ -1057,6 +1058,7 @@ function StudentAuswahl()
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkungpre" ));
mentor = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mentor" ));
dual = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dual" ));
gsstudientyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gsstudientyp_kurzbz" ));
document.getElementById('student-prestudent-menulist-aufmerksamdurch').value=aufmerksamdurch_kurzbz;
document.getElementById('student-prestudent-menulist-berufstaetigkeit').value=berufstaetigkeit_code;
@@ -1102,6 +1104,7 @@ function StudentAuswahl()
document.getElementById('student-prestudent-textbox-anmerkung').value=anmerkung;
document.getElementById('student-prestudent-textbox-mentor').value=mentor;
document.getElementById('student-detail-menulist-gsstudientyp').value=gsstudientyp_kurzbz;
document.getElementById('student-detail-groupbox-caption').label='Zugangsvoraussetzung für '+nachname+' '+vorname;
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1366,6 +1369,12 @@ function StudentAuswahl()
bisiotree.builder.addListener(StudentIOTreeListener);
}
if(uid!='')
{
// *** Gemeinsame Studien / Mobilitaet ***
StudentMobilitaetLoad(prestudent_id);
}
if(uid!='')
{
// *** ZeugnisNoten ***
@@ -1474,40 +1483,40 @@ function StudentAuswahl()
}
if(document.getElementById('student-tab-anrechnungen'))
{
// ****** Anrechnungen ****** //
StudentAnrechnungDetailDisableFields(true);
StudentAnrechnungResetNotizLabel();
{
// ****** Anrechnungen ****** //
StudentAnrechnungDetailDisableFields(true);
StudentAnrechnungResetNotizLabel();
anrechnungtree = document.getElementById('student-anrechnungen-tree');
anrechnungtree = document.getElementById('student-anrechnungen-tree');
url='<?php echo APP_ROOT;?>rdf/anrechnung.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
url='<?php echo APP_ROOT;?>rdf/anrechnung.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
try
{
StudentAnrechnungTreeDatasource.removeXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.removeListener(StudentAnrechnungTreeListener);
}
catch(e)
{}
try
{
StudentAnrechnungTreeDatasource.removeXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.removeListener(StudentAnrechnungTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = anrechnungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
anrechnungtree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
anrechnungtree.builder.rebuild();
//Alte DS entfernen
var oldDatasources = anrechnungtree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
anrechnungtree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
anrechnungtree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAnrechnungTreeDatasource = rdfService.GetDataSource(url);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
anrechnungtree.database.AddDataSource(StudentAnrechnungTreeDatasource);
StudentAnrechnungTreeDatasource.addXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.addListener(StudentAnrechnungTreeListener);
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAnrechnungTreeDatasource = rdfService.GetDataSource(url);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
anrechnungtree.database.AddDataSource(StudentAnrechnungTreeDatasource);
StudentAnrechnungTreeDatasource.addXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
anrechnungtree.builder.addListener(StudentAnrechnungTreeListener);
}
if(uid!='')
{
@@ -1602,6 +1611,7 @@ function StudentPrestudentDisableFields(val)
//document.getElementById('student-prestudent-menulist-studiengang_kz').disabled=val;
document.getElementById('student-prestudent-textbox-anmerkung').disabled=val;
document.getElementById('student-prestudent-textbox-mentor').disabled=val;
document.getElementById('student-detail-menulist-gsstudientyp').disabled=val;
//Status Tree leeren
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1656,6 +1666,7 @@ function StudentPrestudentSave()
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
anmerkung = document.getElementById('student-prestudent-textbox-anmerkung').value;
mentor = document.getElementById('student-prestudent-textbox-mentor').value;
gsstudientyp = document.getElementById('student-detail-menulist-gsstudientyp').value;
if(zgvdatum!='' && !CheckDatum(zgvdatum))
{
@@ -1711,6 +1722,7 @@ function StudentPrestudentSave()
req.add('studiengang_kz', studiengang_kz);
req.add('anmerkung', anmerkung);
req.add('mentor', mentor);
req.add('gsstudientyp_kurzbz', gsstudientyp);
var response = req.executePOST();
@@ -2323,6 +2335,7 @@ function StudentKontoAuswahl()
buchungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#buchungstyp_kurzbz" ));
credit_points = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#credit_points" ));
zahlungsreferenz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zahlungsreferenz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
document.getElementById('student-konto-textbox-betrag').value=betrag;
document.getElementById('student-konto-textbox-buchungsdatum').value=buchungsdatum;
@@ -2334,6 +2347,7 @@ function StudentKontoAuswahl()
document.getElementById('student-konto-menulist-studiengang_kz').value=studiengang_kz;
document.getElementById('student-konto-textbox-credit_points').value=credit_points;
document.getElementById('student-konto-textbox-zahlungsreferenz').value=zahlungsreferenz;
document.getElementById('student-konto-textbox-anmerkung').value=anmerkung;
}
// ****
@@ -2552,6 +2566,7 @@ function StudentKontoDetailDisableFields(val)
document.getElementById('student-konto-menulist-buchungstyp').disabled=val;
document.getElementById('student-konto-menulist-studiensemester').disabled=val;
document.getElementById('student-konto-menulist-studiengang_kz').disabled=val;
document.getElementById('student-konto-textbox-anmerkung').disabled=val;
document.getElementById('student-konto-button-speichern').disabled=val;
}
@@ -2571,6 +2586,7 @@ function StudentKontoDetailSpeichern()
studiensemester_kurzbz = document.getElementById('student-konto-menulist-studiensemester').value;
studiengang_kz = document.getElementById('student-konto-menulist-studiengang_kz').value;
credit_points = document.getElementById('student-konto-textbox-credit_points').value;
anmerkung = document.getElementById('student-konto-textbox-anmerkung').value;
if(buchungsdatum!='' && !CheckDatum(buchungsdatum))
{
@@ -2591,6 +2607,7 @@ function StudentKontoDetailSpeichern()
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('studiengang_kz', studiengang_kz);
req.add('credit_points', credit_points);
req.add('anmerkung', anmerkung);
var response = req.executePOST();
@@ -2741,6 +2758,7 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
buchungstyp_kurzbz = dialog.getElementById('student-konto-neu-menulist-buchungstyp').value;
studiensemester_kurzbz = dialog.getElementById('student-konto-neu-menulist-studiensemester').value;
credit_points = dialog.getElementById('student-konto-neu-textbox-credit_points').value;
anmerkung = dialog.getElementById('student-konto-neu-textbox-anmerkung').value;
if(buchungsdatum!='' && !CheckDatum(buchungsdatum))
{
@@ -2759,6 +2777,7 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
req.add('buchungstyp_kurzbz', buchungstyp_kurzbz);
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('credit_points', credit_points);
req.add('anmerkung', anmerkung);
var response = req.executePOST();
+1 -1
View File
@@ -295,7 +295,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
<tab id="tab-verband" label="Verband" />
<tab id="tab-ort" label="Ort" />
<tab id="tab-fachbereich" label="Institut" onclick="ChangeTabsToLehrveranstaltung()"/>
<tab id="tab-lektor" label="Lektor" />
<tab id="tab-lektor" label="Lehrende" />
</tabs>
<tabpanels id="tabpanels-left" flex="1">
<tree id="tree-verband" />
+78 -1
View File
@@ -36,6 +36,16 @@ function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, stud
TermineMitarbeiterUID=mitarbeiter_uid;
TermineStudentUID=student_uid;
if(student_uid=='')
document.getElementById('termine-tree-popup-toggle-anwesenheit').hidden=true;
else
document.getElementById('termine-tree-popup-toggle-anwesenheit').hidden=false;
if(mitarbeiter_uid=='')
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=true;
else
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=false;
// Stundenplan Tabelle aus Variablen holen
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
TermineSetSTPLTable(TermineStundenplanTable);
@@ -126,7 +136,7 @@ function TermineToggleAnwesenheit()
alert('Anwesenheit kann nur in der Studierendenansicht geaendert werden');
return;
}
if(TermineStundenplanTable!='stundenplan')
{
alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.');
@@ -167,3 +177,70 @@ function TermineToggleAnwesenheit()
SetStatusBarText('Daten wurden gespeichert');
}
}
function TermineToggleAnwesenheitMitarbeiter()
{
if(TermineMitarbeiterUID=='')
{
alert('Anwesenheit kann nur bei Mitarbeiter gelöscht werden');
return;
}
if(TermineStundenplanTable!='stundenplan')
{
alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.');
return;
}
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('termine-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte Nr holen
var datum = getTreeCellText(tree, 'termine-treecol-datum_iso', tree.currentIndex);
var lehreinheit_id = getTreeCellText(tree, 'termine-treecol-lehreinheit_id', tree.currentIndex);
var anwesend = getTreeCellText(tree, 'termine-treecol-anwesend', tree.currentIndex);
if(anwesend=='Ja')
setanwesend=false;
else if(anwesend=='Nein')
setanwesend=true;
else
{
alert('Abbruch -> Anwesenheit ist unbestimmt');
return;
}
if(setanwesend == false)
{
if(!confirm('Achtung, beim Löschen der Anwesenheit des Lektors werden auch die Anwesenheiten der Studierenden entfernt. Wollen Sie die Anwesenheit wirklich entfernen?'))
return;
}
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'anwesenheittogglemitarbeiter');
req.add('datum', datum);
req.add('lehreinheit_id', lehreinheit_id);
req.add('setanwesend', setanwesend);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
TermineLoadTree();
SetStatusBarText('Daten wurden gespeichert');
}
}
+1
View File
@@ -50,6 +50,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
<popupset>
<menupopup id="termine-tree-popup">
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheit();" id="termine-tree-popup-toggle-anwesenheit" hidden="false"/>
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheitMitarbeiter();" id="termine-tree-popup-togglemitarbeiter-anwesenheit" hidden="false"/>
</menupopup>
</popupset>
<groupbox id="termine-groupbox-termine" flex="1">
+40 -2
View File
@@ -101,8 +101,46 @@ if(copy($zipfile, $tempname_zip))
$cTmpHEX='/9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD//gAXQ3JlYXRlZCB3aXRoIFRoZSBHSU1Q/9sAQwAFAwQEBAMFBAQEBQUFBgcMCAcHBwcPCwsJDBEPEhIRDxERExYcFxMUGhURERghGBodHR8fHxMXIiQiHiQcHh8e/9sAQwEFBQUHBgcOCAgOHhQRFB4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e/8AAEQgAAQABAwEiAAIRAQMRAf/EABUAAQEAAAAAAAAAAAAAAAAAAAAI/8QAFBABAAAAAAAAAAAAAAAAAAAAAP/EABQBAQAAAAAAAAAAAAAAAAAAAAD/xAAUEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwCywAf/2Q==';
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
$cTmpHEX=$row->foto;
//Wenn kein Lichtbild in den Akten vorhanden ist, Foto aus tbl_person holen
if ($db->db_num_rows($result) == 0)
{
$qry_person = "SELECT foto FROM public.tbl_person WHERE person_id=".$db->db_add_param($bn->person_id, FHC_INTEGER);
if($result_person = $db->db_query($qry_person))
{
if($row_person = $db->db_fetch_object($result_person))
{
//Wenn auch kein Foto in tbl_person gespeichert ist, mit der naechsten UID fortfahren
if($row_person->foto == '')
continue;
else
$cTmpHEX = $row_person->foto;
}
}
}
if($row = $db->db_fetch_object($result))
{
//Wenn der Inhalt des Lichtbilds leer ist, Foto aus tbl_person holen
if ($row->foto =='')
{
$qry_person = "SELECT foto FROM public.tbl_person WHERE person_id=".$db->db_add_param($bn->person_id, FHC_INTEGER);
if($result_person = $db->db_query($qry_person))
{
if($row_person = $db->db_fetch_object($result_person))
{
//Wenn auch kein Foto in tbl_person gespeichert ist, mit der naechsten UID fortfahren
if($row_person->foto == '')
continue;
else
$cTmpHEX = $row_person->foto;
}
}
}
else
$cTmpHEX = $row->foto;
}
}
// Bild in den Temp Ordner zwischenspeichern
+324
View File
@@ -0,0 +1,324 @@
<?php
/* Copyright (C) 2006 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Andreas Moik <moik@technikum-wien.at>.
*/
/**
* Klasse zur Verwaltung der Ablaeufe der Raihungstests
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class ablauf extends basis_db
{
public $new;
public $result = array();
//Tabellenspalten
public $studiengang_kz;
public $gebiet_id;
public $reihung;
public $gewicht;
public $ablauf_id;
public $insertamum;
public $insertvon;
public $updateamum;
public $updatevon;
public $semester;
public $ablauf_vorgaben_id;
public $studienplan_id;
/**
* Konstruktor
* @param $ablauf_id ID des zu ladenden Datensatzes
*/
public function __construct($ablauf_id=null)
{
parent::__construct();
if(!is_null($ablauf_id))
$this->load($ablauf_id);
}
/**
* Laedt einen Datensatz
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
*/
public function load($ablauf_id)
{
//id auf Gueltigkeit pruefen
if(!is_numeric($ablauf_id))
{
$this->errormsg = 'ablauf_id muss eine gueltige Zahl sein';
return false;
}
//laden des Datensatzes
$qry = "SELECT
*
FROM
testtool.tbl_ablauf
WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$obj = new ablauf();
$obj->studiengang_kz = $row->studiengang_kz;
$obj->gebiet_id = $row->gebiet_id;
$obj->reihung = $row->reihung;
$obj->gewicht = $row->gewicht;
$obj->ablauf_id = $row->ablauf_id;
$obj->semester = $row->semester;
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
$obj->studienplan_id = $row->studienplan_id;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
/**
* Loescht einen Datensatz
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
* @return true wenn ok, false im Fehlerfall
*/
public function delete($ablauf_id)
{
//abschlusspruefung_id auf Gueltigkeit pruefen
if(!is_numeric($ablauf_id))
{
$this->errormsg = 'ablauf_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM testtool.tbl_ablauf
WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen';
return false;
}
}
/**
* Prueft die Daten vor dem Speichern
*
* @return true wenn ok, false wenn Fehler
*/
protected function validate()
{
if($this->studiengang_kz=='')
{
$this->errormsg = 'studiengang_kz muss eingegeben werden';
return false;
}
if($this->gebiet_id=='')
{
$this->errormsg = 'gebiet_id muss eingetragen werden';
return false;
}
if($this->reihung=='')
{
$this->errormsg = 'reihung muss eingetragen werden';
return false;
}
if($this->gewicht=='')
{
$this->errormsg = 'gewicht muss eingetragen werden';
return false;
}
if($this->semester=='')
{
$this->errormsg = 'semester muss eingetragen werden';
return false;
}
return true;
}
/**
* Speichert den aktuellen Datensatz
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO testtool.tbl_ablauf (studiengang_kz, gebiet_id, reihung,
gewicht, semester, ablauf_vorgaben_id, studienplan_id,
updateamum, updatevon, insertamum, insertvon) VALUES (".
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->gebiet_id, FHC_INTEGER).', '.
$this->db_add_param($this->reihung, FHC_INTEGER).', '.
$this->db_add_param($this->gewicht, FHC_INTEGER).', '.
$this->db_add_param($this->semester, FHC_INTEGER).', '.
$this->db_add_param($this->ablauf_vorgaben_id, FHC_INTEGER).', '.
$this->db_add_param($this->studienplan_id).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).');';
}
else
{
//Bestehenden Datensatz aktualisieren
$qry= "UPDATE testtool.tbl_ablauf SET".
" studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER).",".
" gebiet_id=".$this->db_add_param($this->gebiet_id, FHC_INTEGER).",".
" reihung=".$this->db_add_param($this->reihung, FHC_INTEGER).",".
" gewicht=".$this->db_add_param($this->gewicht, FHC_INTEGER).",".
" semester=".$this->db_add_param($this->semester, FHC_INTEGER).",".
" ablauf_vorgaben_id=".$this->db_add_param($this->ablauf_vorgaben_id, FHC_INTEGER).",".
" studienplan_id=".$this->db_add_param($this->studienplan_id).",".
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE ablauf_id=".$this->db_add_param($this->ablauf_id, FHC_INTEGER);
}
if($this->db_query($qry))
{
if($new)
{
$qry = "SELECT currval('testtool.tbl_ablauf_ablauf_id_seq') as id";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->ablauf_id = $row->id;
$this->db_query('COMMIT;');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK');
return false;
}
}
else
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
return false;
}
}
/**
* Laedt die zugehoerigen Gebiete zum angegebenen Studiengang (gegebenfalls auch Studiengang)
* @param $studiengang_kz Studiengang
* @return boolean true wenn ok sonst false
*/
public function getAblaufGebiete($studiengang_kz, $studienplan_id=null) {
$qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$studiengang_kz;
if (!is_null($studienplan_id))
$qry .= " AND studienplan_id=".$studienplan_id;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->gebiet_id = $row->gebiet_id;
$obj->reihung = $row->reihung;
$obj->gewicht = $row->gewicht;
$obj->semester = $row->semester;
$obj->studienplan_id = $row->studienplan_id;
$this->result[]= $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Leadt die ablauf_id zu einer Kombination aus Studiengang und Gebiet
* @param $studiengang_kz Studiengang
* @param $gebiet_id Gebiet
* @return boolean true wenn ok sonst false
*/
public function getAblaufId($studiengang_kz, $gebiet_id)
{
$qry = "SELECT
*
FROM
testtool.tbl_ablauf
WHERE studiengang_kz=".$studiengang_kz." AND gebiet_id=".$gebiet_id.";";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->result[] = $row->ablauf_id;
return true;
}
else
{
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
}
}
}
?>
+63 -10
View File
@@ -38,6 +38,8 @@ class ampel extends basis_db
public $vorlaufzeit; // smallint
public $verfallszeit; // smallint
public $email; // boolean
public $verpflichtend; // boolean
public $buttontext; // varchar(64)[]
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
@@ -74,8 +76,9 @@ class ampel extends basis_db
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
@@ -89,6 +92,8 @@ class ampel extends basis_db
$this->vorlaufzeit = $row->vorlaufzeit;
$this->verfallszeit = $row->verfallszeit;
$this->email = $row->email;
$this->verpflichtend = $row->verpflichtend;
$this->buttontext = $sprache->parseSprachResult('buttontext', $row);
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
@@ -117,8 +122,9 @@ class ampel extends basis_db
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
if($aktiv)
{
$qry .= " WHERE (NOW()>(deadline-(vorlaufzeit || ' days')::interval)::date)";
@@ -140,6 +146,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $this->db_parse_bool($row->email);
$obj->verpflichtend = $this->db_parse_bool($row->verpflichtend);
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
@@ -212,20 +220,21 @@ class ampel extends basis_db
/**
* Laedt alle aktuellen Ampeln eines Users
* @param $user
* @param $zukuenftige_anzeigen
* @param string $user User, dessen Ampeln geladen werden sollen
* @param boolean $zukuenftige_anzeigen Default false
* wenn true, werden alle zukuenftigen Ampeln geladen
* wenn false, werden nur die Ampeln geladen die innerhalb der vorlaufzeit liegen
* @param $bestaetigt
* @param boolean $bestaetigt Default false
* wenn true, werden alle Ampeln geladen
* wenn false, werden nur die Ampeln geladen die noch nicht bestaetigt wurden
* wenn false, werden nur die Ampeln geladen die noch NICHT bestaetigt wurden
*/
public function loadUserAmpel($user, $zukuenftige_anzeigen=false, $bestaetigt=false)
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
if(!$zukuenftige_anzeigen)
$qry.=" AND deadline-vorlaufzeit<now()";
@@ -237,7 +246,7 @@ class ampel extends basis_db
FROM public.tbl_ampel_benutzer_bestaetigt
WHERE uid=".$this->db_add_param($user)." AND ampel_id=tbl_ampel.ampel_id)";
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -254,6 +263,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $row->email;
$obj->verpflichtend = $row->verpflichtend;
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
@@ -315,19 +326,28 @@ class ampel extends basis_db
$idx = sprache::$index_arr[$key];
$qry.=" beschreibung[$idx],";
}
foreach($this->buttontext as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=" buttontext[$idx],";
}
$qry.=" benutzer_select, deadline,
vorlaufzeit, verfallszeit, email, insertamum, insertvon , updateamum, updatevon) VALUES(".
vorlaufzeit, verfallszeit, email, verpflichtend, insertamum, insertvon , updateamum, updatevon) VALUES(".
$this->db_add_param($this->kurzbz).',';
reset($this->beschreibung);
foreach($this->beschreibung as $key=>$value)
$qry.=$this->db_add_param($value).',';
reset($this->buttontext);
foreach($this->buttontext as $key=>$value)
$qry.=$this->db_add_param($value).',';
$qry .= $this->db_add_param($this->benutzer_select).','.
$this->db_add_param($this->deadline).','.
$this->db_add_param($this->vorlaufzeit).','.
$this->db_add_param($this->verfallszeit).','.
$this->db_add_param($this->email, FHC_BOOLEAN).','.
$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
@@ -343,12 +363,19 @@ class ampel extends basis_db
$idx = sprache::$index_arr[$key];
$qry.=' beschreibung['.$idx.'] = '.$this->db_add_param($value).',';
}
reset($this->buttontext);
foreach($this->buttontext as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=' buttontext['.$idx.'] = '.$this->db_add_param($value).',';
}
$qry.= ' benutzer_select = '.$this->db_add_param($this->benutzer_select).','.
' deadline = '.$this->db_add_param($this->deadline).','.
' vorlaufzeit = '.$this->db_add_param($this->vorlaufzeit).','.
' verfallszeit = '.$this->db_add_param($this->verfallszeit).','.
' email = '.$this->db_add_param($this->email, FHC_BOOLEAN).','.
' verpflichtend = '.$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
' updateamum ='.$this->db_add_param($this->updateamum).','.
' updatevon ='.$this->db_add_param($this->updatevon).
' WHERE ampel_id='.$this->db_add_param($this->ampel_id, FHC_INTEGER).';';
@@ -414,6 +441,29 @@ class ampel extends basis_db
}
}
/**
* Loescht eine Bestaetigung einer Ampel
* @param $ampel_id
*/
public function deleteAmpelBenutzer($ampel_benutzer_bestaetigt_id)
{
if(!is_numeric($ampel_benutzer_bestaetigt_id))
{
$this->errormsg='ID ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_ampel_benutzer_bestaetigt WHERE ampel_benutzer_bestaetigt_id=".$this->db_add_param($ampel_benutzer_bestaetigt_id);
if($this->db_query($qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Bestaetigung';
return false;
}
}
/**
* Bestaetigt die Ampel eines Users
* @param $user
@@ -446,6 +496,7 @@ class ampel extends basis_db
{
$sprache = new sprache();
$beschreibung = $sprache->getSprachQuery('beschreibung');
$buttontext = $sprache->getSprachQuery('buttontext');
if(!is_numeric($ampel_id) && $ampel_id!='')
{
@@ -454,7 +505,7 @@ class ampel extends basis_db
}
// Ampeln holen
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
if($ampel_id!='')
$qry.=" WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
@@ -500,6 +551,8 @@ class ampel extends basis_db
$obj->vorlaufzeit = $row->vorlaufzeit;
$obj->verfallszeit = $row->verfallszeit;
$obj->email = $row->email;
$obj->verpflichtend = $row->verpflichtend;
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
+2 -2
View File
@@ -166,9 +166,9 @@ class anrechnung extends basis_db
. 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
. 'updateamum = NOW(), '
. 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
. 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id). ' RETURNING anrechnung_id;';
}
if ($this->db_query($qry))
{
$this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
+25 -6
View File
@@ -597,12 +597,12 @@ class anwesenheit extends basis_db
// Anwesenheitsliste wurde noch nicht erfasst. Eintrag neu anlegen
// Einheiten ermitteln
$qry = "SELECT
distinct stunde
FROM
lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
$qry = "SELECT
distinct stunde
FROM
lehre.tbl_stundenplan
WHERE
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
AND datum=".$this->db_add_param($datum);
if($result = $this->db_query($qry))
@@ -636,4 +636,23 @@ class anwesenheit extends basis_db
}
}
/**
* Loescht eine Anwesenheit
* @param anwesenheit_id integer ID der Anwesenheit.
* @return boolean true wenn ok , false im fehlerfall
*/
public function delete($anwesenheit_id)
{
$qry = "DELETE FROM campus.tbl_anwesenheit WHERE anwesenheit_id=".$this->db_add_param($anwesenheit_id, FHC_INTEGER).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Anwesenheit';
return false;
}
}
}
+9 -3
View File
@@ -131,9 +131,15 @@ class benutzerfunktion extends basis_db
*/
public function getBenutzerFunktion($uid, $funktion_kurzbz, $oe_kurzbz)
{
$qry = "SELECT * FROM public.tbl_benutzerfunktion
WHERE uid=".$this->db_add_param($uid)." AND funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
$qry = "SELECT
bfunk.*, stg.studiengang_kz
FROM
public.tbl_benutzerfunktion AS bfunk
INNER JOIN public.tbl_studiengang AS stg ON(stg.oe_kurzbz = bfunk.oe_kurzbz)
WHERE
bfunk.uid=".$this->db_add_param($uid)."
AND bfunk.funktion_kurzbz=".$this->db_add_param($funktion_kurzbz)."
AND bfunk.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($result = $this->db_query($qry))
{
+13 -8
View File
@@ -42,6 +42,7 @@ class bewerbungstermin extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $studienplan_id; // integer
/**
* Konstruktor
@@ -86,6 +87,7 @@ class bewerbungstermin extends basis_db
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->studienplan_id = $row->studienplan_id;
return true;
}
else
@@ -109,13 +111,13 @@ class bewerbungstermin extends basis_db
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($studiensemester_kurzbz!=null)
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($sort != null)
{
$qry.=" ORDER BY ".$sort;
}
$qry.=";";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
@@ -134,6 +136,7 @@ class bewerbungstermin extends basis_db
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->studienplan_id = $row->studienplan_id;
$this->result[] = $obj;
}
@@ -170,7 +173,7 @@ class bewerbungstermin extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon) VALUES('.
$qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon, studienplan_id) VALUES('.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->beginn).', '.
@@ -178,7 +181,8 @@ class bewerbungstermin extends basis_db
$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
$this->db_add_param($this->nachfrist_ende).', '.
$this->db_add_param($this->anmerkung).', now(),'.
$this->db_add_param($this->insertvon).');';
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
}
else
{
@@ -191,7 +195,8 @@ class bewerbungstermin extends basis_db
'nachfrist_ende='.$this->db_add_param($this->nachfrist_ende).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).' '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).' '.
'WHERE bewerbungstermin_id='.$this->db_add_param($this->bewerbungstermin_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
@@ -229,17 +234,17 @@ class bewerbungstermin extends basis_db
return false;
}
}
public function delete($bewerbungstermin_id)
{
$qry = "DELETE from public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler beim Löschen der Daten';
return false;
}
return true;
}
}
+30 -31
View File
@@ -23,7 +23,7 @@
class datum
{
public $ts_day=86400; // Timestamp eines Tages
/**
* Konstruktor
*
@@ -103,13 +103,12 @@ class datum
*/
public function jump_week($datum, $wochen)
{
$stunde_vor=date("G",$datum);
// Eine Woche sind 604800 Sekunden
$datum+=604800*$wochen;
$stunde_nach=date("G",$datum);
if ($stunde_nach!=$stunde_vor)
$datum+=3600;
return $datum;
$days = $wochen * 7;
$datetime=new DateTime();
$datetime->setTimestamp($datum);
$datetime->modify($days.' day');
return $datetime->format("U");
}
/**
@@ -159,7 +158,7 @@ class datum
else
return false;
}
/**
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
* @param $datum1
@@ -196,7 +195,7 @@ class datum
if($start=='' && $ende!='' && $dateende>=$dateref)
return true;
// Ende nicht gesetzt; Start gesetzt
// Ende nicht gesetzt; Start gesetzt
if($ende=='' && $start!='' && $datestart<=$dateref)
return true;
@@ -237,7 +236,7 @@ class datum
return $h1.':'.$m1;
}
/**
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
@@ -268,7 +267,7 @@ class datum
return $h1.':'.$m1;
}
/**
* Prueft und Liefert ein Datum im angegeben Format
* fuer die Formatierung wird die Funktion formatDatum verwendet
@@ -278,9 +277,9 @@ class datum
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
*/
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
{
@list($day, $month, $year) = @explode(".", $datum);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
@@ -293,7 +292,7 @@ class datum
@list($year, $month, $day) = @explode("-", $datum);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
if (strlen($datum)==6)
{
$year="20".substr($datum,0,2);
@@ -301,7 +300,7 @@ class datum
$day=substr($datum,4,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
}
}
else if (strlen($datum)==8)
{
$year=substr($datum,0,4);
@@ -309,15 +308,15 @@ class datum
$day=substr($datum, 6,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
$year=substr($datum,5,4);
$year=substr($datum,5,4);
$month=substr($datum,3,2);
$day=substr($datum, 0,2);
if (@checkdate($month, $day, $year))
return $this->formatDatum($datum, $format, $strict);
}
return false;
}
}
return false;
}
/**
@@ -334,18 +333,18 @@ class datum
{
if(trim($datum)=='')
return '';
$ts='';
$error=false;
//2008-12-31
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30:15
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
@@ -355,20 +354,20 @@ class datum
//1.12.2008
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30:15
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
}
if($ts=='' && !$strict)
{
$ts = strtotime($datum);
if(!$ts || $ts==-1)
{
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
@@ -378,9 +377,9 @@ class datum
if($ts!='' && !$error)
return date($format, $ts);
return false;
}
}
?>
+6 -1
View File
@@ -422,7 +422,10 @@ class dokument extends basis_db
*/
public function getDokumente($studiengang_kz)
{
$qry = "SELECT * FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz)
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig');
$qry = "SELECT *,$bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig FROM public.tbl_dokumentstudiengang JOIN public.tbl_dokument USING(dokument_kurzbz)
WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
ORDER BY dokument_kurzbz;";
@@ -434,6 +437,8 @@ class dokument extends basis_db
$dok->dokument_kurzbz = $row->dokument_kurzbz;
$dok->bezeichnung = $row->bezeichnung;
$dok->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$dok->pflicht = $this->db_parse_bool($row->pflicht);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
+137 -69
View File
@@ -16,9 +16,9 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and.
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and.
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at>.
*/
/**
* Klasse firma
@@ -29,14 +29,14 @@ require_once(dirname(__FILE__).'/organisationseinheit.class.php');
class firma extends basis_db
{
public $new; // boolean
public $new; // boolean
public $result = array(); // adresse Objekt
//Tabellenspalten
public $firma_id; // integer
public $name; // string
public $anmerkung; // string
public $lieferbedingungen; // string
public $lieferbedingungen; // string
public $ext_id; // integer
public $insertamum; // timestamp
public $insertvon; // bigint
@@ -48,6 +48,7 @@ class firma extends basis_db
public $gesperrt; // boolean
public $aktiv; // boolean
public $finanzamt; // string
public $partner_code; // varchar(20)
// firma_organisationseinheit
public $oe_kurzbz; // string
@@ -96,7 +97,7 @@ class firma extends basis_db
$this->firma_id = $row->firma_id;
$this->name = $row->name;
$this->anmerkung = $row->anmerkung;
$this->lieferbedingungen = $row->lieferbedingungen;
$this->lieferbedingungen = $row->lieferbedingungen;
$this->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
@@ -108,6 +109,7 @@ class firma extends basis_db
$this->gesperrt = $this->db_parse_bool($row->gesperrt);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->finanzamt = $row->finanzamt;
$this->partner_code = $row->partner_code;
$qry = "SELECT tag FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id,FHC_INTEGER).';';
if($resulttag = $this->db_query($qry))
@@ -149,7 +151,7 @@ class firma extends basis_db
$this->errormsg = 'Anmerkung darf nicht länger als 256 Zeichen sein';
return false;
}
if(mb_strlen($this->lieferbedingungen)>256)
if(mb_strlen($this->lieferbedingungen)>256)
{
$this->errormsg = 'Lieferbedingungen darf nicht länger als 256 Zeichen sein';
return false;
@@ -175,20 +177,21 @@ class firma extends basis_db
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma (name, anmerkung, lieferbedingungen,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, schule,steuernummer,
gesperrt,aktiv,finanzamt) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->lieferbedingungen).', '.
$this->db_add_param($this->firmentyp_kurzbz).', '.
$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->schule, FHC_BOOLEAN).','.
$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).' ); ';
gesperrt,aktiv,finanzamt, partner_code) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->lieferbedingungen).', '.
$this->db_add_param($this->firmentyp_kurzbz).', '.
$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->schule, FHC_BOOLEAN).','.
$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->partner_code).'); ';
}
else
{
@@ -204,15 +207,16 @@ class firma extends basis_db
'firma_id='.$this->db_add_param($this->firma_id).', '.
'name='.$this->db_add_param($this->name).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'lieferbedingungen='.$this->db_add_param($this->lieferbedingungen).', '.
'lieferbedingungen='.$this->db_add_param($this->lieferbedingungen).', '.
'updateamum= now(), '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'firmentyp_kurzbz='.$this->db_add_param($this->firmentyp_kurzbz).', '.
'schule='.$this->db_add_param($this->schule, FHC_BOOLEAN).', '.
'steuernummer='.$this->db_add_param($this->steuernummer).', '.
'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).' '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'firmentyp_kurzbz='.$this->db_add_param($this->firmentyp_kurzbz).', '.
'schule='.$this->db_add_param($this->schule, FHC_BOOLEAN).', '.
'steuernummer='.$this->db_add_param($this->steuernummer).', '.
'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).', '.
'partner_code='.$this->db_add_param($this->partner_code).' '.
'WHERE firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).';';
}
@@ -377,14 +381,14 @@ class firma extends basis_db
SELECT
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort, partner_code
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%'
UNION
SELECT
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort, partner_code
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '%".$this->db_escape($matchcode)."%'
@@ -418,6 +422,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -495,6 +500,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -511,7 +517,7 @@ class firma extends basis_db
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$qry ="SELECT * FROM (SElECT ";
$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 ";
@@ -542,6 +548,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -571,15 +578,15 @@ class firma extends basis_db
/**
* Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung
* Suche nur nach Firmennamen für die abgespeckte Firmenverwaltung
* @return true wenn ok, false im Fehlerfall
*/
public function searchByName($filter)
public function searchByName($filter)
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$qry ="SELECT * FROM (SElECT ";
$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 ";
@@ -590,9 +597,9 @@ class firma extends basis_db
if($filter!='')
$qry.= " and ( lower(tbl_firma.name) like lower('%".$this->db_escape($filter)."%')
) ";
//if($filter=='' && $firmentyp_kurzbz=='')
// $qry.=" limit 500 ";
$qry.=") as a ORDER BY name;";
@@ -618,6 +625,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -646,15 +654,21 @@ class firma extends basis_db
}
/**
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps
* Laedt alle Firmen Standorte, und Adressen nach Suchstring und/oder eines bestimmen Firmentyps, und/oder einer bestimmten Organisationseinheit
* @param string $filter Optional. Searchstring.
* @param string $firmentyp_kurzbz Optional. Firmentyp
* @param boolean $standorte Default false. Wenn false, findet ein distinct on auf die firma_id statt
* @param string $oefilter Oe_kurzbz. Optional. Filtert die Firmen auf die uebergebene oe_kurzbz.
* @return true wenn ok, false im Fehlerfall
*/
public function searchFirma($filter='',$firmentyp_kurzbz='', $standorte=false)
public function searchFirma($filter='',$firmentyp_kurzbz='', $standorte=false, $oefilter='')
{
$this->result = array();
$this->errormsg = '';
$qry ="SELECT * FROM (SElECT ";
$oes = '';
if ($oefilter!='')
$oes = implode("','",$oefilter);
$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 ";
@@ -662,6 +676,8 @@ class firma extends basis_db
$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 ) ";
if ($oes!='')
$qry.=" LEFT JOIN public.tbl_firma_organisationseinheit ON (tbl_firma.firma_id=tbl_firma_organisationseinheit.firma_id) ";
$qry.=" WHERE 1=1";
if($filter!='')
@@ -673,7 +689,7 @@ class firma extends basis_db
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(tbl_standort.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
@@ -683,6 +699,9 @@ class firma extends basis_db
if($firmentyp_kurzbz!='')
$qry.=" and firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
if($oes!='')
$qry.=" and oe_kurzbz IN ('".$oes."') ";
//if($filter=='' && $firmentyp_kurzbz=='')
// $qry.=" limit 500 ";
$qry.=") as a ORDER BY name;";
@@ -696,7 +715,7 @@ class firma extends basis_db
$fa->firma_id = $row->firma_id;
$fa->name = $row->name;
$fa->anmerkung = $row->anmerkung;
$fa->lieferbedingungen = $row->lieferbedingungen;
//$fa->lieferbedingungen = $row->lieferbedingungen;
$fa->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fa->updateamum = $row->updateamum;
$fa->updatevon = $row->updatevon;
@@ -708,6 +727,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -773,11 +793,12 @@ class firma extends basis_db
/**
* Laedt alle Firmen - Organisationseinheiten nach Firmen ID und/oder OE Kurzbz
* @param $firma_id ID die gelesen werden soll
* @param $oe_kurzbz Organisationskurzbezeichnung
* @param integer $firma_id ID die gelesen werden soll
* @param string $oe_kurzbz Organisationskurzbezeichnung
* @param string $firmentyp_kurzbz Optional. Firmentyp, der geliefert werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function get_firmaorganisationseinheit($firma_id='',$oe_kurzbz='')
public function get_firmaorganisationseinheit($firma_id='', $oe_kurzbz='', $firmentyp_kurzbz='')
{
$this->result = array();
$this->errormsg = '';
@@ -797,9 +818,11 @@ class firma extends basis_db
$qry.=" WHERE true ";
if($firma_id!='')
$qry.=" and tbl_firma_organisationseinheit.firma_id=".$this->db_add_param($firma_id, FHC_INTEGER);
$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.=" AND tbl_firma_organisationseinheit.oe_kurzbz=".$this->db_add_param($oe_kurzbz);
if($firmentyp_kurzbz!='')
$qry.=" AND firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
$qry.=" ORDER BY tbl_firma.name, tbl_firma_organisationseinheit.oe_kurzbz;";
if($this->db_query($qry))
@@ -823,6 +846,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->oe_kurzbz = $row->oe_kurzbz;
$fa->firma_organisationseinheit_id = $row->firma_organisationseinheit_id;
$fa->oe_parent_kurzbz = $row->oe_parent_kurzbz;
@@ -920,14 +944,14 @@ class firma extends basis_db
//Neuen Datensatz einfuegen
$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).', '.
$this->db_add_param($this->kundennummer).', '.
$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->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->oe_kurzbz).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->kundennummer).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).' ); ';
}
else
{
@@ -945,7 +969,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).' '.
'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))
@@ -1059,25 +1083,25 @@ class firma extends basis_db
}
}
/**
* Lädt Alle firmen die zu einem bestimmten mobilitaetsprogramm zugeordnet sind
* @param $mobilitaetsprogramm_code
* @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).';';
/**
* Lädt Alle firmen die zu einem bestimmten mobilitaetsprogramm zugeordnet sind
* @param $mobilitaetsprogramm_code
* @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;
$fi->lieferbedingungen = $row->lieferbedingungen;
$fi->lieferbedingungen = $row->lieferbedingungen;
$fi->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$fi->updateamum = $row->updateamum;
$fi->updatevon = $row->updatevon;
@@ -1089,8 +1113,9 @@ 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;
$fi->partner_code = $row->partner_code;
$this->result[] = $fi;
$this->result[] = $fi;
}
}
@@ -1100,6 +1125,49 @@ class firma extends basis_db
return false;
}
}
}
/**
* Laedt Firmen die eine PartnerCode haben
* @param $firma_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function getFirmaPartner()
{
$qry = "SELECT * FROM public.tbl_firma WHERE partner_code is not null;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new stdClass();
$obj->firma_id = $row->firma_id;
$obj->name = $row->name;
$obj->anmerkung = $row->anmerkung;
$obj->lieferbedingungen = $row->lieferbedingungen;
$obj->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->schule = $this->db_parse_bool($row->schule);
$obj->steuernummer = $row->steuernummer;
$obj->gesperrt = $this->db_parse_bool($row->gesperrt);
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->finanzamt = $row->finanzamt;
$obj->partner_code = $row->partner_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
?>
+79 -11
View File
@@ -36,6 +36,7 @@ class frage extends basis_db
public $demo;
public $level;
public $kategorie_kurzbz;
public $aktiv;
public $sprache;
public $audio;
@@ -80,7 +81,7 @@ class frage extends basis_db
return false;
}
$qry = "SELECT * FROM testtool.tbl_frage WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
$qry = "SELECT * FROM testtool.tbl_frage LEFT OUTER JOIN testtool.tbl_frage_sprache USING (frage_id) WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -96,6 +97,8 @@ class frage extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->level = $row->level;
$this->aktiv = $row->aktiv;
$this->bild = $row->bild;
return true;
}
@@ -137,7 +140,7 @@ class frage extends basis_db
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO testtool.tbl_frage (kategorie_kurzbz, gebiet_id, level, nummer, demo,
insertamum, insertvon, updateamum, updatevon) VALUES('.
insertamum, insertvon, aktiv, updateamum, updatevon) VALUES('.
$this->db_add_param($this->kategorie_kurzbz).','.
$this->db_add_param($this->gebiet_id, FHC_INTEGER).','.
$this->db_add_param($this->level).','.
@@ -145,6 +148,7 @@ class frage extends basis_db
$this->db_add_param($this->demo, FHC_BOOLEAN).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
'null,null);';
}
else
@@ -156,7 +160,8 @@ class frage extends basis_db
' nummer='.$this->db_add_param($this->nummer).','.
' demo='.$this->db_add_param($this->demo, FHC_BOOLEAN).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
' updatevon='.$this->db_add_param($this->updatevon).','.
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false).";";
}
@@ -222,12 +227,12 @@ class frage extends basis_db
else
{
$qry = 'UPDATE testtool.tbl_frage_sprache SET'.
' text='.$this->db_add_param($this->text).','.
' bild='.$this->db_add_param($this->bild).','.
' audio='.$this->db_add_param($this->audio).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false)." AND sprache=".$this->db_add_param($this->sprache).";";
' text='.$this->db_add_param($this->text).','.
' bild='.$this->db_add_param($this->bild).','.
' audio='.$this->db_add_param($this->audio).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false)." AND sprache=".$this->db_add_param($this->sprache).";";
}
if($this->db_query($qry))
@@ -265,6 +270,7 @@ class frage extends basis_db
$obj->level = $row->level;
$obj->nummer = $row->nummer;
$obj->demo = $this->db_parse_bool($row->demo);
$obj->aktiv = $this->db_parse_bool($row->aktiv); //TODO
$this->result[] = $obj;
}
@@ -281,7 +287,7 @@ class frage extends basis_db
/**
* Liefert die Fragen eines Gebietes
*
* @param $gebiet_id
* @param integer $gebiet_id
* @return true wenn ok, sonst false
*/
public function getFragenGebiet($gebiet_id)
@@ -301,6 +307,7 @@ class frage extends basis_db
$obj->level = $row->level;
$obj->nummer = $row->nummer;
$obj->demo = $this->db_parse_bool($row->demo);
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$this->result[] = $obj;
}
@@ -346,7 +353,7 @@ class frage extends basis_db
if(!is_null($frage_id))
$qry.=" AND tbl_pruefling_frage.nummer>(SELECT nummer FROM testtool.tbl_pruefling_frage WHERE pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)." AND frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." LIMIT 1)";
elseif(is_null($frage_id) && $levelgebiet)
$qry.=" AND tbl_pruefling_frage.endtime is null ";
$qry.=" AND tbl_pruefling_frage.endtime is null";
$qry.="ORDER BY tbl_pruefling_frage.nummer ASC LIMIT 1";
}
@@ -391,6 +398,7 @@ class frage extends basis_db
$this->level = $row->level;
$this->demo = $this->db_parse_bool($row->demo);
$this->nummer = $row->nummer;
$this->aktiv = $this->db_parse_bool($row->aktiv);
return true;
}
@@ -535,6 +543,7 @@ class frage extends basis_db
tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
tbl_pruefling_frage.pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)."
ORDER BY nummer DESC LIMIT 1;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -819,5 +828,64 @@ class frage extends basis_db
return false;
}
}
/**
* Gibt die Nummer der naechsten Frage zurueck (nicht fuer den test sondern fuer die testtool-administrationsseite)
*
* @param $frage_nummer Nummer der aktuellen Frage
* @param $gebiet_id Gebiet der Fragen
* @param $aktiv true wenn nur aktiv, false wenn nur inaktiv, null wenn beides
*/
public function getNextFrageNummer($frage_nummer, $gebiet_id, $aktiv=null)
{
$erg = '';
$qry = "SELECT nummer FROM testtool.tbl_frage
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
AND nummer>".$this->db_add_param($frage_nummer, FHC_INTEGER);
if (!is_null($aktiv) && $aktiv)
$qry .= " AND aktiv";
if (!is_null($aktiv) && !$aktiv)
$qry .= " AND NOT aktiv";
$qry .= " ORDER BY nummer ASC LIMIT 1"; //Es wird immer nur ein Maximum geben, deswegen kein max()
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$erg .= $row->nummer;
}
return $erg;
} else {
return false;
}
}
/**
* Gibt die letzte (hoechste) Nummer eines Gebiets zurueck
*
* @param integer $gebiet_id Gebiet der Fragen
* @return integer $number Nummer der letzten Frage des Gebiets, wenn gefunden, sonst false
*/
public function getMaxNummer($gebiet_id)
{
$number = '';
$qry = "SELECT nummer FROM testtool.tbl_frage
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." ORDER BY nummer DESC LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$number = $row->nummer;
}
return $number;
}
else
{
return false;
}
}
}
?>
+3 -2
View File
@@ -784,11 +784,12 @@ function getSprache()
{
if(isset($_COOKIE['sprache']))
{
$sprache=$_COOKIE['sprache'];
// Uses urlencode to avoid XSS issues
$sprache = urlencode($_COOKIE['sprache']);
}
else
{
$sprache=DEFAULT_LANGUAGE;
$sprache = DEFAULT_LANGUAGE;
}
setSprache($sprache);
}
+60 -39
View File
@@ -72,7 +72,9 @@ class gebiet extends basis_db
*/
public function load($gebiet_id)
{
$qry = "SELECT * FROM testtool.tbl_gebiet WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$qry = "SELECT *,$bezeichnung_mehrsprachig FROM testtool.tbl_gebiet WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -81,6 +83,7 @@ class gebiet extends basis_db
$this->gebiet_id = $row->gebiet_id;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->beschreibung = $row->beschreibung;
$this->zeit = $row->zeit;
$this->multipleresponse = $this->db_parse_bool($row->multipleresponse);
@@ -193,47 +196,65 @@ class gebiet extends basis_db
{
$qry = 'BEGIN;INSERT INTO testtool.tbl_gebiet (kurzbz, bezeichnung, beschreibung, zeit, multipleresponse,
kategorien, maxfragen, zufallfrage, zufallvorschlag, level_start, level_sprung_auf, level_sprung_ab,
levelgleichverteilung, maxpunkte, antwortenprozeile, insertamum, insertvon , updateamum, updatevon) VALUES('.
$this->db_add_param($this->kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->beschreibung).','.
$this->db_add_param($this->zeit).','.
$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
$this->db_add_param($this->maxfragen).','.
$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
$this->db_add_param($this->level_start).','.
$this->db_add_param($this->level_sprung_auf).','.
$this->db_add_param($this->level_sprung_ab).','.
$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
$this->db_add_param($this->maxpunkte).','.
$this->db_add_param($this->antwortenprozeile).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).
',null, null);';
levelgleichverteilung, maxpunkte, antwortenprozeile, ';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry.=" bezeichnung_mehrsprachig[$idx],";
}
$qry.='insertamum, insertvon , updateamum, updatevon) VALUES('.
$this->db_add_param($this->kurzbz).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->beschreibung).','.
$this->db_add_param($this->zeit).','.
$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
$this->db_add_param($this->maxfragen).','.
$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
$this->db_add_param($this->level_start).','.
$this->db_add_param($this->level_sprung_auf).','.
$this->db_add_param($this->level_sprung_ab).','.
$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
$this->db_add_param($this->maxpunkte).','.
$this->db_add_param($this->antwortenprozeile).',';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
$qry.=$this->db_add_param($value).',';
$qry .= $this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).
',null, null);';
}
else
{
$qry = 'UPDATE testtool.tbl_gebiet SET'.
' kurzbz='.$this->db_add_param($this->kurzbz).','.
' bezeichnung='.$this->db_add_param($this->bezeichnung).','.
' beschreibung='.$this->db_add_param($this->beschreibung).','.
' zeit='.$this->db_add_param($this->zeit).','.
' multipleresponse='.$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
' kategorien='.$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
' maxfragen='.$this->db_add_param($this->maxfragen).','.
' zufallfrage='.$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
' zufallvorschlag='.$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
' level_start='.$this->db_add_param($this->level_start).','.
' level_sprung_auf='.$this->db_add_param($this->level_sprung_auf).','.
' level_sprung_ab='.$this->db_add_param($this->level_sprung_ab).','.
' levelgleichverteilung='.$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
' maxpunkte='.$this->db_add_param($this->maxpunkte).','.
' antwortenprozeile='.$this->db_add_param($this->antwortenprozeile).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
" WHERE gebiet_id=".$this->db_add_param($this->gebiet_id, FHC_INTEGER, false).";";
' kurzbz='.$this->db_add_param($this->kurzbz).','.
' bezeichnung='.$this->db_add_param($this->bezeichnung).','.
' beschreibung='.$this->db_add_param($this->beschreibung).','.
' zeit='.$this->db_add_param($this->zeit).','.
' multipleresponse='.$this->db_add_param($this->multipleresponse, FHC_BOOLEAN).','.
' kategorien='.$this->db_add_param($this->kategorien, FHC_BOOLEAN).','.
' maxfragen='.$this->db_add_param($this->maxfragen).','.
' zufallfrage='.$this->db_add_param($this->zufallfrage, FHC_BOOLEAN).','.
' zufallvorschlag='.$this->db_add_param($this->zufallvorschlag, FHC_BOOLEAN).','.
' level_start='.$this->db_add_param($this->level_start).','.
' level_sprung_auf='.$this->db_add_param($this->level_sprung_auf).','.
' level_sprung_ab='.$this->db_add_param($this->level_sprung_ab).','.
' levelgleichverteilung='.$this->db_add_param($this->levelgleichverteilung, FHC_BOOLEAN).','.
' maxpunkte='.$this->db_add_param($this->maxpunkte).','.
' antwortenprozeile='.$this->db_add_param($this->antwortenprozeile).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).',';
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
{
$idx = sprache::$index_arr[$key];
$qry .= " bezeichnung_mehrsprachig[$idx]=".$this->db_add_param($value).",";
}
$qry = mb_substr($qry,0,-1);
$qry .= ' WHERE gebiet_id='.$this->db_add_param($this->gebiet_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
@@ -241,7 +262,7 @@ class gebiet extends basis_db
//aktuelle ID aus der Sequence holen
if($new)
{
$qry='SELECT currval("testtool.tbl_gebiet_gebiet_id_seq") as id;';
$qry="SELECT currval('testtool.tbl_gebiet_gebiet_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
+209
View File
@@ -0,0 +1,209 @@
<?php
/* Copyright (C) 2016 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>
*/
/**
* Klasse GSProgramm
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gsprogramm extends basis_db
{
public $new=true; // boolean
public $result = array();
//Tabellenspalten
public $gsprogramm_id;
public $programm_code;
public $bezeichnung;
public $gsprogrammtyp_kurzbz;
public function getAll()
{
$qry ="SELECT
tbl_gsprogramm.*,
tbl_gsprogrammtyp.bezeichnung as gsprogrammtyp_bezeichnung
FROM
bis.tbl_gsprogramm
LEFT JOIN bis.tbl_gsprogrammtyp USING(gsprogrammtyp_kurzbz)
ORDER BY tbl_gsprogramm.bezeichnung";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new gsprogramm();
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->programm_code = $row->programm_code;
$obj->bezeichnung = $row->bezeichnung;
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->gsprogrammtyp_bezeichnung = $row->gsprogrammtyp_bezeichnung;
$this->result[]=$obj;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Lädt ein GSProgramm
* @param int $gsprogramm_id
* @return boolean
*/
public function load($gsprogramm_id)
{
$qry ="SELECT * FROM bis.tbl_gsprogramm where gsprogramm_id =".$this->db_add_param($gsprogramm_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->gsprogramm_id;
$this->programm_code = $row->programm_code;
$this->bezeichnung = $row->bezeichnung;
$this->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$this->new = false;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt die GSProgrammTypen
* @return true wenn ok, false im Fehlerfall
*/
public function getTypen()
{
$qry = "SELECT * FROM bis.tbl_gsprogrammtyp ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->programmtyp_code = $row->programmtyp_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Programmtypen';
return false;
}
}
public function save()
{
if($this->new)
{
$qry = 'BEGIN;INSERT INTO bis.tbl_gsprogramm(programm_code,
bezeichnung, gsprogrammtyp_kurzbz) VALUES('.
$this->db_add_param($this->programm_code).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->gsprogrammtyp_kurzbz).');';
}
else
{
$qry = 'UPDATE bis.tbl_gsprogramm SET
bezeichnung='.$this->db_add_param($this->bezeichnung).',
gsprogrammtyp_kurzbz='.$this->db_add_param($this->gsprogrammtyp_kurzbz).',
programm_code='.$this->db_add_param($this->programm_code, FHC_INTEGER).'
WHERE gsprogramm_id='.$this->db_add_param($this->gsprogramm_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($this->new)
{
//Sequence lesen
$qry="SELECT currval('bis.tbl_gsprogramm_gsprogramm_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->id;
$this->db_query('COMMIT;');
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
return true;
}
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht ein GSProgramm
* @param $gsprogramm_id ID des Datensatzes
* @return boolean true wenn ok, false im Fehlerfall
*/
public function delete($gsprogramm_id)
{
$qry = "DELETE FROM bis.tbl_gsprogramm
WHERE gsprogramm_id=".$this->db_add_param($gsprogramm_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen des Datensatzes';
return false;
}
}
}
Regular → Executable
+96 -7
View File
@@ -60,6 +60,7 @@ class konto extends basis_db
public $aktiv;
public $credit_points;
public $zahlungsreferenz;
public $anmerkung;
/**
* Konstruktor
@@ -116,6 +117,7 @@ class konto extends basis_db
$this->vornamen = $row->vornamen;
$this->credit_points = $row->credit_points;
$this->zahlungsreferenz = $row->zahlungsreferenz;
$this->anmerkung = $row->anmerkung;
return true;
}
else
@@ -191,7 +193,7 @@ class konto extends basis_db
{
//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, 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, zahlungsreferenz, anmerkung) 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 +207,9 @@ 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->credit_points).');';
$this->db_add_param($this->credit_points).', '.
$this->db_add_param($this->zahlungsreferenz).', '.
$this->db_add_param($this->anmerkung).');';
}
else
{
@@ -224,7 +228,9 @@ 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).','.
' credit_points='.$this->db_add_param($this->credit_points).
' credit_points='.$this->db_add_param($this->credit_points).','.
' zahlungsreferenz='.$this->db_add_param($this->zahlungsreferenz).','.
' anmerkung='.$this->db_add_param($this->anmerkung).
" WHERE buchungsnr='".$this->db_add_param($this->buchungsnr, FHC_INTEGER)."';";
}
@@ -385,6 +391,9 @@ class konto extends basis_db
$buchung->nachname = $row->nachname;
$buchung->vorname = $row->vorname;
$buchung->vornamen = $row->vornamen;
$buchung->credit_points = $row->credit_points;
$buchung->zahlungsreferenz = $row->zahlungsreferenz;
$buchung->anmerkung = $row->anmerkung;
if($buchung->buchungsnr_verweis!='')
{
@@ -453,11 +462,11 @@ class konto extends basis_db
*/
public function getDifferenz($buchungsnr)
{
$qry = "SELECT
$qry = "SELECT
sum(betrag) as differenz FROM public.tbl_konto
WHERE
WHERE
(buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($buchungsnr, FHC_INTEGER).")
OR
OR
(buchungsnr=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER).") OR buchungsnr_verweis=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)."))";
if($this->db_query($qry))
@@ -647,7 +656,7 @@ class konto extends basis_db
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
if(!is_null($studiensemester_kurzbz))
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$subqry.="
ORDER BY tbl_studiensemester.start DESC";
@@ -801,6 +810,51 @@ class konto extends basis_db
}
}
/**
* Liefert die CreditPoints die ein Studierender für ein Studiensemester zur Verfügung hat
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
* wird false zurueckgeliefert. Es werden die Creditpoint der Belastungen herangezogen.
* Die Gegenbuchung wird nicht beruecksichtigt.
* @return Anzahl der gekauften CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPointsOfStudiensemester($uid, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
WHERE
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";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$creditpoints = $row->cp;
if($creditpoints!='')
{
return $creditpoints;
}
else
return false;
}
else
{
// keine Einschraenkung vorhanden
return false;
}
}
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
@@ -854,6 +908,7 @@ class konto extends basis_db
$this->insertvon = $row->insertvon;
$this->credit_points = $row->credit_points;
$this->zahlungsreferenz = $row->zahlungsreferenz;
$this->anmerkung = $row->anmerkung;
return true;
}
else
@@ -869,5 +924,39 @@ class konto extends basis_db
}
}
/**
* ueberprueft, ob leistungsstipendium gebucht ist fuer
* student_uid und studiensemester
* @param string $uid UserID
* @param string $stsem Studiensemester
* @return boolean
*/
public function checkLeistungsstipendium($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)."
AND tbl_benutzer.uid = tbl_student.student_uid
AND tbl_benutzer.person_id = tbl_konto.person_id
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
AND tbl_konto.buchungstyp_kurzbz = 'Leistungsstipendium' ORDER BY buchungsnr";
if($this->db_query($subqry))
{
if ($this->db_num_rows()==0)
return false;
else
{
return true;
}
}
else
{
$this->errormsg = 'Fehler bei einer Abfrage';
return false;
}
}
}
?>
+253 -258
View File
@@ -289,8 +289,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
// else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -425,8 +423,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
//else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester);
@@ -436,7 +432,6 @@ class lehrveranstaltung extends basis_db
if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '')
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz);
if (!is_null($lehre))
$qry .= " AND lehre=" . ($lehre ? 'true' : 'false');
@@ -527,10 +522,10 @@ class lehrveranstaltung extends basis_db
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
WHERE uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL)
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ") ORDER BY semester, bezeichnung";
//Datensaetze laden
@@ -608,16 +603,10 @@ class lehrveranstaltung extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
/*
if(is_null($orgform_kurzbz) || $orgform_kurzbz=='')
{
$this->errormsg = 'keine orgform_kurzbz uebergeben';
return false;
}*/
$qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz).' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"=".$this->db_add_param($orgform_kurzbz));
//echo $qry;
$return=array();
if($db_result=$this->db_query($qry))
{
@@ -1072,9 +1061,9 @@ class lehrveranstaltung extends basis_db
}
$qry = "SELECT mdl_course_id FROM lehre.tbl_moodle
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
$moodleArray = array();
@@ -1199,7 +1188,8 @@ class lehrveranstaltung extends basis_db
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN") && CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN)
$qry .= " AND tbl_lehrveranstaltung.lehrtyp_kurzbz != 'modul'";
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -1297,7 +1287,9 @@ class lehrveranstaltung extends basis_db
$tree = array();
foreach ($this->lehrveranstaltungen as $row)
{
if ($row->studienplan_lehrveranstaltung_id_parent == '')
if ($row->studienplan_lehrveranstaltung_id_parent == ''
|| (defined("CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN")
&& CIS_PROFIL_STUDIENPLAN_MODULE_AUSBLENDEN))
{
$tree[$row->studienplan_lehrveranstaltung_id] = $row;
$tree[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
@@ -1323,7 +1315,7 @@ class lehrveranstaltung extends basis_db
return $childs;
}
/**
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
public function hasChildren($studienplan_lehrveranstaltung_id)
@@ -1338,15 +1330,14 @@ class lehrveranstaltung extends basis_db
}
}
if(count($childs) > 0)
{
return true;
}
else
{
return false;
}
}
{
return true;
}
else
{
return false;
}
}
/**
* Baut die Datenstruktur für senden als JSON Objekt auf
@@ -1453,6 +1444,7 @@ class lehrveranstaltung extends basis_db
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->export = $lv->export;
$obj->genehmigung = $lv->genehmigung;
$obj->lehrauftrag = $lv->lehrauftrag;
$obj->lehre = $lv->lehre;
$obj->children = array();
@@ -1511,7 +1503,8 @@ class lehrveranstaltung extends basis_db
*/
public function loadLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1536,7 +1529,8 @@ class lehrveranstaltung extends basis_db
*/
public function getLVkompatibel($lehrveranstaltung_id)
{
if (!is_numeric($lehrveranstaltung_id)) {
if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false;
}
@@ -1676,11 +1670,13 @@ class lehrveranstaltung extends basis_db
public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null, $sort=null, $semester=null)
{
if (is_null($oe_kurzbz)) {
if (is_null($oe_kurzbz))
{
$this->errormsg = 'OE KurzBz darf nicht null sein';
return false;
}
if (!is_null($aktiv) && !is_bool($aktiv)) {
if (!is_null($aktiv) && !is_bool($aktiv))
{
$this->errormsg = 'Aktivkz muss ein boolscher Wert sein';
return false;
}
@@ -1942,125 +1938,125 @@ class lehrveranstaltung extends basis_db
}
}
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
/**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
mitarbeiter_uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($studiensemester_kurzbz != null)
{
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
}
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
$this->lehrveranstaltungen[] = $lv_obj;
}
return true;
}
else
{
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
}
}
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
/**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false;
}
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if(!is_null($studiensemester_kurzbz))
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
if(!is_null($lehreinheit_id))
{
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
}
$qry .= ';';
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
if($this->db_query($qry))
{
$result = array();
while($row = $this->db_fetch_object())
{
array_push($result, $row->uid);
}
return $result;
}
return false;
}
/**
*
@@ -2097,7 +2093,7 @@ class lehrveranstaltung extends basis_db
}
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id)
@@ -2167,14 +2163,13 @@ class lehrveranstaltung extends basis_db
public function lehreverzeichnisExists($lehreverzeichnis, $studiengang_kz, $semester)
{
$qry = 'SELECT
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
1
FROM
lehre.tbl_lehrveranstaltung
WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
if($this->db_query($qry))
{
@@ -2201,117 +2196,117 @@ class lehrveranstaltung extends basis_db
*/
public function getLVFromStudienplanByLehrtyp($studienplan_id, $lehrtyp_kurzbz=NULL, $semester=NULL)
{
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
if (!is_numeric($studienplan_id) || $studienplan_id === '')
{
$this->errormsg = 'StudienplanID ist ungueltig';
return false;
}
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (!is_null($lehrtyp_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
if (!is_null($lehrtyp_kurzbz))
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
{
$obj = new lehrveranstaltung();
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
}
else
{
@@ -2319,16 +2314,16 @@ class lehrveranstaltung extends basis_db
return false;
}
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
return $oe;
}
return $oe;
}
/**
* Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist,
+27 -1
View File
@@ -602,7 +602,33 @@ class lvregel extends basis_db
}
}
$ausbildungssemester = $this->cache[$uid][$studiensemester_kurzbz];
$qry = "SELECT
tbl_lehrveranstaltung.ects
FROM
lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung sl USING(lehrveranstaltung_id)
WHERE
studienplan_lehrveranstaltung_id=".$this->db_add_param($regel->studienplan_lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$ects = $row->ects;
}
else
{
$ects = 0;
}
}
else
{
$this->debug('Fehler bei Abfrage',1);
$this->errormsg = 'Fehler bei Abfrage';
$retval = false;
}
// Vergleichen des Ausbildungssemesters mit dem RegelParameter
if($ausbildungssemester>=$regel->parameter)
{
@@ -778,7 +804,7 @@ class lvregel extends basis_db
$lv->load($stpllv->lehrveranstaltung_id);
$this->debug('Abgeschlossen:'.$retval.' ECTS:'.$ects,1);
if($ects>=$lv->ects)
if($retval && ($ects>=$lv->ects))
return true;
else
return false;
+330
View File
@@ -0,0 +1,330 @@
<?php
/* Copyright (C) 2016 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class mobilitaet extends basis_db
{
public $new; // boolean
public $result = array(); // mobilitaet Objekt
//Tabellenspalten
public $mobilitaet_id; // integer
public $mobilitaetstyp_kurzbz; //varchar(32)
public $prestudent_id; // integer
public $studiensemester_kurzbz; // varchar(16)
public $mobilitaetsprogramm_code; // integer
public $gsprogramm_id; // integer
public $firma_id; // bigint
public $status_kurzbz; // varchar(20)
public $ausbildungssemester; // smallint
public $updateamum; // timestamp
public $updatevon; // string
public $insertamum; // timestamp
public $insertvon; // string
/**
* Konstruktor
* @param $mobilitaet_id ID der mobilitaet die geladen werden soll (Default=null)
*/
public function __construct($mobilitaet_id=null)
{
parent::__construct();
if(!is_null($mobilitaet_id))
$this->load($mobilitaet_id);
}
/**
* Laedt die mobilitaet mit der ID $mobilitaet_id
* @param $mobilitaet_id ID der zu ladenden mobilitaet
* @return true wenn ok, false im Fehlerfall
*/
public function load($mobilitaet_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->mobilitaet_id;
$this->prestudent_id = $row->prestudent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$this->gsprogramm_id = $row->gsprogramm_id;
$this->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$this->firma_id = $row->firma_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt die mobilitaet eines Prestudenten
* @param $prestudent_id ID des Prestudenten dessen GS geladen werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function loadPrestudent($prestudent_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($prestudent_id) || $prestudent_id == '')
{
$this->errormsg = 'prestudent_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = $this->db_fetch_object())
{
$obj = new mobilitaet();
$obj->mobilitaet_id = $row->mobilitaet_id;
$obj->prestudent_id = $row->prestudent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->firma_id = $row->firma_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->ausbildungssemester = $row->ausbildungssemester;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
return true;
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->prestudent_id))
{
$this->errormsg='prestudent_id enthaelt ungueltige Zeichen';
return false;
}
if(!is_numeric($this->ausbildungssemester))
{
$this->errormsg = 'Ausbildungssemester muss eine gueltige Zahl 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 $mobilitaet_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO bis.tbl_mobilitaet (prestudent_id,
studiensemester_kurzbz, mobilitaetsprogramm_code, gsprogramm_id, mobilitaetstyp_kurzbz, firma_id,
status_kurzbz, ausbildungssemester, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
$this->db_add_param($this->gsprogramm_id, FHC_INTEGER).', '.
$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->status_kurzbz).', '.
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', now(),'.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($this->mobilitaet_id))
{
$this->errormsg = 'mobilitaet_id muss eine gueltige Zahl sein';
return false;
}
$qry='UPDATE bis.tbl_mobilitaet SET'.
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code).', '.
' gsprogramm_id='.$this->db_add_param($this->gsprogramm_id).', '.
' mobilitaetstyp_kurzbz='.$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
' firma_id='.$this->db_add_param($this->firma_id).', '.
' status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '.
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE mobilitaet_id='.$this->db_add_param($this->mobilitaet_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
{
//naechste ID aus der Sequence holen
$qry="SELECT currval('bis.tbl_mobilitaet_mobilitaet_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->id;
$this->db_query('COMMIT');
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
}
}
else
{
$this->errormsg = 'Fehler beim Speichern des Adress-Datensatzes';
return false;
}
return $this->mobilitaet_id;
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $mobilitaet_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($mobilitaet_id)
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine gültige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM bis.tbl_mobilitaet WHERE mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
return false;
}
}
/**
* Laedt die vorhandenen Mobilitaetstypen
* @param boolean $aktiv gibt an ob nur aktive eintraege geladen werden sollen.default=true
* @return boolean truen wenn ok, false im Fehlerfall
*/
public function getMobilitaetstyp($aktiv=true)
{
$qry = "SELECT * FROM bis.tbl_mobilitaetstyp";
if($aktiv)
$qry .= " WHERE aktiv";
$qry.=" ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+84 -84
View File
@@ -23,7 +23,7 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
class moodle extends basis_db
{
public $result = array();
public $moodle_id;
public $mdl_course_id;
public $lehreinheit_id;
@@ -35,10 +35,10 @@ class moodle extends basis_db
public $moodle_version;
public $version;
/**
* Konstruktor
*
*
*/
public function __construct()
{
@@ -46,12 +46,12 @@ class moodle extends basis_db
$this->getVersionen();
return true;
}
public function load($moodle_id)
{
$qry = "SELECT * FROM lehre.tbl_moodle WHERE moodle_id =".$this->db_add_param($moodle_id, FHC_INTEGER).';';
$qry = "SELECT * FROM lehre.tbl_moodle WHERE moodle_id =".$this->db_add_param($moodle_id, FHC_INTEGER).';';
if($result=$this->db_query($qry))
{
if($row = $this->db_fetch_object())
@@ -65,21 +65,21 @@ class moodle extends basis_db
$this->insertvon = $row->insertvon;
$this->gruppen = $this->db_parse_bool($row->gruppen);
$this->moodle_version = $row->moodle_version;
return true;
return true;
}
else
{
$this->errormsg = "Kein Moodleeintrag gefunden";
return false;
$this->errormsg = "Kein Moodleeintrag gefunden";
return false;
}
}
else
{
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
$this->errormsg="Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt alle Moodlekurse zu einer LV/Stsem
* plus die Moodlekurse die auf dessen LE haengen
@@ -91,25 +91,25 @@ class moodle extends basis_db
*/
public function getAll($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
distinct on(mdl_course_id) *
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle
$qry = "SELECT
distinct on(mdl_course_id) *
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id
AND tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz)
OR
(tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id))";
if($result=$this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->moodle_id = $row->moodle_id;
$obj->mdl_course_id = $row->mdl_course_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
@@ -124,27 +124,27 @@ class moodle extends basis_db
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* gibt alle Moodlekurseinträge der Zwischentabelle für übergebenen Studiengang und Semester zurück
* @param type $studiengang_kz
* @param type $studiensemester
* @param type $studiensemester
*/
public function getAllMoodleForStudiengang($studiengang_kz, $studiensemester, $version='2.4')
{
$qry = '
SELECT mdl_course_id, moodle.moodle_id, moodle.lehreinheit_id, moodle.lehrveranstaltung_id, moodle.studiensemester_kurzbz, moodle.insertamum, moodle.insertvon, gruppen, moodle_version FROM lehre.tbl_moodle moodle
JOIN lehre.tbl_lehrveranstaltung lv USING(lehrveranstaltung_id)
WHERE moodle.studiensemester_kurzbz = '.$this->db_add_param($studiensemester).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND moodle.lehreinheit_id is null
UNION
@@ -153,17 +153,17 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
JOIN lehre.tbl_lehreinheit le ON(moodle.lehreinheit_id = le.lehreinheit_id)
JOIN lehre.tbl_lehrveranstaltung lv ON(le.lehrveranstaltung_id = lv.lehrveranstaltung_id)
WHERE moodle.studiensemester_kurzbz = '.$this->db_add_param($studiensemester).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND lv.studiengang_kz ='.$this->db_add_param($studiengang_kz).'
AND moodle_version ='.$this->db_add_param($version).'
AND moodle.lehrveranstaltung_id is null
';
';
if($result=$this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->moodle_id = $row->moodle_id;
$obj->mdl_course_id = $row->mdl_course_id;
$obj->lehreinheit_id = $row->lehreinheit_id;
@@ -178,50 +178,50 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
}
return true;
}
else
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Löscht den Zuordnungseintrag in der Moodletablle
* @param type $moodle_id
* @param type $moodle_id
*/
public function deleteZuordnung($mdl_course_id)
{
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER).';';
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER).';';
if($result=$this->db_query($qry))
return true;
else
{
$this->errormsg="Fehler beim Löschen der Daten";
return false;
$this->errormsg="Fehler beim Löschen der Daten";
return false;
}
}
/**
* gibt alle LE Ids der Übergebenen Moodle_Course_ID zurück
*/
public function getLeFromCourse($moodle_course_id)
{
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$le[] = $row->lehreinheit_id;
$le[] = $row->lehreinheit_id;
}
}
return $le;
return $le;
}
/**
* Schaut ob fuer diese LV/StSem schon ein
* Schaut ob fuer diese LV/StSem schon ein
* Moodle Kurs existiert
*
* @param lehrveranstaltung_id
@@ -230,19 +230,19 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
*/
public function course_exists_for_lv($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
1
FROM
lehre.tbl_moodle
WHERE
$qry = "SELECT
1
FROM
lehre.tbl_moodle
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
return true;
else
return true;
else
return false;
}
else
@@ -251,7 +251,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Schaut ob fuer diese LE schon ein Moodle
* Kurs existiert
@@ -265,7 +265,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
{
if($this->db_num_rows()>0)
return true;
else
else
return false;
}
else
@@ -274,7 +274,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Prueft ob fuer alle Lehreinheiten dieser LV bereits ein Moodlekurs existiert
*
@@ -284,19 +284,19 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
*/
public function course_exists_for_allLE($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT 1 FROM lehre.tbl_lehreinheit
WHERE
$qry = "SELECT 1 FROM lehre.tbl_lehreinheit
WHERE
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND lehreinheit_id NOT IN (
SELECT lehreinheit_id FROM lehre.tbl_moodle
SELECT lehreinheit_id FROM lehre.tbl_moodle
WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
if($this->db_query($qry))
{
if($this->db_num_rows()>0)
return false;
else
else
return true;
}
else
@@ -308,11 +308,11 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
/**
* Laedt die Moodle Versionsinformationen
*/
*/
public function getVersionen()
{
$qry = "SELECT * FROM lehre.tbl_moodle_version";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -328,7 +328,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
return false;
}
}
/**
* Liefert den Pfad zur Moodle Installation
* @param version Versionsnummer
@@ -342,9 +342,9 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
/**
* Liefert alle Kurse dieser LV zu denen der Student
* Liefert alle Kurse dieser LV zu denen der Student
* zugeteilt ist
*
*
* @param lehrveranstaltung_id
* @param studiensemester_kurzbz
* @param student_uid
@@ -353,33 +353,33 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
public function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid)
{
//alle betreffenden Kurse holen
$qry = "SELECT
$qry = "SELECT
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
FROM
lehre.tbl_moodle
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
WHERE
WHERE
tbl_moodle.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_moodle.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
UNION
SELECT
UNION
SELECT
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
FROM
lehre.tbl_moodle
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$courses = array();
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
//schauen in welchen Kursen der Student ist
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($student_uid)."
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
WHERE
uid=".$this->db_add_param($student_uid)."
AND lehreinheit_id=".$this->db_add_param($row->lehreinheit_id, FHC_INTEGER);
if($result_vw = $this->db_query($qry))
@@ -396,7 +396,7 @@ SELECT distinct on(mdl_course_id) mdl_course_id, moodle.moodle_id, moodle.lehrei
}
}
}
}
}
return true;
}
}
+94 -22
View File
@@ -98,8 +98,16 @@ class moodle24_course extends basis_db
return false;
}
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
try
{
$client = new SoapClient($this->serverurl);
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Anlegen des Kurses: ".$E->faultstring;
return false;
}
if($response)
{
@@ -186,7 +194,7 @@ class moodle24_course extends basis_db
{
//CourseCategorie ermitteln
//lehrveranstalung ID holen falls die nur die lehreinheit_id angegeben wurde
//lehrveranstalung ID holen falls nur die lehreinheit_id angegeben wurde
if($this->lehrveranstaltung_id=='')
{
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
@@ -239,11 +247,12 @@ class moodle24_course extends basis_db
return false;
}
// Kategoriebau Aufbauen
// Kategoriebaum 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)
// Struktur: Department -> STG -> Jahrgang -> StSem
// (Informationstechnologie und Informationsmanagement -> BIMK -> Jahrgang 2014 -> WS2014)
// Studiengang der Lehrveranstaltung holen
// Uebergeordnetes Department ermitteln
@@ -267,17 +276,29 @@ class moodle24_course extends basis_db
}
}
// Department
if(!$id_department = $this->getCategorie($department, '0'))
$id_department = $this->getCategorie($department, '0');
if ($id_department === false)
return false;
if ($id_department === -1)
{
if(!$id_department = $this->createCategorie($department, '0'))
{
echo "<br>$this->errormsg";
return false;
}
}
// Studiengang
if(!$id_stg = $this->getCategorie($stg, $id_department))
$id_stg = $this->getCategorie($stg, $id_department);
if ($id_stg === false)
return false;
if ($id_stg === -1)
{
if(!$id_stg = $this->createCategorie($stg, $id_department))
{
echo "<br>$this->errormsg";
return false;
}
}
// Jahrgang - 1. Studiensemester ermitteln (Stsem um Ausbsem -1 zurückspringen) und das Jahr ermitteln
@@ -296,17 +317,29 @@ class moodle24_course extends basis_db
$datum = new Datum();
$jahr = $datum->formatDatum($studiensemester->start, 'Y');
if(!$id_jahrgang = $this->getCategorie('Jahrgang '.$jahr, $id_stg))
$id_jahrgang = $this->getCategorie('Jahrgang '.$jahr, $id_stg);
if ($id_jahrgang === false)
return false;
if ($id_jahrgang === -1)
{
if(!$id_jahrgang = $this->createCategorie('Jahrgang '.$jahr, $id_stg))
{
echo "<br>$this->errormsg";
return false;
}
}
// Studiensemester
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, $id_jahrgang))
$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, $id_jahrgang);
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, $id_jahrgang))
{
echo "<br>Fehler beim Anlegen des Studiensemesters";
return false;
}
}
$categoryid=$id_stsem;
@@ -316,22 +349,40 @@ class moodle24_course extends basis_db
// Struktur: STSEM -> STG -> Ausbsemester (WS2014 -> BEL -> 1)
//Studiensemester Categorie holen
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0'))
$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0');
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, '0'))
{
echo "<br>Fehler beim Anlegen des Studiensemesters";
return false;
}
}
//Studiengang Categorie holen
if(!$id_stg = $this->getCategorie($stg, $id_stsem))
$id_stg = $this->getCategorie($stg, $id_stsem);
if ($id_stg === false)
return false;
if ($id_stg === -1)
{
if(!$id_stg = $this->createCategorie($stg, $id_stsem))
{
echo "<br>$this->errormsg";
return false;
}
}
//Semester Categorie holen
if(!$id_sem = $this->getCategorie($semester, $id_stg))
$id_sem = $this->getCategorie($semester, $id_stg);
if ($id_sem === false)
return false;
if ($id_sem === -1)
{
if(!$id_sem = $this->createCategorie($semester, $id_stg))
if (!$id_sem = $this->createCategorie($semester, $id_stg))
{
echo "<br>$this->errormsg";
return false;
}
}
$categoryid=$id_sem;
}
@@ -377,7 +428,7 @@ class moodle24_course extends basis_db
* @param bezeichnung Bezeichnung der Kategorie
* @param parent ID der uebergeordneten Kurskategorie
*
* @return id der Kategorie oder false im Fehlerfall
* @return id der Kategorie, -1 wenn Kategorie nicht existiert, false im Fehlerfall
*/
public function getCategorie($bezeichnung, $parent)
{
@@ -404,7 +455,7 @@ class moodle24_course extends basis_db
else
{
$this->errormsg = 'Fehler beim Laden der Kurskategorie';
return false;
return -1;
}
}
catch (SoapFault $E)
@@ -412,13 +463,12 @@ class moodle24_course extends basis_db
$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
* @param parent ID der uebergeordneten Kategorie
* @param parent ID der uebergeordneten Kategorie, false im Fehlerfall
*/
public function createCategorie($bezeichnung, $parent)
{
@@ -451,6 +501,7 @@ class moodle24_course extends basis_db
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Anlegen der Kategorie: ".$E->faultstring;
return false;
}
}
@@ -524,7 +575,10 @@ class moodle24_course extends basis_db
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
$id_testkurs = $this->getCategorie('Testkurse', '0');
if ($id_testkurs === false)
return false;
if ($id_testkurs === -1)
{
if(!$id_testkurs = $this->createCategorie('Testkurse', '0'))
{
@@ -533,7 +587,10 @@ class moodle24_course extends basis_db
}
}
//StSem Categorie holen
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs);
if ($id_stsem === false)
return false;
if ($id_stsem === -1)
{
if(!$id_stsem = $this->createCategorie($studiensemester_kurzbz, $id_testkurs))
{
@@ -598,14 +655,20 @@ class moodle24_course extends basis_db
}
//Testkurs Categorie holen
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
$id_testkurs = $this->getCategorie('Testkurse', '0');
if ($id_testkurs === false)
return false;
if ($id_testkurs === -1)
{
$this->errormsg = 'Categorie nicht gefunden';
return false;
}
//StSem Categorie holen
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs);
if($id_stsem === false)
return false;
if ($id_stsem === -1)
{
$this->errormsg = 'Categorie nicht gefunden';
return false;
@@ -734,6 +797,15 @@ class moodle24_course extends basis_db
$data = array($mdl_course_id);
$response = $client->core_course_delete_courses(array($mdl_course_id));
if(is_object($response))
{
$response_obj = $response;
unset($response);
if(isset($response_obj->warnings) && isset($response_obj->warnings->message))
$response[0] = $response_obj->warnings->message;
}
if(isset($response[0]))
{
$this->errormsg = $response[0];
@@ -749,7 +821,7 @@ class moodle24_course extends basis_db
*/
public function getLeFromCourse($moodle_course_id)
{
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE moodle_version='2.4' AND mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$qry = "SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE moodle_version='2.4' AND mdl_course_id =".$this->db_add_param($moodle_course_id, FHC_INTEGER).';';
$le = array();
if($result = $this->db_query($qry))
{
+138 -93
View File
@@ -54,7 +54,7 @@ class moodle24_user extends basis_db
* Laedt einen Moodle User
*
* @param $uid
* @return boolean
* @return boolean oder -1 bei SOAP Fehler
*/
public function loaduser($uid)
{
@@ -87,7 +87,7 @@ class moodle24_user extends basis_db
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
return false;
return -1;
}
}
@@ -195,7 +195,6 @@ class moodle24_user extends basis_db
{
while($row_ma = $this->db_fetch_object($result_ma))
{
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -208,9 +207,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -222,29 +221,32 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=3; // 3=Lektor
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
if($retval!==-1)
{
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$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;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=3; // 3=Lektor
$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.="\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;
}
}
}
}
@@ -312,14 +314,16 @@ class moodle24_user extends basis_db
$gruppensync = $this->db_parse_bool($row_std->gruppen);
//Studenten dieser Gruppe holen
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
{
$qry = "SELECT
distinct student_uid
distinct student_uid, tbl_person.vorname, tbl_person.nachname
FROM
public.tbl_studentlehrverband
JOIN public.tbl_benutzer ON(student_uid=uid)
JOIN public.tbl_person USING(person_id)
WHERE
tbl_benutzer.aktiv AND
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz)." AND
studiengang_kz = ".$this->db_add_param($row_std->studiengang_kz)." AND
semester = ".$this->db_add_param($row_std->semester);
@@ -339,10 +343,13 @@ class moodle24_user extends basis_db
else //Spezialgruppe
{
$qry = "SELECT
distinct uid as student_uid
distinct uid as student_uid, tbl_person.vorname, tbl_person.nachname
FROM
public.tbl_benutzergruppe
JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id)
WHERE
tbl_benutzer.aktiv AND
gruppe_kurzbz=".$this->db_add_param($row_std->gruppe_kurzbz)." AND
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz);
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
@@ -352,9 +359,7 @@ class moodle24_user extends basis_db
{
while($row_user = $this->db_fetch_object($result_user))
{
//Nachschauen ob dieser Student bereits zugeteilt ist
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -368,9 +373,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_user->student_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_user->student_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_user->student_uid))
@@ -382,23 +387,25 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
if($retval!==-1)
{
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
//Student ist noch nicht zugeteilt.
//Student ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$userstoenroll[]=$data;
$userstoenroll[]=$data;
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->sync_create++;
$this->log.="\nStudentIn ".$this->mdl_user_firstname." ".$this->mdl_user_lastname." ($row_user->student_uid) wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn ".$this->mdl_user_firstname." ".$this->mdl_user_lastname." ($row_user->student_uid) wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
}
//Gruppenzuteilung
@@ -407,7 +414,11 @@ class moodle24_user extends basis_db
if(!isset($vorhandenegruppen[$gruppenbezeichnung]))
{
//Schauen ob die Gruppe vorhanden ist
if(!$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung))
$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung);
if ($groupid === false)
return false;
if($groupid === -1)
{
//wenn nicht dann anlegen
if(!$groupid = $this->createGroup($mdl_course_id, $gruppenbezeichnung))
@@ -427,14 +438,18 @@ class moodle24_user extends basis_db
//if($this->mdl_user_id=='')
// $this->loaduser($row_user->student_uid);
//Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist
if(!$this->getGroupMember($groupid, $this->mdl_user_id))
$groupmember = $this->getGroupMember($groupid, $this->mdl_user_id);
if($groupmember === false)
continue;
if($groupmember === -1)
{
//wenn nicht dann zuteilen
$groupmembertoadd[] = array('groupid'=>$groupid,'userid'=>$this->mdl_user_id);
//$this->createGroupMember($groupid, $this->mdl_user_id);
$this->group_update++;
$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";
$this->log.="\nStudentIn $row_user->vorname $row_user->nachname ($row_user->student_uid) wurde der Gruppe $gruppenbezeichnung ($groupid) zugeordnet";
$this->log_public.="\nStudentIn $row_user->vorname $row_user->nachname ($row_user->student_uid) wurde der Gruppe $gruppenbezeichnung zugeordnet";
}
}
}
@@ -448,9 +463,11 @@ class moodle24_user extends basis_db
$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);
// Die User werden nicht gleich zugeordnet, diese werden nach
// abschluss des SOAP Requests von Moodle noch weiterverarbeitet und
// erst zeitversetzt zugeordnet.
// Die Pause ist abgaengig von der Anzahl der User die hinzugefuegt werden
usleep(count($userstoenroll)*150000);
}
catch (SoapFault $E)
{
@@ -461,11 +478,17 @@ class moodle24_user extends basis_db
if(count($groupmembertoadd)>0)
{
$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);
try
{
$client = new SoapClient($this->serverurl);
$groupresult = $client->core_group_add_group_members($groupmembertoadd);
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim Zuteilen der Teilnehmer zu Gruppen";
return false;
}
}
return true;
}
else
@@ -480,7 +503,7 @@ class moodle24_user extends basis_db
* existiert
* @param grouid ID der Gruppe
* userid MoodleID des Users
* @return true wenn zugeteilt sonst false
* @return true wenn zugeteilt, -1 wenn nicht, false im Fehlerfall
*/
public function getGroupMember($groupid, $userid)
{
@@ -506,11 +529,13 @@ class moodle24_user extends basis_db
foreach($this->gruppenzuordnungen[$groupid] as $id)
{
if($id==$userid)
if ($id == $userid)
{
return true;
}
}
return false;
return -1;
}
/**
@@ -542,7 +567,7 @@ class moodle24_user extends basis_db
* Holt die ID einer MoodleGruppe
* @param $mdl_course_id ID des Kurses
* $gruppenbezeichnung Name der Gruppe
* @return GruppenID wenn ok, false im Fehlerfall
* @return GruppenID wenn ok, -1 wenn nicht gefunden, false im Fehlerfall
*/
public function getGroup($mdl_course_id, $gruppenbezeichnung)
{
@@ -555,15 +580,15 @@ class moodle24_user extends basis_db
if($row['name']==$gruppenbezeichnung)
return $row['id'];
}
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
return -1;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim Laden der Gruppe $mdl_course_id, $gruppenbezeichnung: ".$E->faultstring;
return false;
$this->log.="Fehler beim Laden der Gruppe $mdl_course_id, $gruppenbezeichnung: ".$E->faultstring;
return false;
}
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
return false;
}
/**
@@ -628,12 +653,19 @@ class moodle24_user extends basis_db
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
Wenn das Passwort uebergeben wird, dann versucht Moodle das auch
im LDAP zu setzen. Das fuehrt dazu dass der Account nicht mehr funktioniert.
Anlegen eines Users ohne Passwortuebergabe ist jedoch nicht moeglich-
Deshalb wird die Authentifizierungsmethode beim Anlegen auf manual
gesetzt und nach dem anlegen auf ldap geändert
*/
$user->password = "FHCv!A2".hash('sha512', rand());
$user->firstname = $vorname;
$user->lastname = $nachname;
$user->email = $username.'@'.DOMAIN;
$user->auth = 'ldap';
//$user->auth = 'ldap';
$user->auth = 'manual';
$user->idnumber = $username;
$user->lang = 'en';
@@ -646,6 +678,14 @@ class moodle24_user extends basis_db
if(isset($response[0]))
{
$this->mdl_user_id = $response[0]['id'];
// User nach dem anlegen auf LDAP Auth umstellen
$user = new stdClass();
$user->id = $this->mdl_user_id;
$user->auth = 'ldap';
$client = new SoapClient($this->serverurl);
$response = $client->core_user_update_users(array($user));
return true;
}
else
@@ -685,8 +725,9 @@ class moodle24_user extends basis_db
foreach ($users as $row_user)
{
$retval = $this->loaduser($row_user);
//MoodleID des Users holen
if(!$this->loaduser($row_user))
if($retval!==true)
{
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
return false;
@@ -765,14 +806,16 @@ class moodle24_user extends basis_db
{
//Leitung laden die zu diesem Kurs zugeteilt sind
$qry = "SELECT
distinct uid as mitarbeiter_uid
distinct tbl_benutzer.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)
JOIN public.tbl_benutzer ON(tbl_benutzerfunktion.uid=tbl_benutzer.uid)
WHERE
organisationseinheittyp_kurzbz in('Institut','Fachbereich')
tbl_benutzer.aktiv
AND 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)
@@ -812,7 +855,6 @@ class moodle24_user extends basis_db
{
while($row_ma = $this->db_fetch_object($result_ma))
{
$user_zugeteilt=false;
foreach($enrolled_users as $user)
{
@@ -825,9 +867,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt)
{
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid))
if($retval===false)
{
//User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -839,29 +881,32 @@ class moodle24_user extends basis_db
$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
if($retval!==-1)
{
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$client = new SoapClient($this->serverurl);
$client->enrol_manual_enrol_users(array($data));
//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;
$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;
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;
}
}
}
}
+1 -1
View File
@@ -572,7 +572,7 @@ class organisationseinheit extends basis_db
foreach($searchItem as $value)
{
$qry.=' OR (LOWER(oe_kurzbz)=LOWER('.$this->db_add_param($value).'))
OR (LOWER(bezeichnung)=LOWER('.$this->db_add_param($value).'))';
OR (LOWER(bezeichnung) LIKE LOWER(\'%'.$this->db_escape($value).'%\'))';
}
$qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;';
+22 -24
View File
@@ -67,6 +67,7 @@ class prestudent extends person
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $gsstudientyp_kurzbz='Intern';
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -155,6 +156,7 @@ class prestudent extends person
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
if(!person::load($row->person_id))
return false;
@@ -230,7 +232,7 @@ class prestudent extends person
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor) VALUES('.
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, gsstudientyp_kurzbz) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -261,7 +263,8 @@ class prestudent extends person
$this->db_add_param($this->anmerkung).",".
$this->db_add_param($this->dual, FHC_BOOLEAN).",".
$this->db_add_param($this->ausstellungsstaat).",".
$this->db_add_param($this->mentor).");";
$this->db_add_param($this->mentor).",".
$this->db_add_param($this->gsstudientyp_kurzbz).");";
}
else
{
@@ -293,6 +296,7 @@ class prestudent extends person
' updatevon='.$this->db_add_param($this->updatevon).",".
' anmerkung='.$this->db_add_param($this->anmerkung).",".
' mentor='.$this->db_add_param($this->mentor).",".
' gsstudientyp_kurzbz='.$this->db_add_param($this->gsstudientyp_kurzbz).",".
' 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).";";
@@ -335,24 +339,21 @@ class prestudent extends person
}
}
/**
* Falls ZGV vorhanden, setze Ausstellungsstaat (für BIS-Meldung)
* auf Nation der höchsten angegebenen ZGV
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation) {
$this->ausstellungsstaat = $this->zgvmanation;
} elseif ($this->zgv_code && $this->zgvnation) {
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
* Falls ZGV vorhanden, setze Ausstellungsstaat (für BIS-Meldung)
* auf Nation der höchsten angegebenen ZGV
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation)
{
$this->ausstellungsstaat = $this->zgvmanation;
}
elseif ($this->zgv_code && $this->zgvnation)
{
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
* Laden aller Prestudenten, die an $datum zum Reihungstest geladen sind.
@@ -703,6 +704,7 @@ 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->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$ps->status_kurzbz = $row->status_kurzbz;
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -1413,10 +1415,6 @@ class prestudent extends person
}
}
/**
* Liefert ein Array mit den Interessentenzahlen
* @param $studiensemester_kurzbz (optional)
+18 -11
View File
@@ -114,7 +114,7 @@ class pruefungsanmeldung extends basis_db {
. 'wuensche='.$this->db_add_param($this->wuensche).', '
. 'reihung='.$this->db_add_param($this->reihung).', '
. 'kommentar='.$this->db_add_param($this->kommentar).', '
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id)
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id).', '
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
}
@@ -174,16 +174,23 @@ class pruefungsanmeldung extends basis_db {
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $studiensemester_kurzbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
public function getAnmeldungenByStudent($uid, $studiensemester_kurzbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
. 'WHERE uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
$qry .= ';';
if(!$this->db_query($qry))
{
@@ -204,13 +211,13 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
+4 -2
View File
@@ -85,15 +85,17 @@ class sprache extends basis_db
/**
*
* Lädt alle verfügbaren Sprachen
* @param boolean $content Default:null Ist die Sprache relevant fuer die Sprachauswahl
* @param string $order Default:sprache Spalte, nach der die Ergebnisse sortiert werden
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
*/
public function getAll($content=null)
public function getAll($content=null, $order='sprache')
{
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache";
if(!is_null($content))
$qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN);
$qry.=" ORDER BY sprache";
$qry.=" ORDER BY ".$order;
if(!$this->db_query($qry))
{
+1 -1
View File
@@ -108,7 +108,7 @@ class statistik extends basis_db
}
else
{
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden';
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden: ' . $statistik_kurzbz;
return false;
}
}
+42 -2
View File
@@ -227,9 +227,11 @@ class studiengang extends basis_db
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
* @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll.
* @return boolean
*/
public function getAllForBewerbung()
public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC')
{
$qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung '
. 'FROM lehre.vw_studienplan '
@@ -237,7 +239,7 @@ class studiengang extends basis_db
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE ';
$qry .= ' ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
$qry .= ' ORDER BY '.$order;
if(!$result = $this->db_query($qry))
{
@@ -975,4 +977,42 @@ class studiengang extends basis_db
return false;
}
}
/**
* Laedt einen Lehrgangstyp anhand des lgartcodes
* @param integer $lgartcode
* @return boolean true wenn ok sonst false
*/
public function loadLehrgangstyp($lgartcode)
{
if(!is_numeric($lgartcode))
{
$this->errormsg = 'Lgartcode muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM bis.tbl_lgartcode WHERE lgartcode=".$this->db_add_param($lgartcode);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->lgartcode = $row->lgartcode;
$this->kurzbz = $row->kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->beantragung = $this->db_parse_bool($row->beantragung);
$this->lgart_biscode = $row->lgart_biscode;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return true;
}
}
Regular → Executable
+53
View File
@@ -163,5 +163,58 @@ class studienjahr extends basis_db
return false;
}
}
/**
* Springt von Studienjahr $studienjahr_kurzbz um $wert Studienjahre vor/zurueck
*
* @param string $studienjahr_kurzbz.
* @param int $wert.
* @return string studienjahr_kurzbz
*/
public function jump($studienjahr_kurzbz, $wert)
{
if($wert>0)
{
$op='>=';
$sort='ASC';
}
elseif($wert<0)
{
$op='<=';
$sort='DESC';
}
else
{
$op='=';
$sort='';
}
$qry = "select distinct(studienjahr_kurzbz)
FROM tbl_studiensemester
Where start $op
(
SELECT start
FROM tbl_studiensemester
WHERE studienjahr_kurzbz = ".$this->db_add_param($studienjahr_kurzbz)."
ORDER BY start LIMIT 1
)
ORDER BY studienjahr_kurzbz $sort
offset ".abs($wert)." LIMIT 1";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
return $row->studienjahr_kurzbz;
}
else
return $studienjahr_kurzbz;
}
else
{
$this->errormsg='Fehler bei einer Abfrage';
return false;
}
}
}
?>
+5 -4
View File
@@ -701,7 +701,7 @@ class studienplan extends basis_db
* @param $ausbuldungssemester
* @param $orgform_kurzbz
*/
function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester="", $orgform_kurzbz = "")
function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz="", $ausbildungssemester="", $orgform_kurzbz = "")
{
$qry = "SELECT
studienplan_id,
@@ -746,8 +746,9 @@ class studienplan extends basis_db
JOIN lehre.tbl_studienplan_semester USING(studienplan_id)
WHERE
tbl_studienplan.aktiv
AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz);
AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if($studiensemester_kurzbz!='')
$qry.=" AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz);
if($ausbildungssemester!='')
$qry.=" AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester);
@@ -862,7 +863,7 @@ class studienplan extends basis_db
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND EXISTS (
SELECT 1 FROM lehre.tbl_studienplan_semester
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
WHERE studienplan_id=tbl_studienplan.studienplan_id
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND semester = tbl_studienplan_lehrveranstaltung.semester)
ORDER BY bezeichnung";
+15
View File
@@ -243,6 +243,21 @@ class studiensemester extends basis_db
}
}
/**
* Liefert das Aktuelle Studiensemester oder das darauffolgende
*
* @param $semester wenn das semester uebergeben wird, dann werden nur die studiensemester
* geliefert die in dieses semester fallen (Bei geradem semester nur SS sonst WS)
* @return Studiensemester oder false wenn es keines gibt
*/
public function getaktorNearest()
{
if($stsem=$this->getakt())
return $stsem;
else
return $this->getNearest();
}
/**
* Liefert das naechstgelegenste Studiensemester
*
+2 -2
View File
@@ -168,7 +168,7 @@ else
$pdf->SetXY(30,30);
//Logo
$pdf->Image("../../skin/styles/tw/logo.jpg","400","25","150","78","jpg","");
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
$pdf->SetFont('Arial','',12);
$pdf->SetFillColor(190,190,190);
@@ -430,7 +430,7 @@ else
$pdf->SetXY(30,30);
//Logo
$pdf->Image("../../skin/images/logo.jpg","400","25","160","54","jpg","");
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
$pdf->SetFont('Arial','',12);
$pdf->SetFillColor(190,190,190);
$pdf->SetXY(30,110-$titelabzug);
+7 -4
View File
@@ -71,14 +71,15 @@ $menu=array
'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
'Studienordnung'=>array('name'=>'Studienordnung', 'link'=>'lehre/studienordnung.php', 'target'=>'_blank','permissions'=>array('lehre/studienordnung')),
'StudienplanGueltigkeit'=>array('name'=>'Studienplan Gültigkeit', 'link'=>'lehre/studienplan_gueltigkeit.php', 'target'=>'main','permissions'=>array('lehre/studienordnung')),
'Moodle'=>array
(
'name'=>'Moodle', 'permissions'=>array('basis/moodle'),
'Account'=>array('name'=>'Accountverwaltung', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
'UserSync'=>array('name'=>'User Sync', 'link'=>'moodle/user_sync24.php', 'target'=>'main'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
'UserSync'=>array('name'=>'User Sync', 'link'=>'moodle/user_sync24.php', 'target'=>'main'),
'UserMassCreate'=>array('name'=>'User Massenanlage', 'link'=>'moodle/account_masscreate24.php', 'target'=>'main'),
),
'Freifach'=>array
@@ -133,7 +134,7 @@ $menu=array
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','preinteressent')),
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming')),
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
),
'Stammdaten'=> array
(
@@ -165,6 +166,7 @@ $menu=array
'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')),
'GSProgramm'=>array('name'=>'GSProgramm', 'link'=>'stammdaten/gsprogramm.php', 'target'=>'main','permissions'=>array('inout/uebersicht')),
'FH Ausweis'=>array
(
'name'=>'FH Ausweis','permissions'=>array('basis/fhausweis'),
@@ -194,6 +196,7 @@ $menu=array
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')),
'akteupdate'=>array('name'=>'Akten überschreiben', 'link'=>'personen/akteupdate.php', 'target'=>'main','permissions'=>array('admin')),
),
'Auswertung'=> array
(
+3 -3
View File
@@ -1,12 +1,12 @@
.icon-fhc-chart{
background:url('../../../skin/images/Graphs_clip_art.svg') no-repeat center center;
background:url('../../../skin/images/Chart.svg') no-repeat center center;
background-size: 16px 16px;
}
.icon-fhc-report{
background:url('../../../skin/images/x-office-presentation.svg') no-repeat center center;
background:url('../../../skin/images/Report.svg') no-repeat center center;
background-size: 16px 16px;
}
.icon-fhc-statistik{
background:url('../../../skin/images/x-office-spreadsheet.svg') no-repeat center center;
background:url('../../../skin/images/Statistik.svg') no-repeat center center;
background-size: 16px 16px;
}
+10 -8
View File
@@ -32,6 +32,7 @@ class vorschlag extends basis_db
public $frage_id;
public $nummer;
public $punkte;
public $aktiv;
public $text;
public $bild;
@@ -75,6 +76,7 @@ class vorschlag extends basis_db
$this->frage_id = $row->frage_id;
$this->punkte = $row->punkte;
$this->nummer = $row->nummer;
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->loadVorschlagSprache($vorschlag_id, $sprache);
return true;
}
@@ -142,14 +144,15 @@ class vorschlag extends basis_db
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'BEGIN;INSERT INTO testtool.tbl_vorschlag (frage_id, nummer, punkte, insertamum, insertvon, updateamum, updatevon) VALUES('.
$qry = 'BEGIN;INSERT INTO testtool.tbl_vorschlag (frage_id, nummer, punkte, insertamum, insertvon, updateamum, updatevon, aktiv) VALUES('.
$this->db_add_param($this->frage_id, FHC_INTEGER).','.
$this->db_add_param($this->nummer).','.
$this->db_add_param($this->punkte).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).');';
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).');';
}
else
{
@@ -158,7 +161,8 @@ class vorschlag extends basis_db
' nummer='.$this->db_add_param($this->nummer).','.
' punkte='.$this->db_add_param($this->punkte).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).
' updatevon='.$this->db_add_param($this->updatevon).','.
' aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).
" WHERE vorschlag_id=".$this->db_add_param($this->vorschlag_id, FHC_INTEGER, false).";";
}
@@ -275,10 +279,9 @@ class vorschlag extends basis_db
/**
* Laedt die Vorschlaege zu einer Frage
*
* @param $frage_id
* @param $sprache
* @param $random Wenn true, dann werden die Vorschlaege in zufaelliger
* Reihenfolge geladen, sonst nach nummer sortiert
* @param integer $frage_id
* @param string $sprache
* @param boolean $random Wenn true, dann werden die Vorschlaege in zufaelliger Reihenfolge geladen, sonst nach nummer sortiert
*/
public function getVorschlag($frage_id, $sprache, $random)
{
@@ -287,7 +290,6 @@ class vorschlag extends basis_db
$qry.=" ORDER BY random()";
else
$qry.=" ORDER BY nummer";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
+3 -3
View File
@@ -2384,7 +2384,7 @@ class wochenplan extends basis_db
/**
* Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert,
* sondern zusammengeblockt. (in maximal 4er Bloecke)
* sondern zusammengeblockt.
*
* Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen.
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
@@ -2499,7 +2499,7 @@ class wochenplan extends basis_db
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf)
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical.$this->crlf)
.'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf)
.'DESCRIPTION:'.str_replace(',',' ',$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?'\n'.$this->std_plan[$i][$j][$idx]->anmerkung:'').$this->crlf)
.'LOCATION:'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
@@ -2541,7 +2541,7 @@ class wochenplan extends basis_db
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical;
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical;
$Summary = $lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb;
$description = $lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort;
+3 -1
View File
@@ -15,7 +15,9 @@ $this->phrasen['dms_link/bedienungsanleitungMailverteiler']='1474'; //Bedienungs
$this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475'; //Berechtigungskonzept Mailverteiler
$this->phrasen['dms_link/handbuchUrlaubsverwaltung']='759'; //Handbuch Urlaubsverwaltung -> Leer lassen, falls es keines gibt
$this->phrasen['dms_link/handbuchZeitaufzeichnung']='1545'; //Handbuch Zeitaufzeichnung -> Leer lassen, falls es keines gibt
$this->phrasen['dms_link/fiktiveNormalarbeitszeit']='2512'; //fiktive Normalarbeitszeit -> Leer lassen, falls es keines gibt
$this->phrasen['dms_link/fiktiveNormalarbeitszeit']='2512'; //fiktive Normalarbeitszeit -> Leer lassen, falls es keines gibt
$this->phrasen['dms_link/learningAgreementErasmus']='29266'; //Learning Agreement Incomings Erasmus
$this->phrasen['dms_link/learningAgreement']='28667'; //Learning Agreement Incomings NICHT Erasmus
// Content IDs (=Englisch)
$this->phrasen['dms_link/lvPlanFAQ']='6887'; //Hilfe-Link aus dem LV-Plan in die LV-Plan FAQ auf der CIS (CMS-ID)
+12 -1
View File
@@ -28,6 +28,7 @@ $this->phrasen['incoming/uploadLearningAgreement']= 'Upload Learning Agreement';
$this->phrasen['incoming/uploadCv']='Upload CV';
$this->phrasen['incoming/dokument']='Dokument';
$this->phrasen['incoming/zugangsvoraussetzungFussnote']='Bitte geben Sie hier an, wann und wo Sie Ihre Abschlussprüfungen gemacht haben, um an einer Universität studieren zu können (=Matura, Abitur).';
$this->phrasen['incoming/zugangsvoraussetzungMasterFussnote']='Bitte geben Sie hier an, wann und wo Sie Ihre Bachelor-Abschlussprüfungen (oder gleichwertige) gemacht haben, um ein Master-Studium besuchen zu können.';
$this->phrasen['incoming/lebenslauf']='Lebenslauf';
$this->phrasen['incoming/learningAgreement']='Learning Agreement';
$this->phrasen['incoming/motivationsschreiben']='Motivationsschreiben';
@@ -122,5 +123,15 @@ $this->phrasen['incoming/captcha']='Geben Sie bitte hier die Zeichen aus der Gra
$this->phrasen['incoming/andereGrafik']='Andere Grafik';
$this->phrasen['incoming/noVacancies']='LV voll belegt';
$this->phrasen['incoming/alleStudiengaenge']='Alle Studiengänge';
$this->phrasen['incoming/downloadLearningAgreement']='Download Learning Agreement';
$this->phrasen['incoming/downloadLearningAgreement']='Vorlage für Learning Agreement (<b>nicht</b> Erasmus) herunterladen';
$this->phrasen['incoming/downloadLearningAgreementErasmus']='Vorlage für Learning Agreement (Erasmus) herunterladen';
$this->phrasen['incoming/dankeFuerIhreAnmeldung']='Wenn Sie alle erforderlichen Daten eingegeben haben, klicken Sie bitte auf "Abschicken"';
$this->phrasen['incoming/von']='von';
$this->phrasen['incoming/derzeitKeineLehrveranstaltungen']='Für diese Auswahl sind derzeit keine Lehrveranstaltungen vorhanden';
$this->phrasen['incoming/tabelleSortierinformation']='Sie können die Spalten durch klicken auf die Überschrift sortieren (Mehrfachsortierung mit gedrückter Umschalt-Taste)';
$this->phrasen['incoming/waehlenSieAusDenOptionen']='Bitte wählen Sie die gewünschen Optionen aus dem DropDown und klicken Sie auf "Filter"';
$this->phrasen['incoming/lvInfo']='LV-Info';
$this->phrasen['incoming/erfolgreichAbgeschickt']='Ihre Bewerbung wurde erfolgreich abgeschickt. Die zuständige Assistenz wird sich in Kürze mit Ihnen in Verbindung setzen';
$this->phrasen['incoming/fehlerBeimSenden']='Fehler beim senden der Bewerbung. Bitte kontaktieren Sie <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='Das Feld "Jahre studiert" muss eine ganze Zahl sein</a>';
?>

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