Merge branch 'master' into ci

Conflicts:
	cis/testtool/admin/add_gebiet.php
	cis/testtool/admin/edit_gebiet.php
	cis/testtool/admin/index.php
	config/global.config-default.inc.php
	content/student/studentDBDML.php
	content/student/studentdetailoverlay.xul.php
	include/ablauf.class.php
	include/frage.class.php
	include/organisationseinheit.class.php
	include/studiengang.class.php
	include/vorschlag.class.php
	phpci.yml
	rdf/student.rdf.php
	system/dbupdate_3.2.php
	tests/codeception/_support/AcceptanceTester.php
	tests/codeception/_support/BasisKlasseTest.php
	tests/codeception/_support/FunctionalTester.php
	tests/codeception/_support/UnitTester.php
	tests/codeception/_support/_generated/AcceptanceTesterActions.php
	tests/codeception/acceptance/AcceptanceTester.php
	tests/codeception/acceptance/CISLoginPageCept.php
	tests/codeception/acceptance/_bootstrap.php
	tests/codeception/codeception.dist.yml
	tests/codeception/functional/FunctionalTester.php
	tests/codeception/functional/_bootstrap.php
	tests/codeception/tests/acceptance.suite.dist.yml
	tests/codeception/tests/acceptance/CISLoginPage.php
	tests/codeception/tests/acceptance/CISLoginPageCept.php
	tests/codeception/tests/api/_bootstrap.php
	tests/codeception/tests/functional/FunctionalTester.php
	tests/codeception/tests/functional/_bootstrap.php
	tests/codeception/tests/unit/BasisKlasseTest.php
	tests/codeception/tests/unit/UnitTester.php
	tests/codeception/unit/BasisKlasseTest.php
	tests/codeception/unit/UnitTester.php
