mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Beim Status des Prestudenten kann nun zusaetzlich der Studienplan gespeichert werden; Erweiterung der Studienplan ansicht für Studierende inklusive Anmeldung zu Lehrveranstaltungen
This commit is contained in:
@@ -38,23 +38,7 @@ require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/note.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
|
||||
echo '<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Studienplan</title>
|
||||
<link rel="stylesheet" href="../../../skin/fhcomplete.css" />
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" />
|
||||
<style>
|
||||
.empfehlung
|
||||
{
|
||||
background-color: #FFCECE;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
';
|
||||
require_once('../../../include/benutzergruppe.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
@@ -68,6 +52,125 @@ if(isset($_GET['uid']))
|
||||
die('Keine Berechtigung für UID übergabe');
|
||||
}
|
||||
$p = new phrasen(getSprache());
|
||||
$datum_obj = new datum();
|
||||
$db = new basis_db();
|
||||
|
||||
if(isset($_GET['getAnmeldung']))
|
||||
{
|
||||
$lehrveranstaltung_id=$_GET['lehrveranstaltung_id'];
|
||||
$stsem = $_GET['stsem'];
|
||||
|
||||
echo $p->t('studienplan/LehrveranstalungWaehlen').'
|
||||
<form action="'.$_SERVER['PHP_SELF'].'?uid='.$db->convert_html_chars($uid).'" method="POST">
|
||||
<input type="hidden" name="action" value="anmeldung" />
|
||||
<input type="hidden" name="stsem" value="'.$db->convert_html_chars($stsem).'" />';
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
if($kompatibel = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_id))
|
||||
{
|
||||
$anzahl=0;
|
||||
foreach($kompatibel as $lvid)
|
||||
{
|
||||
$lvangebot = new lvangebot();
|
||||
$lvangebot->getAllFromLvId($lvid, $stsem);
|
||||
if(isset($lvangebot->result[0]))
|
||||
{
|
||||
$lv = new lehrveranstaltung();
|
||||
$lv->load($lvid);
|
||||
|
||||
$angebot = $lvangebot->result[0];
|
||||
if($angebot->AnmeldungMoeglich())
|
||||
{
|
||||
$anzahl++;
|
||||
// LV wird angeboten und Anmeldefenster ist offen
|
||||
|
||||
$bngruppe = new benutzergruppe();
|
||||
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
|
||||
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung;
|
||||
else
|
||||
{
|
||||
// Bereits angemeldet
|
||||
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span class="ok">'.$lv->bezeichnung.'</span> - Bereits angemeldet';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// LV wird angeboten, Anmeldefenster ist aber nicht offen
|
||||
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span style="color:gray;">'.$lv->bezeichnung.' - '.$angebot->errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if($anzahl>0)
|
||||
echo '<br><br><input type="submit" value="Anmelden" /></form>';
|
||||
else
|
||||
echo '<br><br>'.$p->t('studienplan/AnmeldungDerzeitNichtMoeglich');
|
||||
exit();
|
||||
}
|
||||
echo '<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<title>Studienplan</title>
|
||||
<link rel="stylesheet" href="../../../skin/fhcomplete.css" />
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" />
|
||||
<link rel="stylesheet" href="../../../skin/jquery.css" />
|
||||
<link rel="stylesheet" href="../../../skin/jquery-ui-1.9.2.custom.min.css" />
|
||||
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$("#dialog").dialog({ autoOpen: false });
|
||||
});
|
||||
|
||||
function OpenAnmeldung(lehrveranstaltung_id, stsem)
|
||||
{
|
||||
$("#dialog").load("studienplan.php?getAnmeldung=true&lehrveranstaltung_id="+lehrveranstaltung_id+"&stsem="+stsem+"&uid='.$db->convert_html_chars($uid).'");
|
||||
$("#dialog").dialog("open");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="dialog" title="Anmeldung">Anmeldung</div>
|
||||
';
|
||||
|
||||
if(isset($_POST['action']) && $_POST['action']=='anmeldung')
|
||||
{
|
||||
$lehrveranstaltung_id = $_POST['lv'];
|
||||
$stsem = $_POST['stsem'];
|
||||
|
||||
$lvangebot = new lvangebot();
|
||||
$lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem);
|
||||
|
||||
if(isset($lvangebot->result[0]))
|
||||
{
|
||||
if($lvangebot->result[0]->AnmeldungMoeglich())
|
||||
{
|
||||
// Benutzer einschreiben
|
||||
//echo "Anmeldung zur LV: ".$_POST['lv'].$_POST['stsem'];
|
||||
$bngruppe = new benutzergruppe();
|
||||
|
||||
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
|
||||
{
|
||||
$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">Sie wurden erfolgreich in die Lehrveranstaltung eingeschrieben</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Sie sind bereits zu dieser Lehrveranstaltung angemeldet'.$uid.'/'.$lvangebot->result[0]->gruppe_kurzbz.'/'.$stsem.' '.$bngruppe->errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
echo $lvangebot->result[0]->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Keine Anmeldung moeglich';
|
||||
}
|
||||
|
||||
$db = new basis_db();
|
||||
$datum_obj = new datum();
|
||||
@@ -83,8 +186,10 @@ $studiensemester_start = $prestudent->studiensemester_kurzbz;
|
||||
$ausbildungssemester_start = $prestudent->ausbildungssemester;
|
||||
$orgform_kurzbz = $prestudent->orgform_kurzbz;
|
||||
|
||||
$prestudent->getLastStatus($student->prestudent_id, 'Student');
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
|
||||
$studienplan = new studienplan();
|
||||
$studienplan_id = $studienplan->getStudienplan($student->studiengang_kz, $studiensemester_start, $ausbildungssemester_start, $orgform_kurzbz);
|
||||
$studienplan->loadStudienplan($studienplan_id);
|
||||
|
||||
// Studienplan laden
|
||||
@@ -124,7 +229,7 @@ foreach($note->result as $row_note)
|
||||
// LV Angebot holen
|
||||
$lvangebot_arr = array();
|
||||
$lvangebot = new lvangebot();
|
||||
$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr);
|
||||
$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true);
|
||||
foreach($lvangebot->result as $row_lvangebot)
|
||||
$lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot;
|
||||
|
||||
@@ -135,7 +240,7 @@ $lv->loadLehrveranstaltungStudienplan($studienplan_id);
|
||||
foreach($lv->lehrveranstaltungen as $row_lva)
|
||||
$lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva;
|
||||
|
||||
echo '<h1>'.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname</h1>";
|
||||
echo '<h1>'.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )</h1>";
|
||||
|
||||
echo '<table style="border: 1px solid black">
|
||||
<thead>
|
||||
@@ -163,15 +268,31 @@ function drawTree($tree, $depth)
|
||||
|
||||
foreach($tree as $row_tree)
|
||||
{
|
||||
echo '<tr>';
|
||||
echo "\n<tr>";
|
||||
echo '<td>';
|
||||
|
||||
// Einrückung für Subtree
|
||||
for($i=0;$i<$depth;$i++)
|
||||
echo ' ';
|
||||
|
||||
$lvkompatibel = new lehrveranstaltung();
|
||||
$lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
|
||||
$lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id;
|
||||
|
||||
$lvregel = new lvregel();
|
||||
if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id))
|
||||
echo '<span class="ok">';
|
||||
else
|
||||
echo '<span class="error">';
|
||||
}
|
||||
else
|
||||
echo '<span>';
|
||||
|
||||
// Bezeichnung der Lehrveranstaltung
|
||||
echo $row_tree->bezeichnung;
|
||||
echo '</span>';
|
||||
echo '</td>';
|
||||
|
||||
// ECTS Punkte
|
||||
@@ -190,6 +311,7 @@ function drawTree($tree, $depth)
|
||||
if($note_pruef_arr[$note]->positiv)
|
||||
$positiv=true;
|
||||
}
|
||||
|
||||
if($positiv)
|
||||
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
|
||||
else
|
||||
@@ -197,7 +319,10 @@ function drawTree($tree, $depth)
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span>'.$p->t('studienplan/offen').'</span>';
|
||||
if(!$row_tree->stpllv_pflicht)
|
||||
echo '<span>'.$p->t('studienplan/optional').'</span>';
|
||||
else
|
||||
echo '<span>'.$p->t('studienplan/offen').'</span>';
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
@@ -228,56 +353,83 @@ function drawTree($tree, $depth)
|
||||
}
|
||||
else
|
||||
{
|
||||
// Angebot der LV pruefen
|
||||
if(isset($lvangebot_arr[$row_tree->lehrveranstaltung_id])
|
||||
&& isset($lvangebot_arr[$row_tree->lehrveranstaltung_id][$stsem]))
|
||||
{
|
||||
// LV findet statt
|
||||
$angebot = $lvangebot_arr[$row_tree->lehrveranstaltung_id][$stsem];
|
||||
// Angebot der LV und der Kompatiblen pruefen
|
||||
$anmeldungmoeglich=false;
|
||||
$angemeldet=false;
|
||||
$semesterlock=false;
|
||||
$regelerfuellt=true;
|
||||
$anmeldeinformation='';
|
||||
$angebot_vorhanden=false;
|
||||
|
||||
// Pruefen ob eine Anmeldung möglich ist
|
||||
$anmeldungmoeglich=true;
|
||||
// Regeln Pruefen
|
||||
$lvregel = new lvregel();
|
||||
|
||||
// Anmelde Zeitfenster pruefen
|
||||
if(!$datum_obj->between($angebot->anmeldefenster_start, $angebot->anmeldefenster_ende, date('Y-m-d H:i:s')))
|
||||
{
|
||||
$anmeldeinformation=$p->t('studienplan/anmeldungvonbis',array($datum_obj->formatDatum($angebot->anmeldefenster_start,'d.m.Y H:i'),$datum_obj->formatDatum($angebot->anmeldefenster_ende,'d.m.Y H:i')));
|
||||
$anmeldungmoeglich=false;
|
||||
}
|
||||
|
||||
if($anmeldungmoeglich)
|
||||
{
|
||||
// Regeln Pruefen
|
||||
$lvregel = new lvregel();
|
||||
|
||||
// Pruefen ob Semestersperre vorhanden ist
|
||||
if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester))
|
||||
{
|
||||
echo '<img src="../../../skin/images/lock.png" title="'.$p->t('studienplan/anmeldunggesperrt').'">';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
|
||||
{
|
||||
echo '<a href="lv_anmeldung.php">'.$p->t('studienplan/anmelden').'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
// LV wird angeboten, Regeln für Anmeldung nicht erfüllt
|
||||
echo '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// LV wird angeboten - Anmeldung aber noch nicht moeglich
|
||||
echo '<span title="'.$anmeldeinformation.'">X</a>';
|
||||
}
|
||||
// Pruefen ob Semestersperre vorhanden ist
|
||||
if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester))
|
||||
{
|
||||
$semesterlock=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// LV wird in diesem Studiensemester nicht angeboten
|
||||
echo '-';
|
||||
if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem))
|
||||
{
|
||||
$regelerfuellt=false;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($lvkompatibel_arr as $row_lvid)
|
||||
{
|
||||
// Angebot der LV pruefen
|
||||
if(isset($lvangebot_arr[$row_lvid])
|
||||
&& isset($lvangebot_arr[$row_lvid][$stsem]))
|
||||
{
|
||||
$angebot_vorhanden=true;
|
||||
// LV findet statt
|
||||
$angebot = $lvangebot_arr[$row_lvid][$stsem];
|
||||
|
||||
if($angebot->gruppe_kurzbz!='')
|
||||
{
|
||||
// Pruefen ob bereits angemeldet
|
||||
$bngruppe = new benutzergruppe();
|
||||
if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem))
|
||||
{
|
||||
// Bereits angemeldet
|
||||
$angemeldet=true;
|
||||
}
|
||||
}
|
||||
|
||||
// Pruefen ob eine Anmeldung möglich ist
|
||||
if($angebot->AnmeldungMoeglich())
|
||||
{
|
||||
if(!$angemeldet)
|
||||
$anmeldungmoeglich=true;
|
||||
}
|
||||
else
|
||||
$anmeldeinformation.=$angebot->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
if($semesterlock)
|
||||
{
|
||||
echo '<img src="../../../skin/images/lock.png" title="'.$p->t('studienplan/anmeldunggesperrt').'">';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($angebot_vorhanden)
|
||||
{
|
||||
if($anmeldungmoeglich)
|
||||
echo '<a href="#" onclick="OpenAnmeldung(\''.$row_tree->lehrveranstaltung_id.'\',\''.$stsem.'\'); return false;">'.$p->t('studienplan/anmelden').'</a>';
|
||||
else
|
||||
echo '<span title="'.$anmeldeinformation.'">X</a>';
|
||||
|
||||
if(!$regelerfuellt)
|
||||
echo '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
// LV wird nicht angeboten
|
||||
echo '-';
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
@@ -597,6 +597,7 @@ if(!$error)
|
||||
$prestd_neu->datum = date('Y-m-d');
|
||||
$prestd_neu->ausbildungssemester = $sem;
|
||||
$prestd_neu->orgform_kurzbz = $prestd->orgform_kurzbz;
|
||||
$prestd_neu->studienplan_id = $prestd->studienplan_id;
|
||||
$prestd_neu->insertamum = date('Y-m-d H:i:s');
|
||||
$prestd_neu->insertvon = $user;
|
||||
$prestd_neu->new = true;
|
||||
@@ -875,6 +876,7 @@ if(!$error)
|
||||
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
|
||||
$rolle->datum = $_POST['datum'];
|
||||
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$rolle->studienplan_id = $_POST['studienplan_id'];
|
||||
|
||||
if($rolle->save_rolle())
|
||||
$return = true;
|
||||
@@ -1040,6 +1042,7 @@ if(!$error)
|
||||
$rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz;
|
||||
$rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester;
|
||||
$rolle->orgform_kurzbz = $hlp->result[0]->orgform_kurzbz;
|
||||
$rolle->studienplan_id = $hlp->result[0]->studienplan_id;
|
||||
$rolle->datum = date('Y-m-d');
|
||||
$rolle->insertamum = date('Y-m-d H:i:s');
|
||||
$rolle->insertvon = $user;
|
||||
|
||||
@@ -538,6 +538,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#prestudent_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-studienplan_id" label="StudienplanID" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-prestudent-tree-rolle-studienplan_bezeichnung" label="Studienplan" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -551,6 +559,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#orgform_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#prestudent_id"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_id"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#studienplan_bezeichnung"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -1614,6 +1614,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
|
||||
ausbildungssemester = dialog.getElementById('student-rolle-menulist-ausbildungssemester').value;
|
||||
datum = dialog.getElementById('student-rolle-datum-datum').value;
|
||||
orgform_kurzbz = dialog.getElementById('student-rolle-menulist-orgform_kurzbz').value;
|
||||
studienplan_id = dialog.getElementById('student-rolle-menulist-studienplan').value;
|
||||
|
||||
if(!CheckDatum(datum))
|
||||
{
|
||||
@@ -1634,6 +1635,7 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
|
||||
req.add('ausbildungssemester', ausbildungssemester);
|
||||
req.add('datum', ConvertDateToISO(datum));
|
||||
req.add('orgform_kurzbz', orgform_kurzbz);
|
||||
req.add('studienplan_id', studienplan_id);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
//RDF parsen
|
||||
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
|
||||
orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
|
||||
studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
|
||||
neu = false;
|
||||
}
|
||||
else
|
||||
@@ -72,6 +73,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
ausbildungssemester='1';
|
||||
datum = '<?php echo date('d.m.Y') ?>';
|
||||
orgform_kurzbz='';
|
||||
studienplan_id='';
|
||||
}
|
||||
|
||||
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
|
||||
@@ -80,6 +82,7 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
|
||||
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
|
||||
document.getElementById('student-rolle-datum-datum').value=datum;
|
||||
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
|
||||
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -92,4 +95,4 @@ function StudentRolleSpeichern()
|
||||
{
|
||||
if(window.opener.StudentRolleSpeichern(document, studiensemester_old, ausbildungssemester_old))
|
||||
window.close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/studienplan.class.php');
|
||||
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
|
||||
@@ -101,6 +102,7 @@ $db = new basis_db();
|
||||
<menuitem value="Student" label="Student"/>
|
||||
<menuitem value="Unterbrecher" label="Unterbrecher"/>
|
||||
<menuitem value="Diplomand" label="Diplomand"/>
|
||||
<menuitem value="Incoming" label="Incoming"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
@@ -124,7 +126,7 @@ $db = new basis_db();
|
||||
<menupopup>
|
||||
<?php
|
||||
$maxsem=10;
|
||||
$qry = "SELECT max(semester) as maxsem FROM public.tbl_lehrverband WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id='".addslashes($prestudent_id)."')";
|
||||
$qry = "SELECT max(semester) as maxsem FROM public.tbl_lehrverband WHERE studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($prestudent_id).")";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
@@ -171,12 +173,29 @@ $db = new basis_db();
|
||||
<label value="Datum" control="student-rolle-datum-datum"/>
|
||||
<box class='Datum' id="student-rolle-datum-datum" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Studienplan" control="student-rolle-menulist-studienplan"/>
|
||||
<menulist id="student-rolle-menulist-studienplan" >
|
||||
<menupopup>
|
||||
<menuitem value="" label="-- keine Auswahl --"/>
|
||||
<?php
|
||||
$studienplan = new studienplan();
|
||||
$studienplan->getStudienplaene($prestudent->studiengang_kz);
|
||||
|
||||
foreach($studienplan->result as $row)
|
||||
{
|
||||
echo '<menuitem value="'.$row->studienplan_id.'" label="'.$row->bezeichnung.' ('.$row->version.' /'.$row->studienplan_id.')'.($row->aktiv?'AKTIV':'').'"/>';
|
||||
}
|
||||
?>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="student-rolel-button-speichern" oncommand="StudentRolleSpeichern()" label="Speichern" />
|
||||
<button id="student-rolle-button-speichern" oncommand="StudentRolleSpeichern()" label="Speichern" />
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
</window>
|
||||
</window>
|
||||
|
||||
@@ -74,7 +74,7 @@ class benutzergruppe extends basis_db
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde keine Datensatz gefunden';
|
||||
$this->errormsg = 'Es wurde kein Datensatz gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -212,4 +212,4 @@ class benutzergruppe extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
+193
-167
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2006 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -152,15 +151,18 @@ class lehrveranstaltung extends basis_db
|
||||
* Liefert alle Lehrveranstaltungen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll() {
|
||||
public function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung;";
|
||||
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -216,7 +218,8 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $semester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_lva($studiengang_kz, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null) {
|
||||
public function load_lva($studiengang_kz, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null, $oe_kurzbz=null, $lehrtyp=null)
|
||||
{
|
||||
//Variablen pruefen
|
||||
if($semester == "null")
|
||||
$semester = null;
|
||||
@@ -224,19 +227,23 @@ class lehrveranstaltung extends basis_db
|
||||
if($lehreverzeichnis == "null")
|
||||
$lehreverzeichnis = null;
|
||||
|
||||
if (!is_numeric($studiengang_kz) || $studiengang_kz == '') {
|
||||
if (!is_numeric($studiengang_kz) || $studiengang_kz == '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_null($semester) && (!is_numeric($semester) && $semester != '')) {
|
||||
if (!is_null($semester) && (!is_numeric($semester) && $semester != ''))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl 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;
|
||||
}
|
||||
if (!is_null($lehre) && !is_bool($lehre)) {
|
||||
if (!is_null($lehre) && !is_bool($lehre))
|
||||
{
|
||||
$this->errormsg = 'Lehre muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
@@ -264,25 +271,25 @@ class lehrveranstaltung extends basis_db
|
||||
$qry .= " AND lehre ";
|
||||
|
||||
if(!is_null($oe_kurzbz))
|
||||
$qry .= " AND oe_kurzbz='".$oe_kurzbz."'";
|
||||
$qry .= " AND oe_kurzbz=".$this->db_add_param($oe_kurzbz);
|
||||
|
||||
if(!is_null($lehrtyp))
|
||||
$qry .= " AND lehrtyp_kurzbz='".$lehrtyp."'";
|
||||
$qry .= " AND lehrtyp_kurzbz=".$this->db_add_param($lehrtyp);
|
||||
|
||||
if ($sort == "bezeichnung")
|
||||
$qry .= " ORDER BY bezeichnung";
|
||||
elseif (is_null($sort) || empty($sort))
|
||||
if (is_null($sort) || empty($sort))
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -337,33 +344,44 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $semester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_lva_le($studiengang_kz, $studiensemester_kurzbz = null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null) {
|
||||
public function load_lva_le($studiengang_kz, $studiensemester_kurzbz = null, $semester = null, $lehreverzeichnis = null, $lehre = null, $aktiv = null, $sort = null)
|
||||
{
|
||||
//Variablen pruefen
|
||||
|
||||
if (!is_numeric($studiengang_kz) || $studiengang_kz === '') {
|
||||
if (!is_numeric($studiengang_kz) || $studiengang_kz === '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_null($semester) && (!is_numeric($semester) && $semester != '')) {
|
||||
if (!is_null($semester) && (!is_numeric($semester) && $semester != ''))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_null($aktiv) && !is_bool($aktiv)) {
|
||||
if (!is_null($aktiv) && !is_bool($aktiv))
|
||||
{
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_null($lehre) && !is_bool($lehre)) {
|
||||
if (!is_null($lehre) && !is_bool($lehre))
|
||||
{
|
||||
$this->errormsg = 'Lehre muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT distinct lehre.tbl_lehrveranstaltung.*, tbl_lehreinheit.studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung,lehre.tbl_lehreinheit where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id and studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
distinct lehre.tbl_lehrveranstaltung.*, tbl_lehreinheit.studiensemester_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung,lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
//Select Befehl zusammenbauen
|
||||
if (!is_null($lehreverzeichnis))
|
||||
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
|
||||
else
|
||||
$qry .= " AND lehreverzeichnis<>'' ";
|
||||
//else
|
||||
// $qry .= " AND lehreverzeichnis<>'' ";
|
||||
|
||||
if (!is_null($semester) && $semester != '')
|
||||
$qry .= " AND semester=" . $this->db_add_param($semester);
|
||||
@@ -383,20 +401,20 @@ class lehrveranstaltung extends basis_db
|
||||
if (!is_null($lehre) && $lehre)
|
||||
$qry .= " AND lehre ";
|
||||
|
||||
if ($sort == "bezeichnung")
|
||||
$qry .= " ORDER BY bezeichnung";
|
||||
elseif (is_null($sort) || empty($sort))
|
||||
if (is_null($sort) || empty($sort))
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -453,7 +471,8 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $student_uid
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_lva_student($student_uid) {
|
||||
public function load_lva_student($student_uid)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung
|
||||
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
|
||||
WHERE uid=" . $this->db_add_param($student_uid) . ")
|
||||
@@ -461,11 +480,13 @@ class lehrveranstaltung extends basis_db
|
||||
ORDER BY semester, bezeichnung";
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -519,69 +540,86 @@ class lehrveranstaltung extends basis_db
|
||||
* Prueft die Gueltigkeit der Variablen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function validate() {
|
||||
public function validate()
|
||||
{
|
||||
//Laenge Pruefen
|
||||
if (mb_strlen($this->bezeichnung) > 128) {
|
||||
if (mb_strlen($this->bezeichnung) > 128)
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung darf nicht laenger als 128 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if (mb_strlen($this->kurzbz) > 16) {
|
||||
if (mb_strlen($this->kurzbz) > 16)
|
||||
{
|
||||
$this->errormsg = 'Kurzbez darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if (mb_strlen($this->anmerkung) > 64) {
|
||||
if (mb_strlen($this->anmerkung) > 64)
|
||||
{
|
||||
$this->errormsg = 'Anmerkung darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if (mb_strlen($this->lehreverzeichnis) > 16) {
|
||||
if (mb_strlen($this->lehreverzeichnis) > 16)
|
||||
{
|
||||
$this->errormsg = 'Lehreverzeichnis darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if (mb_strlen($this->lvnr) > 32) {
|
||||
if (mb_strlen($this->lvnr) > 32)
|
||||
{
|
||||
$this->errormsg = 'LVNR darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if (!is_numeric($this->studiengang_kz)) {
|
||||
if (!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if ($this->semester != '' && !is_numeric($this->semester)) {
|
||||
if ($this->semester != '' && !is_numeric($this->semester))
|
||||
{
|
||||
$this->errormsg = 'Semester ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if ($this->planfaktor != '' && !is_numeric($this->planfaktor)) {
|
||||
if ($this->planfaktor != '' && !is_numeric($this->planfaktor))
|
||||
{
|
||||
$this->errormsg = 'Planfaktor ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if ($this->planlektoren != '' && !is_numeric($this->planlektoren)) {
|
||||
if ($this->planlektoren != '' && !is_numeric($this->planlektoren))
|
||||
{
|
||||
$this->errormsg = 'Planlektoren ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if ($this->ects != '' && !is_numeric($this->ects)) {
|
||||
if ($this->ects != '' && !is_numeric($this->ects))
|
||||
{
|
||||
$this->errormsg = 'ECTS sind ungueltig';
|
||||
return false;
|
||||
}
|
||||
if ($this->ects > 40) {
|
||||
if ($this->ects > 40)
|
||||
{
|
||||
$this->errormsg = 'ECTS darf nicht groesser als 40 sein';
|
||||
return false;
|
||||
}
|
||||
if ($this->semesterstunden != '' && !isint($this->semesterstunden)) {
|
||||
if ($this->semesterstunden != '' && !isint($this->semesterstunden))
|
||||
{
|
||||
$this->errormsg = 'Semesterstunden muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if ($this->sort != '' && !isint($this->sort)) {
|
||||
if ($this->sort != '' && !isint($this->sort))
|
||||
{
|
||||
$this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if ($this->incoming != '' && !isint($this->incoming)) {
|
||||
if ($this->incoming != '' && !isint($this->incoming))
|
||||
{
|
||||
$this->errormsg = 'Sort muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if ($this->anzahlsemester != '' && !isint($this->sort)) {
|
||||
if ($this->anzahlsemester != '' && !isint($this->sort))
|
||||
{
|
||||
$this->errormsg = 'Anzahl Semester muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if ($this->semesterwochen != '' && !isint($this->sort)) {
|
||||
if ($this->semesterwochen != '' && !isint($this->sort))
|
||||
{
|
||||
$this->errormsg = 'Semesterwochen muss ein eine gueltige ganze Zahl sein';
|
||||
return false;
|
||||
}
|
||||
@@ -593,7 +631,8 @@ class lehrveranstaltung extends basis_db
|
||||
* Speichert den aktuellen Datensatz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new = null) {
|
||||
public function save($new = null)
|
||||
{
|
||||
if ($new == null)
|
||||
$new = $this->new;
|
||||
|
||||
@@ -601,7 +640,8 @@ class lehrveranstaltung extends basis_db
|
||||
if (!$this->validate())
|
||||
return false;
|
||||
|
||||
if ($new) {
|
||||
if ($new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehrveranstaltung (studiengang_kz, bezeichnung, kurzbz, lehrform_kurzbz,
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, ext_id, insertamum,
|
||||
@@ -641,10 +681,13 @@ class lehrveranstaltung extends basis_db
|
||||
$this->db_add_param($this->anzahlsemester) . ',' .
|
||||
$this->db_add_param($this->semesterwochen) . ',' .
|
||||
$this->db_add_param($this->lvnr) . ');';
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//bestehenden Datensatz akualisieren
|
||||
//Pruefen ob lehrveranstaltung_id eine gueltige Zahl ist
|
||||
if (!is_numeric($this->lehrveranstaltung_id) || $this->lehrveranstaltung_id == '') {
|
||||
if (!is_numeric($this->lehrveranstaltung_id) || $this->lehrveranstaltung_id == '')
|
||||
{
|
||||
$this->errormsg = 'lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
@@ -685,27 +728,37 @@ class lehrveranstaltung extends basis_db
|
||||
'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry)) {
|
||||
if ($new) {
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($new)
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_lehrveranstaltung_lehrveranstaltung_id_seq') as id";
|
||||
if ($this->db_query($qry)) {
|
||||
if ($row = $this->db_fetch_object()) {
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->lehrveranstaltung_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
@@ -718,8 +771,10 @@ class lehrveranstaltung extends basis_db
|
||||
* @param studiengang_kz, uid, studiensemester_kurzbz
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz) {
|
||||
if (!is_numeric($studiengang_kz)) {
|
||||
public function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz)
|
||||
{
|
||||
if (!is_numeric($studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
@@ -732,8 +787,10 @@ class lehrveranstaltung extends basis_db
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = " . $this->db_add_param($studiensemester_kurzbz) . " AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid=" . $this->db_add_param($uid) . ";";
|
||||
if ($this->db_query($qry)) {
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -781,7 +838,8 @@ class lehrveranstaltung extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen aus der Datenbank';
|
||||
return false;
|
||||
}
|
||||
@@ -794,12 +852,15 @@ class lehrveranstaltung extends basis_db
|
||||
* $order Sortierkriterium
|
||||
* @return array mit Lehrferanstaltungen oder false=fehler
|
||||
*/
|
||||
public function getTab($stg = null, $sem = null, $order = 'lehrveranstaltung_id') {
|
||||
if ($stg != null && !is_numeric($stg)) {
|
||||
public function getTab($stg = null, $sem = null, $order = 'lehrveranstaltung_id')
|
||||
{
|
||||
if ($stg != null && !is_numeric($stg))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
if ($sem != null && !is_numeric($sem)) {
|
||||
if ($sem != null && !is_numeric($sem))
|
||||
{
|
||||
$this->errormsg = 'Semester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
@@ -809,15 +870,17 @@ class lehrveranstaltung extends basis_db
|
||||
$sql_query .= " WHERE true";
|
||||
|
||||
if ($stg != null)
|
||||
$sql_query .= " AND studiengang_kz='$stg'";
|
||||
$sql_query .= " AND studiengang_kz=".$this->db_add_param($stg);
|
||||
|
||||
if ($sem != null)
|
||||
$sql_query .= " AND semester='$sem'";
|
||||
$sql_query .= " AND semester=".$this->db_add_param($sem);
|
||||
|
||||
$sql_query .= " ORDER BY $order";
|
||||
|
||||
if ($this->db_query($sql_query)) {
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
if ($this->db_query($sql_query))
|
||||
{
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$l = new lehrveranstaltung();
|
||||
|
||||
$l->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -862,7 +925,8 @@ class lehrveranstaltung extends basis_db
|
||||
$this->lehrveranstaltungen[] = $l;
|
||||
}
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
$this->errormsg = $this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
@@ -875,8 +939,10 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $semester Semester
|
||||
* @return array mit Moodlekurs Ids oder false=fehler
|
||||
*/
|
||||
public function getMoodleKurse($lehrveranstaltung_id, $semester) {
|
||||
if ($lehrveranstaltung_id == '' || $semester == '') {
|
||||
public function getMoodleKurse($lehrveranstaltung_id, $semester)
|
||||
{
|
||||
if ($lehrveranstaltung_id == '' || $semester == '')
|
||||
{
|
||||
$this->errormsg = 'Id und Semester muss übergeben werden.';
|
||||
return false;
|
||||
}
|
||||
@@ -888,12 +954,16 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
$moodleArray = array();
|
||||
|
||||
if ($result = $this->db_query($qry)) {
|
||||
while ($row = $this->db_fetch_object($result)) {
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$moodleArray[] = $row->mdl_course_id;
|
||||
}
|
||||
return $moodleArray;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Moodlekurs konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
@@ -904,7 +974,8 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $ids Array mit den LV ids
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadArray($ids) {
|
||||
public function loadArray($ids)
|
||||
{
|
||||
if (count($ids) == 0)
|
||||
return true;
|
||||
|
||||
@@ -913,12 +984,14 @@ class lehrveranstaltung extends basis_db
|
||||
$qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id in(' . $ids . ')';
|
||||
$qry .=" ORDER BY bezeichnung";
|
||||
|
||||
if (!$result = $this->db_query($qry)) {
|
||||
if (!$result = $this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object($result)) {
|
||||
while ($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -975,8 +1048,10 @@ class lehrveranstaltung extends basis_db
|
||||
* @param $semeser Semester optional
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null) {
|
||||
if (!is_numeric($studienplan_id) || $studienplan_id === '') {
|
||||
public function loadLehrveranstaltungStudienplan($studienplan_id, $semester = null)
|
||||
{
|
||||
if (!is_numeric($studienplan_id) || $studienplan_id === '')
|
||||
{
|
||||
$this->errormsg = 'StudienplanID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
@@ -992,13 +1067,16 @@ class lehrveranstaltung extends basis_db
|
||||
USING(lehrveranstaltung_id)
|
||||
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
|
||||
|
||||
if (!is_null($semester)) {
|
||||
if (!is_null($semester))
|
||||
{
|
||||
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
|
||||
}
|
||||
$qry.=" ORDER BY semester, sort";
|
||||
$this->lehrveranstaltungen = array();
|
||||
if ($result = $this->db_query($qry)) {
|
||||
while ($row = $this->db_fetch_object($result)) {
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
while ($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new lehrveranstaltung();
|
||||
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
@@ -1053,7 +1131,8 @@ class lehrveranstaltung extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
@@ -1062,10 +1141,13 @@ class lehrveranstaltung extends basis_db
|
||||
/**
|
||||
* Liefert die Lehrveranstaltungen als verschachtelten Tree
|
||||
*/
|
||||
public function getLehrveranstaltungTree() {
|
||||
public function getLehrveranstaltungTree()
|
||||
{
|
||||
$tree = array();
|
||||
foreach ($this->lehrveranstaltungen as $row) {
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent == '') {
|
||||
foreach ($this->lehrveranstaltungen as $row)
|
||||
{
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent == '')
|
||||
{
|
||||
$tree[$row->studienplan_lehrveranstaltung_id] = $row;
|
||||
$tree[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
|
||||
}
|
||||
@@ -1076,10 +1158,13 @@ class lehrveranstaltung extends basis_db
|
||||
/**
|
||||
* Generiert die Subtrees des Lehrveranstaltungstrees
|
||||
*/
|
||||
protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id) {
|
||||
protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
$childs = array();
|
||||
foreach ($this->lehrveranstaltungen as $row) {
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent === $studienplan_lehrveranstaltung_id) {
|
||||
foreach ($this->lehrveranstaltungen as $row)
|
||||
{
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent === $studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
$childs[$row->studienplan_lehrveranstaltung_id] = $row;
|
||||
$childs[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
|
||||
}
|
||||
@@ -1087,69 +1172,6 @@ class lehrveranstaltung extends basis_db
|
||||
return $childs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function saveStudienplanLehrveranstaltung() {
|
||||
|
||||
if ($this->new) {
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id,
|
||||
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator,
|
||||
insertamum, insertvon) VALUES (' .
|
||||
$this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
|
||||
$this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' .
|
||||
$this->db_add_param($this->stpllv_koordinator) . ', ' .
|
||||
'now(), ' .
|
||||
$this->db_add_param($this->insertvon) . ');';
|
||||
} else {
|
||||
//Pruefen ob studienplan_id eine gueltige Zahl ist
|
||||
if (!is_numeric($this->studienplan_lehrveranstaltung_id)) {
|
||||
$this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' .
|
||||
' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
|
||||
' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
|
||||
' semester=' . $this->db_add_param($this->stpllv_semester, FHC_INTEGER) . ', ' .
|
||||
' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
|
||||
' pflicht=' . $this->db_add_param($this->stpllv_pflicht, FHC_BOOLEAN) . ', ' .
|
||||
' koordinator=' . $this->db_add_param($this->stpllv_koordinator) . ', ' .
|
||||
' updateamum= now(), ' .
|
||||
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
|
||||
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry)) {
|
||||
if ($this->new) {
|
||||
//naechste ID aus der Sequence holen
|
||||
$qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;";
|
||||
if ($this->db_query($qry)) {
|
||||
if ($row = $this->db_fetch_object()) {
|
||||
$this->studienplan_lehrveranstaltung_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 Datensatzes';
|
||||
return false;
|
||||
}
|
||||
return $this->studienplan_lehrveranstaltung_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
*/
|
||||
@@ -1311,9 +1333,13 @@ class lehrveranstaltung extends basis_db
|
||||
*/
|
||||
public function saveKompatibleLehrveranstaltung($lehrveranstaltung_id, $lehrveranstaltung_id_kompatibel)
|
||||
{
|
||||
$qry = 'SELECT * FROM lehre.tbl_lehrveranstaltung_kompatibel WHERE
|
||||
lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).' AND
|
||||
lehrveranstaltung_id_kompatibel='.$this->db_add_param($lehrveranstaltung_id_kompatibel, FHC_INTEGER).';';
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung_kompatibel
|
||||
WHERE
|
||||
lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).'
|
||||
AND lehrveranstaltung_id_kompatibel='.$this->db_add_param($lehrveranstaltung_id_kompatibel, FHC_INTEGER).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -1397,21 +1423,21 @@ class lehrveranstaltung extends basis_db
|
||||
if(!is_null($lehrtyp))
|
||||
$qry .= " AND lehrtyp_kurzbz='".$lehrtyp."'";
|
||||
|
||||
if ($sort == "bezeichnung")
|
||||
$qry .= " ORDER BY bezeichnung";
|
||||
// elseif (is_null($sort) || empty($sort))
|
||||
// $qry .= " ORDER BY semester, bezeichnung";
|
||||
// else
|
||||
// $qry .= " ORDER BY $sort ";
|
||||
if (is_null($sort) || empty($sort))
|
||||
$qry .= " ORDER BY semester, bezeichnung";
|
||||
else
|
||||
$qry .= " ORDER BY $sort ";
|
||||
$qry .= ";";
|
||||
|
||||
//Datensaetze laden
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object()) {
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung();
|
||||
|
||||
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
|
||||
@@ -109,7 +109,7 @@ class lvangebot extends basis_db
|
||||
* @param lv_id ID der LV, dessen Angebote geladen werden sollen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAllFromLvId($lv_id)
|
||||
public function getAllFromLvId($lv_id, $studiensemester_kurzbz=null)
|
||||
{
|
||||
if(!is_numeric($lv_id))
|
||||
{
|
||||
@@ -117,10 +117,15 @@ class lvangebot extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='SELECT tbl_lvangebot.* FROM lehre.tbl_lvangebot, public.tbl_studiensemester as stsem
|
||||
WHERE tbl_lvangebot.studiensemester_kurzbz=stsem.studiensemester_kurzbz
|
||||
AND lehrveranstaltung_id='.$this->db_add_param($lv_id, FHC_INTEGER, false).
|
||||
'ORDER BY stsem.start';
|
||||
$qry='SELECT
|
||||
tbl_lvangebot.*
|
||||
FROM
|
||||
lehre.tbl_lvangebot
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE lehrveranstaltung_id='.$this->db_add_param($lv_id, FHC_INTEGER, false);
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
$qry.= ' ORDER BY start';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -333,10 +338,10 @@ class lvangebot extends basis_db
|
||||
* Laedt das LV-Angebot eines gesammten Studienplanes
|
||||
* @param $studienplan_id ID des Studienplanes
|
||||
*/
|
||||
public function getLVAngebotFromStudienplan($studienplan_id, $studiensemester_arr=null)
|
||||
public function getLVAngebotFromStudienplan($studienplan_id, $studiensemester_arr=null, $kompatible=false)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
tbl_lvangebot.*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_lvangebot USING(lehrveranstaltung_id)
|
||||
@@ -346,6 +351,23 @@ class lvangebot extends basis_db
|
||||
if(!is_null($studiensemester_arr))
|
||||
$qry.=" AND tbl_lvangebot.studiensemester_kurzbz IN(".$this->implode4SQL($studiensemester_arr).")";
|
||||
|
||||
if($kompatible)
|
||||
{
|
||||
$qry.=" UNION
|
||||
SELECT
|
||||
tbl_lvangebot.*
|
||||
FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
JOIN lehre.tbl_lehrveranstaltung_kompatibel USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lvangebot ON (tbl_lvangebot.lehrveranstaltung_id=tbl_lehrveranstaltung_kompatibel.lehrveranstaltung_id_kompatibel)
|
||||
WHERE
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_id=".$this->db_add_param($studienplan_id);
|
||||
|
||||
if(!is_null($studiensemester_arr))
|
||||
$qry.=" AND tbl_lvangebot.studiensemester_kurzbz IN(".$this->implode4SQL($studiensemester_arr).")";
|
||||
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -374,5 +396,57 @@ class lvangebot extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Anmeldung zu dieser Lehrveranstaltung derzeit moeglich ist
|
||||
*/
|
||||
public function AnmeldungMoeglich()
|
||||
{
|
||||
$datum_obj = new datum();
|
||||
if($this->gruppe_kurzbz!='')
|
||||
{
|
||||
if($datum_obj->between($this->anmeldefenster_start, $this->anmeldefenster_ende, date('Y-m-d H:i:s')))
|
||||
{
|
||||
if($this->gesamtplaetze!='')
|
||||
{
|
||||
// Gesamtplaetze pruefen
|
||||
$qry = "SELECT
|
||||
count(*) as anzahl
|
||||
FROM
|
||||
public.tbl_benutzergruppe
|
||||
WHERE
|
||||
gruppe_kurzbz=".$this->db_add_param($this->gruppe)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($this->studiensemester_kurzbz);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
if($row->anzahl<$this->gesamtplaetze)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es sind bereits alle Plätze für diese Lehrveranstaltung belegt';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eine Anmeldung zu dieser Lehrveranstaltung ist derzeit nicht moeglich';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es ist derzeit noch keine Gruppe für die Anmeldung zugeteilt';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+104
-33
@@ -27,6 +27,8 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/student.class.php');
|
||||
require_once(dirname(__FILE__).'/prestudent.class.php');
|
||||
require_once(dirname(__FILE__).'/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/studienplan.class.php');
|
||||
require_once(dirname(__FILE__).'/lehrveranstaltung.class.php');
|
||||
|
||||
class lvregel extends basis_db
|
||||
{
|
||||
@@ -52,6 +54,8 @@ class lvregel extends basis_db
|
||||
protected $lehrveranstaltung_bezeichnung;
|
||||
protected $cache;
|
||||
|
||||
private $debug_level=0;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
@@ -478,10 +482,10 @@ class lvregel extends basis_db
|
||||
*/
|
||||
public function isZugangsberechtigt($uid, $studienplan_lehrveranstaltung_id, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$this->debug('Teste Zugangsberechtigung für '.$uid);
|
||||
$this->debug('Teste Zugangsberechtigung für '.$uid,2);
|
||||
if($result = $this->getLVRegelTree($studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
return $this->TestRegeln($uid, $result, $studiensemester_kurzbz);
|
||||
return $this->TestRegeln($uid, $result, $studiensemester_kurzbz);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -492,18 +496,37 @@ class lvregel extends basis_db
|
||||
* @param $regel_obj Regel Baum
|
||||
* @param $studiensemester_kurzbz Studiensemester das geprueft werden soll
|
||||
*/
|
||||
public function TestRegeln($uid, $regel_obj, $studiensemester_kurzbz=null)
|
||||
public function TestRegeln($uid, $regel_obj, $studiensemester_kurzbz=null, $retval=true)
|
||||
{
|
||||
$retval=true;
|
||||
$ects=0;
|
||||
foreach($regel_obj as $regel)
|
||||
{
|
||||
$this->debug('<br>');
|
||||
$testval = $this->Test($uid, $regel, $studiensemester_kurzbz);
|
||||
|
||||
list($testval,$ects_tmp) = $this->Test($uid, $regel, $studiensemester_kurzbz, $retval);
|
||||
$retval = $this->Compare($regel[0]->operator, $retval, $testval);
|
||||
$this->debug(' - RETVAL:'.($retval?'TRUE':'FALSE'));
|
||||
|
||||
if($regel[0]->operator=='x' && $ects==0 && $ects_tmp>0)
|
||||
{
|
||||
// Bei XOR nur hinzufügen wenn noch keine vorhanden
|
||||
$this->debug('<br>Anrechnung von '.$ects_tmp.' ECTS Punkten aufgrund des XOR',3);
|
||||
$ects+=$ects_tmp;
|
||||
}
|
||||
elseif(($regel[0]->operator=='u' || $regel[0]->operator=='o') && $ects_tmp>0)
|
||||
{
|
||||
// Bei AND und OR immer hinzufuegen
|
||||
$this->debug('<br>Anrechnung von '.$ects_tmp.' ECTS Punkten aufgrund des AND/OR',3);
|
||||
$ects+=$ects_tmp;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->debug('<br>keine Anrechnung von ECTS Punkten für diesen Eintrag',3);
|
||||
}
|
||||
|
||||
$this->debug('<br>Zwischenergebnis :'.($retval?'TRUE':'FALSE'),5);
|
||||
$this->debug('ECTS:'.$ects,5);
|
||||
}
|
||||
|
||||
return $retval;
|
||||
return array($retval,$ects);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -518,19 +541,19 @@ class lvregel extends basis_db
|
||||
switch($operator)
|
||||
{
|
||||
case 'u':
|
||||
$this->debug(($retval?'T':'F').' && '.($testval?'T':'F'));
|
||||
$this->debug(($retval?'T':'F').' && '.($testval?'T':'F'),5);
|
||||
$retval=($retval && $testval);
|
||||
$this->debug('='.($retval?'T':'F'));
|
||||
$this->debug('='.($retval?'T':'F'),5);
|
||||
break;
|
||||
case 'o':
|
||||
$this->debug(($retval?'T':'F').' || '.($testval?'T':'F'));
|
||||
$this->debug(($retval?'T':'F').' || '.($testval?'T':'F'),5);
|
||||
$retval=($retval || $testval);
|
||||
$this->debug('='.($retval?'T':'F'));
|
||||
$this->debug('='.($retval?'T':'F'),5);
|
||||
break;
|
||||
case 'x':
|
||||
$this->debug(($retval?'T':'F').' XOR '.($testval?'T':'F'));
|
||||
$this->debug(($retval?'T':'F').' XOR '.($testval?'T':'F'),5);
|
||||
$retval=($retval xor $testval);
|
||||
$this->debug('='.($retval?'T':'F'));
|
||||
$this->debug('='.($retval?'T':'F'),5);
|
||||
break;
|
||||
}
|
||||
return $retval;
|
||||
@@ -542,11 +565,11 @@ class lvregel extends basis_db
|
||||
* @param $regel_obj
|
||||
* @param $studiensemester_kurzbz
|
||||
*/
|
||||
public function Test($uid, $regel_obj, $studiensemester_kurzbz=null)
|
||||
public function Test($uid, $regel_obj, $studiensemester_kurzbz=null, $retvalglobal)
|
||||
{
|
||||
$regel = $regel_obj[0];
|
||||
|
||||
$this->debug('Teste Regel '.$regel->lvregel_id);
|
||||
$ects=0;
|
||||
$this->debug('<br><b>Teste Regel '.$regel->lvregel_id.'</b>',2);
|
||||
|
||||
switch($regel->lvregeltyp_kurzbz)
|
||||
{
|
||||
@@ -554,7 +577,7 @@ class lvregel extends basis_db
|
||||
/* Prueft ob das Ausbildungssemester das mindestens erforderlich ist
|
||||
um die Lehrveranstaltung zu besuchen */
|
||||
|
||||
$this->debug('Regeltyp ausbsemmin');
|
||||
$this->debug('Regeltyp ausbsemmin',2);
|
||||
|
||||
// Wenn das Studiensemester nicht gesetzt ist, wird das aktuelle verwendet
|
||||
if($studiensemester_kurzbz=='')
|
||||
@@ -581,13 +604,13 @@ class lvregel extends basis_db
|
||||
// Vergleichen des Ausbildungssemesters mit dem RegelParameter
|
||||
if($ausbildungssemester>=$regel->parameter)
|
||||
{
|
||||
$this->debug('StudSem: '.$ausbildungssemester.' >= RegelParam: '.$regel->parameter);
|
||||
$this->debug('StudSem: '.$ausbildungssemester.' >= RegelParam: '.$regel->parameter,4);
|
||||
$this->debug('TRUE');
|
||||
$retval = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->debug('StudSem: '.$ausbildungssemester.' >= RegelParam: '.$regel->parameter);
|
||||
$this->debug('StudSem: '.$ausbildungssemester.' >= RegelParam: '.$regel->parameter,4);
|
||||
$this->debug('FALSE');
|
||||
$retval = false;
|
||||
}
|
||||
@@ -595,12 +618,13 @@ class lvregel extends basis_db
|
||||
|
||||
|
||||
case 'lvpositiv':
|
||||
$this->debug('Regeltyp lvpositiv');
|
||||
$this->debug('Regeltyp lvpositiv:'.$regel->lehrveranstaltung_id,3);
|
||||
$qry = "SELECT
|
||||
*
|
||||
tbl_lehrveranstaltung.ects, tbl_zeugnisnote.note
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
JOIN lehre.tbl_note USING(note)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_note.positiv
|
||||
AND student_uid=".$this->db_add_param($uid)."
|
||||
@@ -610,20 +634,20 @@ class lvregel extends basis_db
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->debug('Positive Note gefunden:'.$row->note);
|
||||
$this->debug('TRUE');
|
||||
$ects=$row->ects;
|
||||
$this->debug('Positive Note gefunden:'.$row->note,3);
|
||||
$this->debug('ECTS:'.$ects,3);
|
||||
$retval = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->debug('Keine positive Note');
|
||||
$this->debug('FALSE');
|
||||
$this->debug('Keine positive Note',3);
|
||||
$retval = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->debug('Fehler bei Abfrage');
|
||||
$this->debug('Fehler bei Abfrage',1);
|
||||
$this->errormsg = 'Fehler bei Abfrage';
|
||||
$retval = false;
|
||||
}
|
||||
@@ -637,13 +661,26 @@ class lvregel extends basis_db
|
||||
// Subregeln dieser LVRegel pruefen
|
||||
if(isset($regel_obj['childs']) && count($regel_obj['childs'])>0)
|
||||
{
|
||||
$this->debug('<br> - Subregel '.$regel->lvregel_id.' -');
|
||||
$testval = $this->TestRegeln($uid, $regel_obj['childs']);
|
||||
$this->debug('<br> == <b>Subregel:'.$regel->lvregel_id.'</b> Start ==',2);
|
||||
list($testval,$ects_tmp) = $this->TestRegeln($uid, $regel_obj['childs'],null, $retval);
|
||||
$retval = $this->Compare($regel->operator, $retval, $testval);
|
||||
$this->debug('<br> - Subregel '.$regel->lvregel_id.' Ende-');
|
||||
|
||||
/*
|
||||
if($regel->operator=='x' && $ects==0 && $ects_tmp>0)
|
||||
{
|
||||
$this->debug('<br>Aufgrund des XOR Vergleichs werden '.$ects_tmp.' ECTS dazugerechnet');
|
||||
$ects+=$ects_tmp;
|
||||
}
|
||||
if(($regel->operator=='u' || $regel->operator=='o'))
|
||||
{
|
||||
$this->debug('<br>Aufgrund des AND / OR Operators werden '.$ects_tmp.' ECTS dazugerechnet');
|
||||
$ects+=$ects_tmp;
|
||||
}
|
||||
*/
|
||||
$this->debug('<br> == <b>Subregel '.$regel->lvregel_id.'</b> Ende ==<br>',2);
|
||||
}
|
||||
|
||||
return $retval;
|
||||
return array($retval,$ects);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -677,9 +714,43 @@ class lvregel extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
public function debug($msg)
|
||||
/**
|
||||
* Prüft ob das Modul für den Studierenden abgeschlossen ist
|
||||
* @param $uid UID des Studierenden
|
||||
* @param $studienplan_lehrveranstaltung_id ID der Lehrveranstaltungszuordnung
|
||||
*/
|
||||
public function isAbgeschlossen($uid, $studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
//echo ' '.$msg;
|
||||
$this->debug('Teste Abschluss für '.$uid,2);
|
||||
$ects=0;
|
||||
$retval=true;
|
||||
|
||||
if($result = $this->getLVRegelTree($studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
list($retval, $ects) = $this->TestRegeln($uid, $result, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Keine Regeln vorhanden
|
||||
return true;
|
||||
}
|
||||
$stpllv = new studienplan();
|
||||
$stpllv->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id);
|
||||
|
||||
$lv = new lehrveranstaltung();
|
||||
$lv->load($stpllv->lehrveranstaltung_id);
|
||||
|
||||
$this->debug('Abgeschlossen:'.$retval.' ECTS:'.$ects,1);
|
||||
if($ects>=$lv->ects && $retval)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
public function debug($msg, $debug_level=1)
|
||||
{
|
||||
if($debug_level<=$this->debug_level)
|
||||
echo ' '.$msg;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -62,6 +62,8 @@ class prestudent extends person
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $orgform_kurzbz;
|
||||
public $studienplan_id;
|
||||
public $studienplan_bezeichnung;
|
||||
|
||||
public $studiensemester_old='';
|
||||
public $ausbildungssemester_old='';
|
||||
@@ -398,7 +400,12 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_prestudentstatus WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
tbl_prestudentstatus.*, tbl_studienplan.bezeichnung as studienplan_bezeichnung
|
||||
FROM public.tbl_prestudentstatus
|
||||
LEFT JOIN lehre.tbl_studienplan USING(studienplan_id)
|
||||
WHERE
|
||||
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
if($status_kurzbz!=null)
|
||||
$qry.= " AND status_kurzbz=".$this->db_add_param($status_kurzbz);
|
||||
if($studiensemester_kurzbz!=null)
|
||||
@@ -425,7 +432,8 @@ class prestudent extends person
|
||||
$rolle->updateamum = $row->updateamum;
|
||||
$rolle->updatevon = $row->updatevon;
|
||||
$rolle->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
|
||||
$rolle->studienplan_id = $row->studienplan_id;
|
||||
$rolle->studienplan_bezeichnung = $row->studienplan_bezeichnung;
|
||||
$this->result[] = $rolle;
|
||||
}
|
||||
return true;
|
||||
@@ -474,6 +482,8 @@ class prestudent extends person
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->ext_id_prestudent = $row->ext_id;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$this->studienplan_id = $row->studienplan_id;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -713,7 +723,7 @@ class prestudent extends person
|
||||
|
||||
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
|
||||
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
|
||||
updateamum, updatevon, ext_id, orgform_kurzbz) VALUES('.
|
||||
updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) VALUES('.
|
||||
$this->db_add_param($this->prestudent_id).",".
|
||||
$this->db_add_param($this->status_kurzbz).",".
|
||||
$this->db_add_param($this->studiensemester_kurzbz).",".
|
||||
@@ -724,7 +734,8 @@ class prestudent extends person
|
||||
$this->db_add_param($this->updateamum).",".
|
||||
$this->db_add_param($this->updatevon).",".
|
||||
$this->db_add_param($this->ext_id_prestudent).",".
|
||||
$this->db_add_param($this->orgform_kurzbz).");";
|
||||
$this->db_add_param($this->orgform_kurzbz).",".
|
||||
$this->db_add_param($this->studienplan_id,FHC_INTEGER).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -748,6 +759,7 @@ class prestudent extends person
|
||||
' datum='.$this->db_add_param($this->datum).",".
|
||||
' updateamum='.$this->db_add_param($this->updateamum).",".
|
||||
' updatevon='.$this->db_add_param($this->updatevon).",".
|
||||
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).",".
|
||||
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).
|
||||
" WHERE
|
||||
prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER, false)."
|
||||
@@ -802,7 +814,7 @@ class prestudent extends person
|
||||
$log->mitarbeiter_uid = get_uid();
|
||||
$log->sql = $qry;
|
||||
$log->sqlundo = 'INSERT INTO public.tbl_prestudentstatus(prestudent_id, status_kurzbz, studiensemester_kurzbz,'.
|
||||
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz) VALUES('.
|
||||
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) VALUES('.
|
||||
$this->db_add_param($this->prestudent_id).','.
|
||||
$this->db_add_param($this->status_kurzbz).','.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).','.
|
||||
@@ -813,7 +825,8 @@ class prestudent extends person
|
||||
$this->db_add_param($this->updateamum).','.
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->ext_id_prestudent).','.
|
||||
$this->db_add_param($this->orgform_kurzbz).');';
|
||||
$this->db_add_param($this->orgform_kurzbz).','.
|
||||
$this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
|
||||
if($log->save(true))
|
||||
{
|
||||
|
||||
@@ -880,6 +893,7 @@ class prestudent extends person
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$this->studienplan_id = $row->studienplan_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -928,6 +942,7 @@ class prestudent extends person
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$this->studienplan_id = $row->studienplan_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -465,7 +465,8 @@ class studienplan extends basis_db
|
||||
* @param Lehrveranstaltung ID
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadLehrveranstaltungStudienplanByLvId($studienplan_id, $lehrveranstaltung_id){
|
||||
public function loadLehrveranstaltungStudienplanByLvId($studienplan_id, $lehrveranstaltung_id)
|
||||
{
|
||||
if($this->containsLehrveranstaltung($studienplan_id, $lehrveranstaltung_id))
|
||||
{
|
||||
if (!is_numeric($studienplan_id) || $studienplan_id === '') {
|
||||
@@ -492,12 +493,14 @@ class studienplan extends basis_db
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER).
|
||||
" AND tbl_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER).";";
|
||||
|
||||
if (!$this->db_query($qry)) {
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Datensatz konnte nicht geladen werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($row = $this->db_fetch_object()) {
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->studienplan_id = $row->studienplan_id;
|
||||
$this->stpllv_semester = $row->stpllv_semester;
|
||||
$this->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht);
|
||||
@@ -518,9 +521,11 @@ class studienplan extends basis_db
|
||||
* Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function saveStudienplanLehrveranstaltung() {
|
||||
public function saveStudienplanLehrveranstaltung()
|
||||
{
|
||||
|
||||
if ($this->new) {
|
||||
if ($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id,
|
||||
semester,studienplan_lehrveranstaltung_id_parent,pflicht, koordinator,
|
||||
@@ -533,45 +538,58 @@ class studienplan extends basis_db
|
||||
$this->db_add_param($this->koordinator) . ', ' .
|
||||
'now(), ' .
|
||||
$this->db_add_param($this->insertvon) . ');';
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
//Pruefen ob studienplan_id eine gueltige Zahl ist
|
||||
if (!is_numeric($this->studienplan_lehrveranstaltung_id)) {
|
||||
if (!is_numeric($this->studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung SET' .
|
||||
' studienplan_id=' . $this->db_add_param($this->studienplan_id, FHC_INTEGER) . ', ' .
|
||||
' lehrveranstaltung_id=' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER) . ', ' .
|
||||
' semester=' . $this->db_add_param($this->semester, FHC_INTEGER) . ', ' .
|
||||
' studienplan_lehrveranstaltung_id_parent=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id_parent, FHC_INTEGER) . ', ' .
|
||||
' pflicht=' . $this->db_add_param($this->pflicht, FHC_BOOLEAN) . ', ' .
|
||||
//TODO sprache in Tabelle nicht vorhanden' sprache=' . $this->db_add_param($this->sprache) . ', ' .
|
||||
' koordinator=' . $this->db_add_param($this->koordinator) . ', ' .
|
||||
' updateamum= now(), ' .
|
||||
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
|
||||
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry)) {
|
||||
if ($this->new) {
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($this->new)
|
||||
{
|
||||
//naechste ID aus der Sequence holen
|
||||
$qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;";
|
||||
if ($this->db_query($qry)) {
|
||||
if ($row = $this->db_fetch_object()) {
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->studienplan_lehrveranstaltung_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = "Fehler beim Auslesen der Sequence";
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
@@ -680,5 +698,46 @@ class studienplan extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt alle Studienplaene eines Studienganges
|
||||
* @param $studiengang_kz
|
||||
*/
|
||||
function getStudienplaene($studiengang_kz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -3,6 +3,7 @@ $this->phrasen['studienplan/studienplan']='Studienplan';
|
||||
$this->phrasen['studienplan/ects']='ECTS';
|
||||
$this->phrasen['studienplan/status']='Status';
|
||||
$this->phrasen['studienplan/offen']='offen';
|
||||
$this->phrasen['studienplan/optional']='optional';
|
||||
$this->phrasen['studienplan/abgeschlossen']='abgeschlossen';
|
||||
$this->phrasen['studienplan/negativ']='negativ';
|
||||
$this->phrasen['studienplan/anmelden']='anmelden';
|
||||
@@ -13,4 +14,7 @@ $this->phrasen['studienplan/legende']='Legende';
|
||||
$this->phrasen['studienplan/legendeLVwirdAngeboten']='Lehrveranstaltung wird in diesem Semester angeboten';
|
||||
$this->phrasen['studienplan/legendeLock']='Lehrveranstaltung für dieses Semester gesperrt';
|
||||
$this->phrasen['studienplan/legendeEmpfehlung']='Empfehlung';
|
||||
$this->phrasen['studienplan/LehrveranstalungWaehlen']='Bitte wählen Sie die Lehrveranstaltung zu der Sie sich anmelden möchten:';
|
||||
$this->phrasen['studienplan/AnmeldungDerzeitNichtMoeglich']='Derzeit sind noch keine Anmeldungen moeglich';
|
||||
?>
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ $ps->getPrestudentRolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz,
|
||||
|
||||
foreach($ps->result as $row)
|
||||
{
|
||||
|
||||
echo '
|
||||
<RDF:li>
|
||||
<RDF:Description id="'.$row->prestudent_id.'/'.$row->status_kurzbz.'/'.$row->studiensemester_kurzbz.'/'.$row->ausbildungssemester.'" about="'.$rdf_url.'/'.$row->prestudent_id.'/'.$row->status_kurzbz.'/'.$row->studiensemester_kurzbz.'/'.$row->ausbildungssemester.'" >
|
||||
@@ -82,6 +83,8 @@ foreach($ps->result as $row)
|
||||
<ROLLE:datum><![CDATA['.$datum->convertISODate($row->datum).']]></ROLLE:datum>
|
||||
<ROLLE:datum_iso><![CDATA['.$row->datum.']]></ROLLE:datum_iso>
|
||||
<ROLLE:orgform_kurzbz><![CDATA['.$row->orgform_kurzbz.']]></ROLLE:orgform_kurzbz>
|
||||
<ROLLE:studienplan_id><![CDATA['.$row->studienplan_id.']]></ROLLE:studienplan_id>
|
||||
<ROLLE:studienplan_bezeichnung><![CDATA['.$row->studienplan_bezeichnung.']]></ROLLE:studienplan_bezeichnung>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
@@ -89,4 +92,4 @@ foreach($ps->result as $row)
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
+7
-1
@@ -908,6 +908,12 @@ ul.menu
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
/* Empfehlung im Studienplan */
|
||||
.empfehlung
|
||||
{
|
||||
background-color: #FFCECE;
|
||||
}
|
||||
|
||||
/*
|
||||
==== Menubox-Effekt am Seitenrand. Nettes Feature aber dzt. nicht sinnvoll einsetzbar ====
|
||||
*/
|
||||
@@ -942,4 +948,4 @@ table.hoverbox
|
||||
border-style:solid;
|
||||
border-color:grey;
|
||||
}
|
||||
*/
|
||||
*/
|
||||
|
||||
+13
-1
@@ -650,6 +650,18 @@ if(!$result = @$db->db_query("SELECT credit_points FROM public.tbl_konto LIMIT 1
|
||||
echo 'public.tbl_konto / tbl_buchungstyp: Spalte credit_points hinzugefügt';
|
||||
}
|
||||
|
||||
// studienplan_id in Tabelle prestudentstatus
|
||||
if(!$result = @$db->db_query("SELECT studienplan_id FROM public.tbl_prestudentstatus LIMIT 1;"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN studienplan_id bigint;
|
||||
ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_studienplan_prestudentstatus FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan(studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_prestudentstatus: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_prestudentstatus: Spalte studienplan_id hinzugefügt';
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
@@ -824,7 +836,7 @@ $tabellen=array(
|
||||
"public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
|
||||
"public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
|
||||
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum"),
|
||||
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
|
||||
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id"),
|
||||
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"),
|
||||
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet"),
|
||||
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
|
||||
|
||||
@@ -260,10 +260,10 @@ if (isset($_POST['vorr']))
|
||||
if($db->db_num_rows($db->db_query($qry_chk))<1)
|
||||
{
|
||||
//Eintragen des neuen Status
|
||||
$sql.="INSERT INTO tbl_prestudentstatus (prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz)
|
||||
$sql.="INSERT INTO tbl_prestudentstatus (prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id)
|
||||
VALUES (".$db->db_add_param($row->prestudent_id).", ".$db->db_add_param($row_status->status_kurzbz).", ".$db->db_add_param($next_ss).",
|
||||
".$db->db_add_param($ausbildungssemester).", now(), now(), ".$db->db_add_param($user).",
|
||||
NULL, NULL, NULL, ".$db->db_add_param($row_status->orgform_kurzbz).");";
|
||||
NULL, NULL, NULL, ".$db->db_add_param($row_status->orgform_kurzbz).",".$db->db_add_param($row_status->studienplan_id).");";
|
||||
}
|
||||
if($sql!='')
|
||||
{
|
||||
@@ -404,4 +404,4 @@ else
|
||||
</table>
|
||||
<br>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user