This commit is contained in:
oesi
2016-11-22 13:58:29 +01:00
134 changed files with 16216 additions and 7655 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>
+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)';
@@ -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>
@@ -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,135 @@ 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) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
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 +585,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, "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();
$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;
}
@@ -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>
+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>
+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>';
+108 -91
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
{
@@ -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?
@@ -462,77 +448,104 @@ function drawTree($tree, $depth)
$positiv=true;
}
if($positiv)
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
else
if(!$positiv)
{
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>'.$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;
}
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$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>';
}
$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
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
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>';
@@ -610,12 +623,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
@@ -669,7 +686,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
+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>';
+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()
+139 -129
View File
@@ -8,7 +8,7 @@
*
* 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
* 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
@@ -31,14 +31,18 @@ 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>');
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true);
$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">
@@ -60,15 +64,15 @@ echo '
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>\');
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;
}
return false;
}
</script>
</script>
</head>
<body>
<div id="data"></div>
@@ -89,9 +93,13 @@ echo '<a href="index.php?stg_kz='.$stg_kz.'" class="Item">Zurück zur Admin Seit
//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='';
for ($i=0; $i<count($studiengang->result); $i++) {
if ($stg_kz == $studiengang->result[$i]->studiengang_kz) $selected = 'selected';
$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 = '';
}
@@ -100,133 +108,135 @@ 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="'.(intval($gebiet->getHighestId())+1).'"/></td>
</tr>
<tr>
<td>Kurzbz</td>
<td><input type="text" name="kurzbz" placeholder="Pflichtfeld"/></td>
</tr>
<tr>
<td>Bezeichnung German</td>
<td><input type="text" name="bezeichnung_mehrsprachig_German"/></td>
</tr>
<tr>
<tr>
<td>Bezeichnung English</td>
<td><input type="text" name="bezeichnung_mehrsprachig_English"/></td>
</tr>
<tr>
<td>Beschreibung</td>
<td><textarea rows="" cols="" name="beschreibung"></textarea></td>
</tr>
<tr>
<td>Zeit</td>
<td><input type="text" name="zeit" placeholder="Pflichtfeld"/> hh:mm:ss</td>
</tr>
<tr>
<td>Multiple Response</td>
<td><input type="checkbox" name="multiple_respone"/></td>
</tr>
<tr>
<td>Kategorien</td>
<td><input type="checkbox" name="kategorien"/></td>
</tr>
<tr>
<td>Zuf&auml;llige Fragereihenfolge</td>
<td><input type="checkbox" name="zufaellige_fragereihenfolge"/></td>
</tr>
<tr>
<td>Zuf&auml;llige Vorschlagreihenfolge</td>
<td><input type="checkbox" name="zufaellige_vorschlagreihenfolge"/></td>
</tr>
<tr>
<td>Levelgleichverteilung</td>
<td><input type="checkbox" name="levelgleichverteilung"/></td>
</tr>
<tr>
<td>Maximale Punkteanzahl</td>
<td><input type="text" name="maximale_punkteanzahl"/></td>
</tr>
<tr>
<td>Maximale Frageanzahl</td>
<td><input type="text" name="maximale_fragenanzahl"/></td>
</tr>
<tr>
<td>Antworten pro Zeile</td>
<td><input type="text" name="antworten_pro_zeile" placeholder="Pflichtfeld"/></td>
</tr>
<tr>
<td>Start Level</td>
<td><input type="text" name="start_level"/></td>
</tr>
<tr>
<td>Richtige Fragen bis Levelaufstieg</td>
<td><input type="text" name="richtige_fragen_bis_levelaufstieg"/></td>
</tr>
<tr>
<td>Falsche Fragen bis Levelabstieg</td>
<td><input type="text" name="falsche_fragen_bis_levelabstieg"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Speichern"/></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 (isset($_POST['save']) && $_POST['save'] == 'save')
{
/*
* kurzbz
* zeit
* antw/zeile
*/
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);
if (isset($_POST['kurzbz']) && $_POST['kurzbz']!='' && isset($_POST['zeit']) && $_POST['zeit']!='' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile']!='')
if (isset($_POST['kurzbz']) && $_POST['kurzbz'] != '' && isset($_POST['zeit']) && $_POST['zeit'] != '' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile'] != '')
{
$gebiet = new gebiet();
$bezeichnung_mehrsprachig=array();
foreach($sprache->result as $row_sprache)
//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(isset($_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['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>';
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
+39 -39
View File
@@ -31,7 +31,7 @@ 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();
@@ -40,7 +40,9 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
$sprache = new sprache();
$sprache->getAll(true);
$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">
@@ -62,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();
@@ -76,17 +78,17 @@ 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();
@@ -99,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>';
}
@@ -116,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'];
@@ -149,21 +150,20 @@ 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)
@@ -191,7 +191,7 @@ if(isset($_POST['speichern']))
$gebiet->updatevon = $user;
$gebiet->antwortenprozeile = $_POST['antwortenprozeile'];
if($gebiet->save(false))
if ($gebiet->save(false))
{
echo 'Daten erfolgreich gespeichert';
}
@@ -206,7 +206,7 @@ if(isset($_POST['speichern']))
}
}
if($gebiet_id!='')
if ($gebiet_id != '')
{
$gebiet = new gebiet($gebiet_id);
@@ -222,16 +222,16 @@ if($gebiet_id!='')
echo '<td>Kurzbz</td><td><input type="text" maxlength="10" 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" 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)
foreach ($sprache->result as $s)
{
echo '<td>Bezeichnung '.$s->sprache.'</td>';
echo '<td><input type="text" maxlength="50" name="bezeichnung_mehrsprachig_'.$s->sprache.'" value="'.(isset($gebiet->bezeichnung_mehrsprachig[$s->sprache])?$db->convert_html_chars($gebiet->bezeichnung_mehrsprachig[$s->sprache]):'').'" /></td>';
echo '<td>Bezeichnung '.$s->bezeichnung_arr[$s->sprache].'</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>';
@@ -248,15 +248,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>';
@@ -276,7 +276,7 @@ if($gebiet_id!='')
$gebiet->loadAblaufGebiet($gebiet_id);
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz',false);
$studiengang->getAll('typ, kurzbz', false);
echo '<table id="t1" class="tablesorter">
<thead>
@@ -290,7 +290,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>
@@ -305,7 +305,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>';
}
@@ -320,7 +320,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 -996
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);
@@ -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,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
$bold='font-weight:bold;';
else
$bold='';
if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK)
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>";
+63 -28
View File
@@ -46,9 +46,6 @@ class menu_addon_meinelv extends menu_addon
//Meine LVs Student
if(!$is_lector)
{
$studiengang_obj = new studiengang();
$studiengang_obj->getAll();
$stsemobj = new studiensemester();
$stsem_arr=array();
@@ -57,10 +54,30 @@ class menu_addon_meinelv extends menu_addon
foreach($stsem_arr as $stsem)
{
$qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre,
lehreverzeichnis, studiensemester_kurzbz from campus.vw_student_lehrveranstaltung
WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz=".$this->db_add_param($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))
{
if($this->db_num_rows($result)>0)
@@ -88,7 +105,7 @@ class menu_addon_meinelv extends menu_addon
$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'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
);
}
}
@@ -96,7 +113,6 @@ class menu_addon_meinelv extends menu_addon
}
else
echo "Fehler beim Auslesen der LV";
}
}
@@ -117,11 +133,41 @@ class menu_addon_meinelv extends menu_addon
foreach($stsem_arr as $stsem)
{
$stsementry=array();
$qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, studiensemester_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=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)."
ORDER BY studiengang_kz, semester, bezeichnung";
$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)
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))
{
@@ -147,11 +193,10 @@ class menu_addon_meinelv extends menu_addon
}
else
{
$stg_obj = new studiengang();
$stg_obj->load($row->studiengang_kz);
$kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz;
$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'=>$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)
@@ -162,16 +207,6 @@ class menu_addon_meinelv extends menu_addon
}
else
echo "Fehler beim Auslesen des Lehrfaches";
/*
if(count($stsementry)>0)
{
$this->items[] = array('title'=>$stsem,
'target'=>'',
'link'=>'#',
'name'=>$stsem,
'childs'=>$stsementry
);
}*/
}
}
else
+13
View File
@@ -227,4 +227,17 @@ define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
// Soll der Lageplan am Infoterminal angezeigt werden (true|false)
//define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN', true);
//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
@@ -923,11 +923,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;
+2
View File
@@ -1797,6 +1797,8 @@ function PrintStudienblatt(event)
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
+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" />
@@ -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>
+134 -1
View File
@@ -72,6 +72,7 @@ require_once('../../include/standort.class.php');
require_once('../../include/adresse.class.php');
require_once('../../include/reihungstest.class.php');
require_once('../../include/studienplan.class.php');
require_once('../../include/mobilitaet.class.php');
$user = get_uid();
$db = new basis_db();
@@ -529,6 +530,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');
@@ -1877,6 +1879,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())
{
@@ -1947,6 +1950,7 @@ if(!$error)
$buchung->new = true;
$buchung->insertamum = date('Y-m-d H:i:s');
$buchung->insertvon = $user;
$buchung->anmerkung = '';
if($buchung->save())
{
@@ -2062,6 +2066,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())
@@ -4064,7 +4069,6 @@ if(!$error)
{
$return = false;
$error = true;
$errormsg = 'Sie haben keine Berechtigung';
}
else
{
@@ -4090,9 +4094,138 @@ if(!$error)
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Falsche 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 = 'Fehlerhafte Parameteruebergabe';
$errormsg = $mob->errormsg;
}
}
else
@@ -485,6 +485,19 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</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"/>
+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" />
@@ -416,6 +418,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>
+22 -3
View File
@@ -917,11 +917,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
{
@@ -942,9 +943,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);
@@ -1048,6 +1049,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;
@@ -1083,6 +1085,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');
@@ -1328,6 +1331,12 @@ function StudentAuswahl()
bisiotree.builder.addListener(StudentIOTreeListener);
}
if(uid!='')
{
// *** Gemeinsame Studien / Mobilitaet ***
StudentMobilitaetLoad(prestudent_id);
}
if(uid!='')
{
// *** ZeugnisNoten ***
@@ -1566,6 +1575,7 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-button-save').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');
@@ -1613,6 +1623,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))
{
@@ -1656,6 +1667,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();
@@ -2229,6 +2241,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;
@@ -2240,6 +2253,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;
}
// ****
@@ -2455,6 +2469,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;
}
@@ -2474,6 +2489,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))
{
@@ -2494,6 +2510,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();
@@ -2644,6 +2661,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))
{
@@ -2662,6 +2680,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">
+5 -1
View File
@@ -15,7 +15,11 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Simon Schwebler <simon.schwebler@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>,
* Andreas Moik <moik@technikum-wien.at>,
* Simon Schwebler <simon.schwebler@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
/**
+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;
+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;
}
}
}
+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
@@ -424,7 +424,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;";
@@ -436,6 +439,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->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$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;
}
}
}
?>
+37 -8
View File
@@ -81,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))
{
@@ -98,6 +98,7 @@ class frage extends basis_db
$this->insertvon = $row->insertvon;
$this->level = $row->level;
$this->aktiv = $row->aktiv;
$this->bild = $row->bild;
return true;
}
@@ -226,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))
@@ -286,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)
@@ -401,6 +402,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;
}
@@ -545,6 +547,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())
@@ -862,5 +865,31 @@ class frage extends basis_db
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;
}
}
}
?>
+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,
+26
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)
{
+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;
}
}
+85 -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;
@@ -758,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) LIKE LOWER(\'%'.$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)
+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;
}
}
+52 -11
View File
@@ -226,18 +226,21 @@ class studiengang extends basis_db
return true;
}
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
* @return boolean
*/
public function getAllForBewerbung()
{
/**
* 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($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 '
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE '
. 'ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
. 'FROM lehre.vw_studienplan '
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE ';
$qry .= ' ORDER BY '.$order;
if(!$result = $this->db_query($qry))
{
@@ -975,4 +978,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;
}
}
}
?>
+15
View File
@@ -253,6 +253,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);
+6 -4
View File
@@ -77,9 +77,9 @@ $menu=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
@@ -134,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
(
@@ -167,6 +167,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'),
@@ -196,6 +197,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
(
+5 -7
View File
@@ -76,7 +76,7 @@ class vorschlag extends basis_db
$this->frage_id = $row->frage_id;
$this->punkte = $row->punkte;
$this->nummer = $row->nummer;
$this->aktiv = $row->aktiv;
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->loadVorschlagSprache($vorschlag_id, $sprache);
return true;
}
@@ -279,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)
{
@@ -291,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))
@@ -357,4 +355,4 @@ class vorschlag extends basis_db
}
}
}
?>
?>
+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>';
?>
+1
View File
@@ -31,3 +31,4 @@ $this->phrasen['lvaliste/gesamtnote']='Noten eintragen';
$this->phrasen['lvaliste/anzahl']='Anzahl';
$this->phrasen['lvaliste/summe']='Summe';
$this->phrasen['lvaliste/lvinfo']='LV-Info';
$this->phrasen['lvaliste/id']='ID';
+6
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
@@ -142,6 +143,11 @@ $this->phrasen['pruefung/emailLektorAm'] = 'am';
$this->phrasen['pruefung/emailLektorVon'] = 'von';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'Uhr bis';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = 'Uhr angemeldet.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Sehr geehrte Studierende,
Die Prüfung zur LV %1$s wurde verschoben.
Der neue Termin für die Prüfung ist am %2$s um %3$s Uhr.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Verschiebung einer Prüfung';
?>
+8 -1
View File
@@ -46,9 +46,11 @@ $this->phrasen['tools/ampelMitarbeiter']='Mitarbeiter';
$this->phrasen['tools/ampelRestdauer']='Restdauer in Tagen';
$this->phrasen['tools/ampelBestaetigtAm']='Bestätigt am';
$this->phrasen['tools/ampelBereitsBestaetigt']='Diese Ampel wurde bereits bestätigt';
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='Das Ampelsystem ist ein ERINNERUNGS- und BESTÄTIGUNGSSYSTEM, welches Sie auf ausstehende Aufgaben aufmerksam machen soll.<br/>Die Ampel überprüft NICHT, ob die Aufgabe tatsächlich erledigt wurde. Weitere Details entnehmen Sie bitte dem CIS-Handbuch';
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='Das Ampelsystem ist ein ERINNERUNGS- und BESTÄTIGUNGSSYSTEM, welches Sie auf ausstehende Aufgaben aufmerksam machen soll.';
$this->phrasen['tools/waehlenSieEineOEoderAmpel']='Bitte wählen Sie ein Organisationseinheit und/oder eine Ampel aus dem Dropdown';
$this->phrasen['tools/uebersichtLeitung']='Ampel-Übersicht für LeiterInnen';
$this->phrasen['tools/ampelAlleAnzeigen']='Alle anzeigen';
$this->phrasen['tools/ampelNurAktuellesStudiensemester']='Nur aktuelles Studiensemester anzeigen';
//Software fuer Lehre -> Softgrid
$this->phrasen['tools/applikationsliste']='Applikationsliste';
@@ -72,4 +74,9 @@ $this->phrasen['tools/telefonklappe']='Telefonklappe';
$this->phrasen['tools/reservieren']='Reservieren';
$this->phrasen['tools/maxPersonen']='Max. Personen';
$this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Es wurden keine Ergebnisse gefunden.';
//Partnerhochschulen
$this->phrasen['tools/partnerhochschulenUebersicht']='Übersicht der Partnerhochschulen';
$this->phrasen['tools/partnerhochschulenKeinEintrag']='Für diesen Studiengang ist keine Partnerhochschule zugeordnet';
$this->phrasen['tools/partnerhochschulenEinleitung']='Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
?>
+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
$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 (=Deutsch)
$this->phrasen['dms_link/lvPlanFAQ']='6887'; //Hilfe-Link aus dem LV-Plan in die LV-Plan FAQ auf der CIS (CMS-ID)
+19 -8
View File
@@ -1,14 +1,14 @@
<?php
$this->phrasen['incoming/persönlichedateneditieren']='Profile';
$this->phrasen['incoming/lehrveranstaltungenauswählen']='Select Subjects';
$this->phrasen['incoming/lehrveranstaltungenauswählen']='Course Registration';
$this->phrasen['incoming/learningagreementerstellen']='Create Learning Agreement (print)';
$this->phrasen['incoming/uploadvondateien']='Upload/Manage Documents';
$this->phrasen['incoming/ungueltigerbenutzer']='Invalid User Name';
$this->phrasen['incoming/austauschprogram']='Exchange Program';
$this->phrasen['incoming/austauschprgramwählen']= 'Select Exchange Program';
$this->phrasen['incoming/übersichtlehrveranstaltungen']= 'All Subjects';
$this->phrasen['incoming/übersichtlehrveranstaltungen']= 'Course Registration';
$this->phrasen['incoming/eigenelehrveranstaltungen']= 'Registered Subjects';
$this->phrasen['incoming/freieplätze']='Available Seats';
$this->phrasen['incoming/freieplätze']='Vacancies';
$this->phrasen['incoming/studiertvon']='Studies in Vienna From';
$this->phrasen['incoming/studiertbis']='Studies in Vienna To';
$this->phrasen['incoming/eigeneuniversitaet']='Sending Institution Information';
@@ -22,12 +22,13 @@ $this->phrasen['incoming/zugangsvoraussetzungmaster']='Master Entrance Qualifica
$this->phrasen['incoming/personimernstfall']='Person to contact in Case of Emergency';
$this->phrasen['incoming/bachelorstudiengang']='Bachelor´s Degree Program';
$this->phrasen['incoming/masterstudiengang']='Master\'s Degree Program';
$this->phrasen['incoming/studienrichtung']='Name of Program';
$this->phrasen['incoming/jahrestudiert']='Years completetd when starting at UAS TW';
$this->phrasen['incoming/studienrichtung']='Name of Study Program';
$this->phrasen['incoming/jahrestudiert']='Years completed when starting at UAS TW';
$this->phrasen['incoming/uploadLearningAgreement']= 'Upload Learning Agreement';
$this->phrasen['incoming/uploadCv']='Upload CV';
$this->phrasen['incoming/dokument']='Document';
$this->phrasen['incoming/zugangsvoraussetzungFussnote']='Please indicate here where and when you passed your final exam in order to be able to register for university (= school leaving examination).';
$this->phrasen['incoming/zugangsvoraussetzungFussnote']='Please indicate here where and when you passed your final high school exam in order to be able to register for university.';
$this->phrasen['incoming/zugangsvoraussetzungMasterFussnote']='Please indicate here where and when you completed your Bachelors degree or other undergraduate degree to be able to entrance Masters studies.';
$this->phrasen['incoming/lebenslauf']='Curriculum vitae';
$this->phrasen['incoming/learningAgreement']='Learning Agreement';
$this->phrasen['incoming/motivationsschreiben']='Letter of motivation';
@@ -114,7 +115,7 @@ $this->phrasen['incoming/unitcode']='Unitcode';
$this->phrasen['incoming/zurAnmeldung']='Registration';
$this->phrasen['incoming/geaendertesLA']='Changed Learning Agreement';
$this->phrasen['incoming/studienrichtungGastuniversitaet']= 'Program home university';
$this->phrasen['incoming/orgform']='Org. structure';
$this->phrasen['incoming/orgform']='Org. form';
$this->phrasen['incoming/alleSprachen']='All languages';
$this->phrasen['incoming/ausgewaehlteUniversitaeten']='Selected universities';
$this->phrasen['incoming/bereitsAusgewaehlt']='This universtity has already been choosed';
@@ -123,5 +124,15 @@ $this->phrasen['incoming/captcha']='Please enter the characters shown in the pic
$this->phrasen['incoming/andereGrafik']='Reload picture';
$this->phrasen['incoming/noVacancies']='No vacancies';
$this->phrasen['incoming/alleStudiengaenge']='All Degree Programs';
$this->phrasen['incoming/downloadLearningAgreement']='Download Learning Agreement';
$this->phrasen['incoming/downloadLearningAgreement']='Download Template for Learning Agreement (<b>non</b> Erasmus)';
$this->phrasen['incoming/downloadLearningAgreementErasmus']='Download Template for Learning Agreement (Erasmus)';
$this->phrasen['incoming/dankeFuerIhreAnmeldung']='If you completed all the data please click "Submit"';
$this->phrasen['incoming/von']='of';
$this->phrasen['incoming/derzeitKeineLehrveranstaltungen']='There are currently no courses available for this selection';
$this->phrasen['incoming/tabelleSortierinformation']='You may sort the columns by clicking on the header (Multiple sorting by pressing the Shift-Key)';
$this->phrasen['incoming/waehlenSieAusDenOptionen']='Please choose your options from the DropDown-Fields and click "Filter"';
$this->phrasen['incoming/lvInfo']='Course-Info';
$this->phrasen['incoming/erfolgreichAbgeschickt']='Admission sent successfully. The administrative assistant responsible will contact you soon';
$this->phrasen['incoming/fehlerBeimSenden']='An error occured while sending the application. Please contact <a href="mailto:'.MAIL_INTERNATIONAL.'">'.MAIL_INTERNATIONAL.'</a>';
$this->phrasen['incoming/jahreStudiertMussGanzeZahlSein']='"Years completed" must be a positive integer</a>';
?>
+1
View File
@@ -31,3 +31,4 @@ $this->phrasen['lvaliste/betreuungen']='Supervisor';
$this->phrasen['lvaliste/koordination']='Coordination';
$this->phrasen['lvaliste/anzahl']='Number';
$this->phrasen['lvaliste/summe']='Total';
$this->phrasen['lvaliste/id']='ID';
+6
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
@@ -142,6 +143,11 @@ $this->phrasen['pruefung/emailLektorAm'] = 'am';
$this->phrasen['pruefung/emailLektorVon'] = 'von';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'Uhr bis';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = 'Uhr angemeldet.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Dear student,
The exam for course %1$s has been resceduled.
The exam will take place on %2$s at %3$s hrs.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Exam changed';
?>
+8 -1
View File
@@ -46,9 +46,11 @@ $this->phrasen['tools/ampelMitarbeiter']='Employee';
$this->phrasen['tools/ampelRestdauer']='Remaining Days';
$this->phrasen['tools/ampelBestaetigtAm']='Confirmed on';
$this->phrasen['tools/ampelBereitsBestaetigt']='This notification has already been confirmed';
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='The notification system is a REMINDER and CONFIRMATION SYSTEM that is provided to remind you of outstanding tasks. <br/>The system does NOT check if the task has actually been completed. For more information, please refer to the CIS Manual.';
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='The notification system is a REMINDER and CONFIRMATION SYSTEM that is provided to remind you of outstanding tasks.';
$this->phrasen['tools/waehlenSieEineOEoderAmpel']='Please select an organizational unit and/or a notification from the drop down menu.';
$this->phrasen['tools/uebersichtLeitung']='Overview of notifications for Heads of Departments';
$this->phrasen['tools/alleAnzeigen']='Show all';
$this->phrasen['tools/nurAktuellesStudiensemester']='Show current semester only';
//Software fuer Lehre -> Softgrid
$this->phrasen['tools/applikationsliste']='List of Applications';
@@ -72,4 +74,9 @@ $this->phrasen['tools/telefonklappe']='Extension';
$this->phrasen['tools/reservieren']='Reserve room';
$this->phrasen['tools/maxPersonen']='Max. # of people';
$this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Your search did not return any results.';
//Partnerhochschulen
$this->phrasen['tools/partnerhochschulenUebersicht']='Partner Universities';
$this->phrasen['tools/partnerhochschulenKeinEintrag']='No entry found';
$this->phrasen['tools/partnerhochschulenEinleitung']='In case you would like to study at a partner university that isn´t listed - please contact the <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
?>
+12
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessun corso disponibi
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessun studente iscritto.';
$this->phrasen['pruefung/derLektor'] = 'Docente';
$this->phrasen['pruefung/dieKommission'] = 'Commissione';
$this->phrasen['pruefung/matrikelnummer']='Matricola';
// anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli';
@@ -142,4 +143,15 @@ $this->phrasen['pruefung/emailLektorAm'] = 'del';
$this->phrasen['pruefung/emailLektorVon'] = 'dalle';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'alle';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = '.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Gentile Studente,
Con la presente comunichiamo che lappello per lesame %1$s ha
subito delle variazioni.
Lappello si terrà il giorno %2$s alle ore %3$s.
Ci scusiamo per eventuali disagi.
Grazie per lattenzione.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Variazione appello desame';
?>
+85 -77
View File
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <manfred.kindl@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
header("Content-type: application/xhtml+xml");
require_once('../config/vilesci.config.inc.php');
@@ -50,28 +50,28 @@ $student_help = new student();
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
if($student_help->load($uid))
{
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
$studiengang = new studiengang();
$studiengang->load($student_help->studiengang_kz);
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
}
foreach($uid_arr as $uid)
@@ -90,20 +90,22 @@ foreach($uid_arr as $uid)
$studiengang->load($student->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$lehrgangstyp = new studiengang();
$lehrgangstyp->loadLehrgangstyp($studiengang->lgartcode);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studiengang->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studiengang->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
@@ -118,47 +120,49 @@ foreach($uid_arr as $uid)
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
// check ob Quereinsteiger
$prestudent = new prestudent();
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<lgartcode>".$lehrgangstyp->lgartcode."</lgartcode>";
echo "\t\t<lgartBezeichnung>".$lehrgangstyp->bezeichnung."</lgartBezeichnung>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
// check ob Quereinsteiger
$prestudent = new prestudent();
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
$studiensemester_beginn = new studiensemester();
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
$studiensemester_beginn->load($studienbeginn);
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
$studiensemester_endedatum = new studiensemester();
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
@@ -189,7 +193,7 @@ foreach($uid_arr as $uid)
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$lv_studiengang_typ=$stg_typ->bezeichnung;
}
@@ -276,6 +280,8 @@ foreach($prestudent_arr as $prest_id)
$studiengang->load($prestudent->studiengang_kz);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($person->staatsbuergerschaft);
$lehrgangstyp = new studiengang();
$lehrgangstyp->loadLehrgangstyp($studiengang->lgartcode);
$svnr = ($person->svnr == '')?($person->ersatzkennzeichen != ''?'Ersatzkennzeichen: '.$person->ersatzkennzeichen:''):$person->svnr;
@@ -306,6 +312,8 @@ foreach($prestudent_arr as $prest_id)
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
echo "\t\t<lgartcode>".$lehrgangstyp->lgartcode."</lgartcode>";
echo "\t\t<lgartBezeichnung>".$lehrgangstyp->bezeichnung."</lgartBezeichnung>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
+15 -4
View File
@@ -35,19 +35,24 @@ require_once('../include/datum.class.php');
if(isset($_GET['firma_id']))
$firma_id = $_GET['firma_id'];
else
else
$firma_id = '';
if(isset($_GET['filter']))
$filter = $_GET['filter'];
else
else
$filter = '';
if(isset($_GET['firmentyp_kurzbz']))
$firmentyp_kurzbz = $_GET['firmentyp_kurzbz'];
else
else
$firmentyp_kurzbz='';
if(isset($_GET['partner']))
$partner = true;
else
$partner = false;
$datum = new datum();
$firma = new firma();
@@ -88,6 +93,12 @@ elseif($firmentyp_kurzbz!='' || $filter!='')
foreach ($firma->result as $row)
draw_rdf($row);
}
elseif($partner)
{
$firma->getFirmaPartner();
foreach ($firma->result as $row)
draw_rdf($row);
}
else
{
//$firma->getAll($firma_id);
@@ -98,7 +109,7 @@ else
function draw_rdf($row)
{
global $rdf_url;
echo '
<RDF:li>
<RDF:Description id="'.$row->firma_id.'" about="'.$rdf_url.'/'.$row->firma_id.'" >
+43
View File
@@ -0,0 +1,43 @@
<?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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/gsprogramm.class.php');
$oRdf = new rdf('GSPROGRAMM','http://www.technikum-wien.at/gsprogramm');
$oRdf->sendHeader();
$gs = new gsprogramm();
if($gs->getAll())
{
foreach($gs->result as $row)
{
$i=$oRdf->newObjekt($row->gsprogramm_id);
$oRdf->obj[$i]->setAttribut('gsprogramm_id',$row->gsprogramm_id,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_kurzbz',$row->gsprogrammtyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_bezeichnung',$row->gsprogrammtyp_bezeichnung,true);
$oRdf->addSequence($row->gsprogramm_id);
}
}
$oRdf->sendRdfText();
?>
+42
View File
@@ -0,0 +1,42 @@
<?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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
$oRdf = new rdf('GSSTUDIENTYP','http://www.technikum-wien.at/gsstudientyp');
$oRdf->sendHeader();
$qry = "SELECT * FROM bis.tbl_gsstudientyp ORDER BY bezeichnung";
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$i=$oRdf->newObjekt($row->gsstudientyp_kurzbz);
$oRdf->obj[$i]->setAttribut('gsstudientyp_kurzbz',$row->gsstudientyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('studientyp_code',$row->studientyp_code,true);
$oRdf->addSequence($row->gsstudientyp_kurzbz);
}
}
$oRdf->sendRdfText();
?>
+4
View File
@@ -142,6 +142,7 @@ function drawrow($row)
<KONTO:buchungstyp_kurzbz><![CDATA[".$row->buchungstyp_kurzbz."]]></KONTO:buchungstyp_kurzbz>
<KONTO:credit_points><![CDATA[".$row->credit_points."]]></KONTO:credit_points>
<KONTO:zahlungsreferenz><![CDATA[".$row->zahlungsreferenz."]]></KONTO:zahlungsreferenz>
<KONTO:anmerkung><![CDATA[".$row->anmerkung."]]></KONTO:anmerkung>
<KONTO:updateamum><![CDATA[".$row->updateamum."]]></KONTO:updateamum>
<KONTO:updatevon><![CDATA[".$row->updatevon."]]></KONTO:updatevon>
<KONTO:insertamum><![CDATA[".$row->insertamum."]]></KONTO:insertamum>
@@ -243,6 +244,9 @@ elseif ($xmlformat=='xml')
<updateamum><![CDATA[".$row->updateamum."]]></updateamum>
<updatevon><![CDATA[".$row->updatevon."]]></updatevon>
<insertamum><![CDATA[".$row->insertamum."]]></insertamum>
<credit_points><![CDATA[".$row->credit_points."]]></credit_points>
<zahlungsreferenz><![CDATA[".$row->zahlungsreferenz."]]></zahlungsreferenz>
<anmerkung><![CDATA[".$row->anmerkung."]]></anmerkung>
</buchung>";
}
function drawperson_xml($row)
+1 -1
View File
@@ -47,7 +47,7 @@ $DAO_obj = new lehreinheitgruppe();
$DAO_obj->getLehreinheitgruppe($lehreinheit_id);
$stg_obj = new studiengang();
$stg_obj->getAll();
$stg_obj->getAll(null,null);
$stg = array();
foreach ($stg_obj->result as $row)
$stg[$row->studiengang_kz]=$row->kuerzel;
+4 -1
View File
@@ -61,14 +61,16 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
{
$vorname='unbekannt';
$nachname='unbekannt';
$aktiv=true;
$db = new basis_db();
$qry = "SELECT vorname, nachname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid='".addslashes($row->mitarbeiter_uid)."'";
$qry = "SELECT vorname, nachname, tbl_benutzer.aktiv FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid='".addslashes($row->mitarbeiter_uid)."'";
if($db->db_query($qry))
{
if($row_lkt = $db->db_fetch_object())
{
$vorname = $row_lkt->vorname;
$nachname = $row_lkt->nachname;
$aktiv = $db->db_parse_bool($row_lkt->aktiv);
}
}
@@ -97,6 +99,7 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
<LEHREINHEITMITARBEITER:anmerkung><![CDATA[<?php echo $row->anmerkung ?>]]></LEHREINHEITMITARBEITER:anmerkung>
<LEHREINHEITMITARBEITER:bismelden><![CDATA[<?php echo ($row->bismelden?'Ja':'Nein') ?>]]></LEHREINHEITMITARBEITER:bismelden>
<LEHREINHEITMITARBEITER:verplant><![CDATA[<?php echo ($verplant?'true':'false'); ?>]]></LEHREINHEITMITARBEITER:verplant>
<LEHREINHEITMITARBEITER:aktiv><![CDATA[<?php echo ($aktiv?'aktiv':'inaktiv'); ?>]]></LEHREINHEITMITARBEITER:aktiv>
</RDF:Description>
</RDF:li>
<?php
+4 -3
View File
@@ -371,10 +371,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
$studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id);
$lv = new lehrveranstaltung();
while($lv->lehrtyp_kurzbz != "modul")
while(($lv->lehrtyp_kurzbz != "modul") && ($studienplan->lehrveranstaltung_id != $studienplan_lehrveranstaltung_id))
{
$lv->load($studienplan->lehrveranstaltung_id);
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
$lv->load($studienplan->lehrveranstaltung_id);
$studienplan_lehrveranstaltung_id = $studienplan->lehrveranstaltung_id;
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
}
$lehrveranstaltung->lehrveranstaltungen = array(0 => $lv);
}
+11
View File
@@ -687,6 +687,16 @@ if($show_inout_block)
<VERBAND:orgform></VERBAND:orgform>
<VERBAND:typ>outgoing</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.'inout/gemeinsamestudien">
<VERBAND:name>Gemeinsame Studien</VERBAND:name>
<VERBAND:stg></VERBAND:stg>
<VERBAND:stg_kz></VERBAND:stg_kz>
<VERBAND:sem></VERBAND:sem>
<VERBAND:ver></VERBAND:ver>
<VERBAND:grp></VERBAND:grp>
<VERBAND:orgform></VERBAND:orgform>
<VERBAND:typ>gemeinsamestudien</VERBAND:typ>
</RDF:Description>
';
}
@@ -817,6 +827,7 @@ draw_orgformpart($stg_kz);
<RDF:Seq RDF:about="http://www.technikum-wien.at/lehrverbandsgruppe/inout">
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/incoming"/>
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/outgoing"/>
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/gemeinsamestudien"/>
</RDF:Seq>
</RDF:li>';
}
+1
View File
@@ -112,6 +112,7 @@ function draw_row($mitarbeiter)
<MITARBEITER:vorname><![CDATA['.$mitarbeiter->vorname.']]></MITARBEITER:vorname>
<MITARBEITER:nachname><![CDATA['.$mitarbeiter->nachname.']]></MITARBEITER:nachname>
<MITARBEITER:kurzbz><![CDATA['.$mitarbeiter->kurzbz.']]></MITARBEITER:kurzbz>
<MITARBEITER:aktiv><![CDATA['.($mitarbeiter->aktiv == true?'aktiv':'inaktiv').']]></MITARBEITER:aktiv>
<MITARBEITER:studiengang_kz></MITARBEITER:studiengang_kz>
</RDF:Description>
';
+89
View File
@@ -0,0 +1,89 @@
<?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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/functions.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/mobilitaet.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/mobilitaetsprogramm.class.php');
require_once('../include/gsprogramm.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
die('Sie haben keine Berechtigung fuer diese Seite');
$oRdf = new rdf('MOB','http://www.technikum-wien.at/mobilitaet');
$oRdf->sendHeader();
$mobilitaet = new mobilitaet();
if(isset($_GET['prestudent_id']))
{
$mobilitaet->loadPrestudent($_GET['prestudent_id']);
}
elseif(isset($_GET['mobilitaet_id']))
{
if($mobilitaet->load($_GET['mobilitaet_id']))
$mobilitaet->result[] = $mobilitaet;
}
else
die('Invalid Parameter');
$mobprog = new mobilitaetsprogramm();
$mobprog->getAll();
$mob_arr=array();
foreach($mobprog->result as $rowmob)
$mob_arr[$rowmob->mobilitaetsprogramm_code]=$rowmob->kurzbz;
if(count($mobilitaet->result)>0)
{
foreach($mobilitaet->result as $row)
{
$i=$oRdf->newObjekt($row->mobilitaet_id);
$oRdf->obj[$i]->setAttribut('mobilitaet_id',$row->mobilitaet_id,true);
$oRdf->obj[$i]->setAttribut('prestudent_id',$row->prestudent_id,true);
$oRdf->obj[$i]->setAttribut('studiensemester_kurzbz',$row->studiensemester_kurzbz,true);
$oRdf->obj[$i]->setAttribut('mobilitaetsprogramm_code',$row->mobilitaetsprogramm_code,true);
if(isset($mob_arr[$row->mobilitaetsprogramm_code]))
$mob = $mob_arr[$row->mobilitaetsprogramm_code];
else
$mob = '';
$oRdf->obj[$i]->setAttribut('mobilitaetsprogramm',$mob,true);
$oRdf->obj[$i]->setAttribut('gsprogramm_id',$row->gsprogramm_id,true);
$gsprogramm = new gsprogramm();
$gsprogramm->load($row->gsprogramm_id);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_kurzbz',$gsprogramm->gsprogrammtyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('mobilitaetstyp_kurzbz',$row->mobilitaetstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('firma_id',$row->firma_id,true);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('ausbildungssemester',$row->ausbildungssemester,true);
$oRdf->addSequence($row->mobilitaet_id);
}
}
$oRdf->sendRdfText();
?>
+20 -9
View File
@@ -40,8 +40,19 @@ echo '
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:MOB="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">';
<RDF:Seq about="'.$rdf_url.'/liste">';
if(isset($_GET['optional']))
{
echo '
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<MOB:mobilitaetsprogramm_code><![CDATA[]]></MOB:mobilitaetsprogramm_code>
<MOB:kurzbz><![CDATA[]]></MOB:kurzbz>
<MOB:beschreibung><![CDATA[-- keine Auswahl --]]></MOB:beschreibung>
</RDF:Description>
</RDF:li>';
}
$qry = 'SELECT * FROM bis.tbl_mobilitaetsprogramm ORDER BY kurzbz';
$db = new basis_db();
@@ -49,14 +60,14 @@ if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
echo '
<RDF:li>
<RDF:Description id="'.$row->mobilitaetsprogramm_code.'" about="'.$rdf_url.'/'.$row->mobilitaetsprogramm_code.'" >
<MOB:mobilitaetsprogramm_code><![CDATA['.$row->mobilitaetsprogramm_code.']]></MOB:mobilitaetsprogramm_code>
<MOB:kurzbz><![CDATA['.$row->kurzbz.']]></MOB:kurzbz>
<MOB:beschreibung><![CDATA['.$row->beschreibung.']]></MOB:beschreibung>
</RDF:Description>
</RDF:li>';
echo '
<RDF:li>
<RDF:Description id="'.$row->mobilitaetsprogramm_code.'" about="'.$rdf_url.'/'.$row->mobilitaetsprogramm_code.'" >
<MOB:mobilitaetsprogramm_code><![CDATA['.$row->mobilitaetsprogramm_code.']]></MOB:mobilitaetsprogramm_code>
<MOB:kurzbz><![CDATA['.$row->kurzbz.']]></MOB:kurzbz>
<MOB:beschreibung><![CDATA['.$row->beschreibung.']]></MOB:beschreibung>
</RDF:Description>
</RDF:li>';
}
}
?>
+41
View File
@@ -0,0 +1,41 @@
<?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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/mobilitaet.class.php');
$oRdf = new rdf('MOBTYP','http://www.technikum-wien.at/mobilitaetstyp');
$oRdf->sendHeader();
$mob = new mobilitaet();
if($mob->getMobilitaetstyp())
{
foreach($mob->result as $row)
{
$i=$oRdf->newObjekt($row->mobilitaetstyp_kurzbz);
$oRdf->obj[$i]->setAttribut('mobilitaetstyp_kurzbz',$row->mobilitaetstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->addSequence($row->mobilitaetstyp_kurzbz);
}
}
$oRdf->sendRdfText();
?>
+41
View File
@@ -0,0 +1,41 @@
<?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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
$oRdf = new rdf('STATUS','http://www.technikum-wien.at/status');
$oRdf->sendHeader();
$qry = "SELECT * FROM public.tbl_status ORDER BY status_kurzbz";
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$i=$oRdf->newObjekt($row->status_kurzbz);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung,true);
$oRdf->addSequence($row->status_kurzbz);
}
}
$oRdf->sendRdfText();
?>

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