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
+3 -1
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>
<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)';
@@ -1444,15 +1444,18 @@ echo "
}
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;
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>
@@ -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");
}
});
@@ -80,7 +80,6 @@ switch($method)
$data['errormsg']='Studenten UID fehlt.';
break;
}
$data = saveAnmeldung($aktStudiensemester, $uid);
break;
case 'getAllPruefungen':
@@ -409,6 +408,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
}
}
$i=0;
$stdsem_lv_besuch = null;
do
{
$lehrveranstaltung->load_lva_student($uid, $stdsem);
@@ -417,8 +417,10 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id)
{
$lv_besucht = true;
$stdsem_lv_besuch = $stdsem;
}
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$lehrveranstaltung->lehrveranstaltungen = array();
$i++;
@@ -439,6 +441,7 @@ 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))
@@ -498,23 +501,33 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
// $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;
// }
// }
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);
//Kollisionsprüfung
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
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)))
{
@@ -523,12 +536,29 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$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');
@@ -560,10 +590,30 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
{
if($ps->getLaststatus($ps->prestudent_id, $stdsem))
{
if(($ps->status_kurzbz == "Student"))
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 != "")
@@ -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');
}
}
+3 -1
View File
@@ -126,7 +126,7 @@ require_once('../../../include/addon.class.php');
{
$("#t1").tablesorter(
{
sortList: [[4,0],[5,0],[2,0]],
sortList: [[5,0],[6,0],[3,0]],
widgets: ["zebra"]
});
$("#t2").tablesorter(
@@ -174,6 +174,7 @@ 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>
@@ -208,6 +209,7 @@ 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)
+46 -29
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').'" />';
}
else
{
@@ -199,12 +193,6 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
$bngruppe = new benutzergruppe();
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;
@@ -217,9 +205,6 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
echo '<script>window.parent.menu.location.reload();</script>';
}
}
else
echo '<span class="error">'.$p->t('studienplan/zuWenigCP').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/bereitsAngemeldet').'</span>';
@@ -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;
@@ -462,11 +448,30 @@ 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)
{
@@ -511,29 +516,37 @@ function drawTree($tree, $depth)
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)
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>';
// Spalten für die einzelnen Studiensemester
@@ -610,11 +623,15 @@ 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)
{
if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem) !== true)
{
$regelerfuellt=false;
}
}
}
foreach($lvkompatibel_arr as $row_lvid)
{
@@ -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>';
+77 -10
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,22 +136,26 @@ 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)
{
//Nur Ampeln laden, die im aktuellen Studiensemester liegen
if ($show == 'aktuell' && $row->deadline>=$beginn->start)
{
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
$vlz = "-".$row->vorlaufzeit." day";
@@ -159,7 +173,7 @@ foreach($ampel->result as $row)
$ampelstatus='';
echo '<tr>';
echo '<td align="center">';
echo '<td style="text-align: center; vertical-align: middle">';
switch($ampelstatus)
{
case 'rot':
@@ -179,19 +193,16 @@ foreach($ampel->result as $row)
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>';
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 $p->t('tools/ampelBestaetigt');
//echo '<img src="../../../skin/images/true.png" height="15px">';
echo '';
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>'.$beschreibung.'</td>';
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>";
@@ -199,6 +210,62 @@ foreach($ampel->result as $row)
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
echo '</tr>';
}
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'));
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 '</tbody></table>';
echo '</body>
+10 -14
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,11 +87,12 @@ 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;
@@ -104,8 +101,10 @@ if(isset($_POST['submitbild']))
if($_REQUEST['dokumenttyp']=='Zeugnis')
$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>
@@ -164,15 +163,12 @@ if(isset($_GET['person_id']))
<td>
<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";
}
}
echo " </select>
</td>
</tr>
+354 -112
View File
@@ -37,6 +37,8 @@ require_once '../../../include/akte.class.php';
require_once '../../../include/datum.class.php';
require_once '../../../include/firma.class.php';
require_once '../../../include/addon.class.php';
require_once '../../../include/sprache.class.php';
require_once '../../../include/mail.class.php';
if(isset($_GET['lang']))
setSprache($_GET['lang']);
@@ -97,6 +99,17 @@ $date = new datum();
$firma = new firma();
$firma->getFirmen('Partneruniversität');
if (isset($_GET['lang']))
$get_url = str_replace('lang='.$_GET['lang'].'&', '', $_SERVER['QUERY_STRING']);
else
$get_url = $_SERVER['QUERY_STRING'];
$filter_url = '';
if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang']))
$filter_url = 'filter='.$_GET['filter'].'&unterrichtssprache='.$_GET['unterrichtssprache'].'&studiengang='.$_GET['studiengang'].'&go=Filter&';
$message = '';
?>
<html>
<head>
@@ -106,7 +119,51 @@ $firma->getFirmen('Partneruniversität');
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<!--<script type="text/javascript" src="../../../include/js/jquery.js"></script>-->
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript">
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );
<?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch
if ($sprache=="German")
echo '$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$( "#datepicker" ).datepicker(
{
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
}
);
$( ".datepicker_exchange" ).datepicker(
{
changeMonth: true,
changeYear: true
}
);';
else
echo '$( "#datepicker" ).datepicker({
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
});
$( ".datepicker_exchange" ).datepicker(
{
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true
}
);';
?>
});
</script>
<?php
// ADDONS laden
$addon_obj = new addon();
@@ -139,7 +196,8 @@ $( document ).ready(function()
$("#t1").tablesorter(
{
sortList: [[1,0],[3,0],[4,0]],
widgets: ["zebra"]
widgets: ["zebra"],
headers: {0:{sorter:false}, 9:{sorter:false}}
});
$("#t2").tablesorter(
{
@@ -149,21 +207,60 @@ $( document ).ready(function()
$("#t3").tablesorter(
{
sortList: [[1,0],[3,0],[4,0],[5,0]],
widgets: ["zebra"]
widgets: ["zebra"],
headers: {9:{sorter:false}}
});
});
</script>
<style type="text/css">
.uploadbutton
{
font-size: 16px;
font-family: Helvetica, Arial, sans-serif;
color: #ffffff;
text-decoration: none;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
background-color: #5cb85c;
border-top: 6px solid #5cb85c;
border-bottom: 6px solid #5cb85c;
border-right: 12px solid #5cb85c;
border-left: 12px solid #5cb85c;
display: inline-block;"
}
.uploadbutton:hover, .uploadbutton:active, .uploadbutton:focus
{
font-size: 16px;
font-family: Helvetica, Arial, sans-serif;
color: #ffffff;
text-decoration: none;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
background-color: #339B33;
border-top: 6px solid #339B33;
border-bottom: 6px solid #339B33;
border-right: 12px solid #339B33;
border-left: 12px solid #339B33;
display: inline-block;"
}
</style>
</head>
<body>
<table width="100%" border="0">
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td align="left" width="33%"><a href="incoming.php">Administration </a> <?php echo $breadcrumb ?> </td>
<td align="center" width="33%"><?php echo $person->titelpre." ".$person->vorname." ".$person->nachname." ".$person->titelpost?>
<td align ="right" width="33%"><?php
<td class="rand"></td>
<td style="vertical-align: top" class="boxshadow">
<table width="100%" height="100px" border="0" cellspacing="0" cellpadding="0">
<tr style="background-image: url(<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/header.png'; ?>); background-position: top; background-repeat: repeat-x; taxt-align: left; vertical-align: top;">
<td style="padding: 20px; text-align: left; width: 33%"><a href="incoming.php"><?php echo $p->t("incoming/hauptmenue") ?> </a> <?php echo $breadcrumb ?> </td>
<td style="padding: 20px; text-align: center; width: 33%"><?php echo $person->titelpre." ".$person->vorname." ".$person->nachname." ".$person->titelpost?><br>
<a href="logout.php">Logout</a></td>
<td style="padding: 20px; text-align: right; width: 33%"><?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>
echo '<a href="'.$_SERVER['PHP_SELF'].'?lang=English&'.$get_url.'">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German&'.$get_url.'">'.$p->t("global/deutsch").'</a><br>';?></td>
</tr>
</table>
<?php
@@ -174,6 +271,7 @@ if($method =="austauschprogram")
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
if (isset($_REQUEST['code']))
$preincoming->code = $_REQUEST['code'];
if($_REQUEST['austausch_kz']== "austausch_auswahl")
$preincoming->mobilitaetsprogramm_code = '';
@@ -189,7 +287,10 @@ if($method =="austauschprogram")
// Ausgabe Austauschprogram Formular
echo ' <form method="POST" action="incoming.php?method=austauschprogram" name="AustauschForm">
<table border="0" align ="center" style=margin-top:5%;">
<table border="0" align="center">
<tr>
<td align="center"><h1>'.$p->t('incoming/austauschprogram').'</h1></td>
</tr>
<tr>
<td>
<fieldset>
@@ -214,17 +315,13 @@ if($method =="austauschprogram")
}
echo ' </td>
</tr>
<tr>
<td>'.$p->t('global/code').'* </td>
<td><input type="text" name="code" size="40" maxlength="256" value="'.$preincoming->code.'"></td>
</tr>
<tr>
<td>'.$p->t('incoming/studiertvon').' </td>
<td><input type="text" name="von" size="10" value="'.$date->formatDatum($preincoming->von,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" name="von" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->von,'d.m.Y').'"> (dd.mm.yyyy)</td>
</tr>
<tr>
<td>'.$p->t('incoming/studiertbis').' </td>
<td><input type="text" name="bis" size="10" value="'.$date->formatDatum($preincoming->bis,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td><input type="text" name="bis" class="datepicker_exchange" size="10" value="'.$date->formatDatum($preincoming->bis,'d.m.Y').'"> (dd.mm.yyyy)</td>
</tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
@@ -238,10 +335,6 @@ if($method =="austauschprogram")
<tr>
<td><input type="button" value="'.$p->t('global/zurueck').'" onclick="document.location.href = \'incoming.php?method=university\'"; style="float:left"><input type="button" value="'.$p->t('incoming/weiter').'" onclick="document.location.href = \'incoming.php?method=lehrveranstaltungen\'"; style="float:right"></td>
</tr>
<tr>
<td>* '.$p->t('incoming/wennVorhanden').'</td>
</tr>
</table>
</form>
';
@@ -255,9 +348,9 @@ else if($method=="lehrveranstaltungen")
$id= $_GET['id'];
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s')))
echo $p->t('global/erfolgreichgespeichert');
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgespeichert')).'</b></span>';
else
echo $p->t('global/fehleraufgetreten');
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
// löschen der LV-ID
if($_GET['mode'] == "delete")
@@ -265,9 +358,9 @@ else if($method=="lehrveranstaltungen")
$id= $_GET['id'];
if($preincoming->deleteLehrveranstaltung($preincoming->preincoming_id, $_GET['id']))
echo $p->t('global/erfolgreichgelöscht');
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgelöscht')).'</b></span>';
else
echo $p->t('global/fehleraufgetreten');
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
}
if(isset($_GET['mode']) && $_GET['mode'] == "thesis")
@@ -330,10 +423,12 @@ else if($method=="lehrveranstaltungen")
$lvs = $preincoming->getLehrveranstaltungen($preincoming->preincoming_id);
echo '<br><br><br>
<table border="0" width="100%">
<tr>
<td align="center" colspan="4"><h1>'.$p->t('incoming/eigenelehrveranstaltungen').'</h1></td>
</tr>
<tr>
<td width="25%"></td>
<td width="25%" align="center"><a href="incoming.php?method=lehrveranstaltungen">'.$p->t('incoming/übersichtlehrveranstaltungen').'</a></td>
<td width="25%" align="center"><a href="incoming.php?method=lehrveranstaltungen&view=own">'.$p->t('incoming/eigenelehrveranstaltungen').'</a></td>
<td width="50%" align="center"><a href="incoming.php?method=lehrveranstaltungen&'.$filter_url.'">'.$p->t('incoming/übersichtlehrveranstaltungen').'</a></td>
<td width="25%"></td>
</tr>
<tr><td>&nbsp;</td></tr>
@@ -381,18 +476,21 @@ else if($method=="lehrveranstaltungen")
echo '</tbody></table><br><br>';
}*/
echo '<center>'.$message.'</center>';
echo '
<table class="tablesorter" id="t1">
<table class="tablesorter" id="t1" style="padding-left: 10px; padding-right: 10px;" border="0" align="center">
<thead>
<tr class="liste">
<th></th>
<th>'.$p->t('global/studiengang').'</th>
<th>'.$p->t('abgabetool/typ').'</th>
<th>'.$p->t('incoming/orgform').'</th>
<th>'.$p->t('global/semester').'</th>
<th>'.$p->t('global/lehrveranstaltung').'</th>
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>Info</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('courseInformation/unterrichtssprache').'</th>
<th>'.$p->t('incoming/lvInfo').'</th>
</tr>
</thead>
<tbody>';
@@ -409,31 +507,36 @@ else if($method=="lehrveranstaltungen")
else if ($studiengang->typ == 'm')
$typ = 'MA';
echo '<tr>';
echo '<td style="display:none">'.$lehrveranstaltung->lehrveranstaltung_id.'</td>';
echo '<td> <a href="incoming.php?method=lehrveranstaltungen&mode=delete&id='.$lv.'&view=own">'.$p->t('global/löschen').'</a></td>';
echo '<td> <a href="incoming.php?method=lehrveranstaltungen&mode=delete&id='.$lv.'&view=own&'.$filter_url.'">'.$p->t('global/löschen').'</a></td>';
echo '<td>',$studiengang_language,'</td>';
echo '<td>',$typ,'</td>';
echo '<td>',$lehrveranstaltung->orgform_kurzbz,'</td>';
echo '<td>',$lehrveranstaltung->semester,'</td>';
echo '<td>',$lehrveranstaltung->bezeichnung,'</td>';
echo '<td>',$lehrveranstaltung->bezeichnung_english,'</td>';
echo '<td>',$lehrveranstaltung->ects,'</td>';
echo '<td>',($lehrveranstaltung->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),'</td>';
echo '<td>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$lehrveranstaltung->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Deutsch&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$lehrveranstaltung->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Englisch</a>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$lehrveranstaltung->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/deutsch").'&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$lehrveranstaltung->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/englisch").'</a>
</td>';
echo '<td style="display:none">'.$lehrveranstaltung->lehrveranstaltung_id.'</td>';//Necessary for LV-Info-ADDON to get the ID for the course
echo '</tr>';
}
echo '</tbody></table>';
}
}
// Übersicht aller LVs
else
{
echo '<br><br><br>
<table border ="0" width="100%">
echo '<table border ="0" width="100%">
<tr>
<td align="center" colspan="4"><h1>'.$p->t('incoming/übersichtlehrveranstaltungen').'</h1></td>
</tr>
<tr>
<td width="25%" align="center"><input type="button" value="'.$p->t('global/zurueck').'" onclick="document.location.href = \'incoming.php?method=austauschprogram\'";></td>
<td width="25%" align="center"><a href="incoming.php?method=lehrveranstaltungen">'.$p->t('incoming/übersichtlehrveranstaltungen').'</a></td>
<td width="25%" align="center"><a href="incoming.php?method=lehrveranstaltungen&view=own">'.$p->t('incoming/eigenelehrveranstaltungen').'</a></td>
<td width="25%" align="center"><input type="button" value="'.$p->t('incoming/hauptmenue').'" onclick="document.location.href = \'incoming.php\'";></td>
<td width="50%" align="center"><a href="incoming.php?method=lehrveranstaltungen&view=own&'.$filter_url.'">'.$p->t('incoming/eigenelehrveranstaltungen').'</a></td>
<td width="25%" align="center"><input type="button" value="'.$p->t('incoming/weiter').'" onclick="document.location.href = \'incoming.php?method=files\'";></td>
</tr>
</table> <br><br>';
@@ -515,12 +618,12 @@ else if($method=="lehrveranstaltungen")
<br><br>
';*/
echo '<table width="90%" border="1" align="center">
/*echo '<table width="90%" border="1" align="center">
<tr style="text-align: center">
<td style="padding: 20px; color: red"><b>Course application is currently disabled. Please contact the office to apply for courses.</b></td>
</tr></table>';
/*echo '
<form name="filterSemester">
</tr></table>';*/
echo '
<form name="filterSemester" action="'.$_SERVER['PHP_SELF'].'" method="GET">
<table width="90%" border="0" align="center">
<tr>
<td>'.$p->t('incoming/studentenImWS').'</td>
@@ -530,7 +633,7 @@ else if($method=="lehrveranstaltungen")
</tr>
<tr>
<td>'.$p->t('incoming/filter').':
<SELECT name="filterLv" onchange=selectChange()>
<SELECT name="filter">
<option value="allSemester">'.$p->t('incoming/alleSemester').'</option>';
// Vorauswahl der Übergebenen Filter
@@ -548,7 +651,7 @@ else if($method=="lehrveranstaltungen")
echo '<option value="SSemester" '.$SSemesterSelected.'>'.$p->t('incoming/sommersemester').'</option>';
echo'</SELECT><br>';
echo $p->t('courseInformation/unterrichtssprache').':<SELECT name="filterUnterrichtssprache" onchange=selectChange()>
echo $p->t('courseInformation/unterrichtssprache').':<SELECT name="unterrichtssprache">
<option value="">'.$p->t('incoming/alleSprachen').'</option>';
// Vorauswahl der Übergebenen Filter
@@ -561,30 +664,48 @@ else if($method=="lehrveranstaltungen")
elseif($_GET['unterrichtssprache']=='English')
$EnglishSelected='selected';
echo '<option value="German" '.$GermanSelected.'>German</option>';
echo '<option value="German" '.$GermanSelected.'>'.$p->t("global/deutsch").'</option>';
echo '<option value="English" '.$EnglishSelected.'>English</option>';
echo '<option value="English" '.$EnglishSelected.'>'.$p->t("global/englisch").'</option>';
echo'</SELECT><br>';
echo $p->t('global/studiengang').':<SELECT name="filterStudiengang" onchange=selectChange()>
echo $p->t('global/studiengang').':<SELECT name="studiengang">
<option value="">'.$p->t('incoming/alleStudiengaenge').'</option>';
// Vorauswahl der Übergebenen Filter
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz', true);
$type = array('b' => 'Bachelor', 'm' => 'Master', 'e' => 'Other');
$typ = '';
foreach ($studiengang->result as $row)
{
//Nur Bachelor, Master und CIR-Studiengang
if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006')
{
$selected = '';
if ($typ != $row->typ || $typ=='')
{
if ($typ!='')
echo '</optgroup>';
echo '<optgroup label="'.$type[$row->typ].'">';
}
if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz)
$selected='selected';
$studiengang_language = ($sprache == 'German') ? $row->bezeichnung : $row->english;
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.strtoupper($row->typ.$row->kurzbz).' - '.$studiengang_language.'</option>';
$typ = $row->typ;
}
}
echo'</SELECT>';
echo'</SELECT><br><br>';
echo '<input type="hidden" name="method" value="lehrveranstaltungen">';
//echo '<input type="hidden" >';
echo '<input type="submit" name="go" value="Filter">';
echo '</td>
</tr>
</table>
@@ -618,18 +739,30 @@ else if($method=="lehrveranstaltungen")
//Uebersicht LVs
/* Erklaerung der Datumszeitraeume ab Zeile 650:
/* Erklaerung der Datumszeitraeume ab Zeile 663:
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
* |----------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS
* |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS
* |------------------------------| Incoming ist innerhalb oder GENAU SS da
* |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS
* --------------------------------------------------------- Von und Bis ist NULL
* ------------------------------------------------------------ Von und Bis ist NULL
* -------------------| Von ist NULL und bis innerhalb SS
* |----------------------- Bis ist NULL und von innerhalb SS
* |--------------------------- Bis ist NULL und von innerhalb SS
*/
/*$qry = "SELECT
$studiensemester_array = array();
$studiensemester = new studiensemester();
$studiensemester_array[] = $studiensemester->getakt();
$studiensemester->getFutureStudiensemester('',2);
foreach ($studiensemester->studiensemester AS $row)
$studiensemester_array[] = $row->studiensemester_kurzbz;
if(isset($_GET['go']))
{
$qry = "SELECT
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects,
tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz,
@@ -664,6 +797,8 @@ else if($method=="lehrveranstaltungen")
(
(bis - '$stsem->start' > '$stsem->start' - von) OR
('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR
(bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR
('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR
(von >= '$stsem->start' AND bis <= '$stsem->ende') OR
(von <= '$stsem->start' AND bis >= '$stsem->ende') OR
(von IS NULL AND bis IS NULL) OR
@@ -684,9 +819,11 @@ else if($method=="lehrveranstaltungen")
SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
WHERE tbl_studienordnung.status_kurzbz='approved'
AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id) AND
((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)";
AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id
AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."'))
AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)";
if (isset($_GET['studiengang']) && $_GET['studiengang'] !='')
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang'];
@@ -694,7 +831,13 @@ else if($method=="lehrveranstaltungen")
$qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz
";
echo '<table class="tablesorter" id="t3" width="90%" border="0" align="center">
if($result = $db->db_query($qry))
{
if ($db->db_affected_rows($result)>0)
{
echo '<center>'.$message.'</center>';
echo '<p style="padding-left: 10px; padding-right: 10px;">'.$p->t('incoming/tabelleSortierinformation').'</p>';
echo '<table class="tablesorter" id="t3" style="padding-left: 10px; padding-right: 10px;" border="0" align="center">
<thead align="center">
<tr>
<th width="6%"></th>
@@ -706,16 +849,20 @@ else if($method=="lehrveranstaltungen")
<th>'.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('courseInformation/unterrichtssprache').'</th>
<th>Info</th>
<th>'.$p->t('incoming/lvInfo').'</th>
<th>'.$p->t('incoming/freieplätze').'</th>
</tr>
</thead>
<tbody>';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$freieplaetze = $row->incoming - $row->anzahl;
$style = '';
if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id))
$style = 'style="background-color: #88DD88"';
elseif ($freieplaetze==0)
$style = 'style="background-color: #FF8888"';
//if($freieplaetze>0)
//{
$studiengang = new studiengang();
@@ -723,37 +870,44 @@ else if($method=="lehrveranstaltungen")
$studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english;
$typ = $studiengang->typ;
if ($studiengang->typ == 'b')
$typ = 'BA';
$typ = 'Bachelor';
else if ($studiengang->typ == 'm')
$typ = 'MA';
$typ = 'Master';
else
$typ = '-';
echo '<tr>';
echo '<td style="display:none">'.$row->lehrveranstaltung_id.'</td>';
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0)
echo '<td><a href="incoming.php?method=lehrveranstaltungen&mode=add&id='.$row->lehrveranstaltung_id.'">'.$p->t('global/anmelden').'</a></td>';
echo '<td><a href="incoming.php?method=lehrveranstaltungen&mode=add&id='.$row->lehrveranstaltung_id.'&'.$filter_url.'">'.$p->t('global/anmelden').'</a></td>';
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0)
echo '<td>'.$p->t('incoming/noVacancies').'</td>';
echo '<td '.$style.'>'.$p->t('incoming/noVacancies').'</td>';
else
echo '<td>'.$p->t('global/angemeldet').'</td>';
echo '<td>',$studiengang_language,'</td>';
echo '<td>',$typ,'</td>';
echo '<td>',$row->orgform_kurzbz,'</td>';
echo '<td>',$row->semester,'</td>';
echo '<td>',$row->bezeichnung,'</td>';
echo '<td>',$row->bezeichnung_english,'</td>';
echo '<td>',$row->ects,'</td>';
echo '<td>',$row->sprache,'</td>';
echo '<td>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Deutsch&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">Englisch</a>
echo '<td '.$style.'>'.$p->t('global/angemeldet').'</td>';
echo '<td '.$style.'>',$studiengang_language,'</td>';
echo '<td '.$style.'>',$typ,'</td>';
echo '<td '.$style.'>',$row->orgform_kurzbz,'</td>';
echo '<td '.$style.'>',$row->semester,'</td>';
echo '<td '.$style.'>',$row->bezeichnung,'</td>';
echo '<td '.$style.'>',$row->bezeichnung_english,'</td>';
echo '<td '.$style.'>',$row->ects,'</td>';
echo '<td '.$style.'>',($row->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),'</td>';
echo '<td '.$style.'>
<a href="#Deutsch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=de\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/deutsch").'&nbsp;</a>
<a href="#Englisch" class="Item" onclick="javascript:window.open(\'lvinfo.php?lv='.$row->lehrveranstaltung_id.'&amp;language=en\',\'Lehrveranstaltungsinformation\',\'width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes\');return false;">'.$p->t("global/englisch").'</a>
</td>';
echo '<td>',($freieplaetze<$row->incoming?'<strong>'.$freieplaetze.'/'.$row->incoming.'</strong>':$freieplaetze.'/'.$row->incoming),'</td>';
echo '<td '.$style.'>',($freieplaetze<$row->incoming?'<strong>'.$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')</strong>':$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')').'</td>';
echo '<td style="display:none">'.$row->lehrveranstaltung_id.'</td>';//Necessary for LV-Info-ADDON to get the ID for the course
echo '</tr>';
//}
}
echo '</tbody></table>';
}
echo '</tbody></table>';*/
else
echo '<center><b>'.$p->t('incoming/derzeitKeineLehrveranstaltungen').'</b></center>';
}
}
else
echo '<center><b>'.$p->t('incoming/waehlenSieAusDenOptionen').'</b></center>';
}
}
else if ($method == "university")
@@ -790,7 +944,12 @@ else if ($method == "university")
}
$preincoming->program_name = $_REQUEST['name_of_program'];
//Pruefen, ob Jahre studiert eine ganze Zahl ist oder leer
if(ctype_digit($_REQUEST['jahre']) || $_REQUEST['jahre'] == '')
$preincoming->jahre = $_REQUEST['jahre'];
else
echo '<span class="error">'.$p->t('incoming/jahreStudiertMussGanzeZahlSein').'</span><br>';
if(isset($_REQUEST['bachelor']))
$preincoming->bachelor = true;
else
@@ -1211,7 +1370,10 @@ else if ($method == "university")
}
echo ' <form method="POST" action="incoming.php?method=university" name="UniversityForm">
<table border ="0" style="margin-top:5%;" align="center" >
<table border ="0" align="center" >
<tr>
<td align="center"><h1>'.$p->t('incoming/eigeneuniversitaet').'</h1></td>
</tr>
<tr><td>
<fieldset>
<table border ="0">
@@ -1553,7 +1715,10 @@ else if ($method == "profil")
}
// Ausgabe Profil Formular
echo'<form action="incoming.php?method=profil" method="POST" name="ProfilForm">
<table align="center" style="margin-top:5%;" >
<table align="center">
<tr>
<td align="center"><h1>'.$p->t('incoming/persönlichedateneditieren').'</h1></td>
</tr>
<tr valign="top" ><td>
<fieldset>
<table>
@@ -1591,7 +1756,7 @@ else if ($method == "profil")
<tr>
<td>'.$p->t('global/titel').' Pre</td>
<td><input type="text" size="20" maxlength="64" name="titel_pre" value="'.$person->titelpre.'"></td>
<td>'.$p->t('incoming/zugangsvoraussetzungmaster').'</td>
<td>'.$p->t('incoming/zugangsvoraussetzungmaster').'&sup2;</td>
<td><input type="text" name="zgv_master" value="'.$preincoming->zgvmaster.'" size=40></td>
</tr>
<tr>
@@ -1602,7 +1767,7 @@ else if ($method == "profil")
</tr>
<tr>
<td>'.$p->t('global/nachname').'</td>
<td><input type="text" size="20" maxlength="64" name="nachname" value="'.$person->nachname.'"></td>
<td><input type="text" size="20" maxlength="64" name="nachname" value="'.$person->nachname.'" required></td>
<td>'.$p->t('incoming/abgelegtinort').'</td>
<td><input type="text" name="zgv_master_ort" size=40 value="'.$preincoming->zgvmaster_ort.'"></td>
</tr>
@@ -1614,13 +1779,13 @@ else if ($method == "profil")
</tr>
<tr>
<td>'.$p->t('global/geburtsdatum').'</td>
<td><input type="text" size="20" name="geb_datum" value="'.$date->formatDatum($person->gebdatum,'d.m.Y').'" onfocus="this.value=\'\'"> (dd.mm.yyyy)</td>
<td><input type="text" size="20" id="datepicker" name="geb_datum" value="'.$date->formatDatum($person->gebdatum,'d.m.Y').'"> (dd.mm.yyyy)</td>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td>'.$p->t('global/staatsbuergerschaft').'</td>
<td><SELECT name="staatsbuerger">
<td><SELECT required name="staatsbuerger">
<option value="staat_auswahl">-- select --</option>';
foreach ($nation->nation as $nat)
{
@@ -1680,7 +1845,7 @@ echo' </SELECT></td>
</tr>
<tr valign="top">
<td>'.$p->t('incoming/nation').'</td>
<td><SELECT name="nation">
<td><SELECT name="nation" required>
<option value="nat_auswahl">-- select --</option>';
foreach ($nation->nation as $nat)
{
@@ -1721,8 +1886,7 @@ echo' </SELECT></td>
</tr>
<tr>
<td align = "center" colspan="4"><input type="submit" name="submit_profil" value="'.$p->t('global/speichern').'" onclick="return checkProfil()">
<input type="button" value="'.$p->t('incoming/uploadCv').'" onclick="FensterOeffnen(\''.APP_ROOT.'cis/public/incoming/akteupload.php?person_id='.$person->person_id.'&dokumenttyp=Lebenslf\');"></td>
<td align = "center" colspan="4"><input type="submit" name="submit_profil" value="'.$p->t('global/speichern').'" onclick="return checkProfil()"></td>
</tr>
</table>
</td>
@@ -1731,7 +1895,10 @@ echo' </SELECT></td>
<td align="right"><input type="button" value="'.$p->t('incoming/weiter').'" onclick="document.location.href = \'incoming.php?method=university\';"></td>
</tr>
<tr>
<td colspan="5">&sup1; '.$p->t('incoming/zugangsvoraussetzungFussnote').'</td>
<td colspan="5">
&sup1; '.$p->t('incoming/zugangsvoraussetzungFussnote').'<br>
&sup2; '.$p->t('incoming/zugangsvoraussetzungMasterFussnote').'
</td>
</tr>
</table>
<table border =0 align="center" style="margin-top:5%;" >
@@ -1773,57 +1940,132 @@ echo' </SELECT></td>
else if($method == 'files')
{
$akte = new akte();
$message = '';
if(isset($_GET['id']))
{
if($_GET['mode']=="delete")
{
if($akte->delete($_GET['id']))
echo($p->t('global/erfolgreichgelöscht'));
$message = '<span style="color: green"><b>'.($p->t('global/erfolgreichgelöscht')).'</b></span>';
else
echo($p->t('global/fehleraufgetreten'));
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
}
echo '<script type="text/javascript">
function FensterOeffnen (adresse)
{
MeinFenster = window.open(adresse, "Info", "width=600,height=200");
// PopUp-Fenster relativ zum aktuellen Fenster positionieren
var posX, posY; //position of popup
var w=600, h=200; //size of popup
var offsetX=500, offsetY=300; //x and y offset relative to the parent window
if (typeof window.screenLeft != "undefined")
{ //IE
posX = window.screenLeft + offsetX;
posY = window.screenTop + offsetY;
}
else if (typeof window.screenX != "undefined")
{ //NS/Moz
posX = window.screenX + offsetX;
posY = window.screenY + offsetY;
}
else
{ //default - center of screen
posX = screen.availWidth/2 - w/2;
posY = screen.availHeight/2 - h/2;
}
MeinFenster = window.open(adresse,"Info","width="+w+",height="+h+",left="+posX+",top="+posY+"dependent=yes");
MeinFenster.focus();
}
</script>
<br><br><br>
<table border="0" width="100%">
<tr>
<td align="center" colspan="2"><h1>'.$p->t('incoming/uploadvondateien').'</h1></td>
</tr>
<tr>
<td width="25%" align="center"><input type="button" value="'.$p->t('global/zurueck').'" onclick="document.location.href = \'incoming.php?method=lehrveranstaltungen\'";></td>
<td width="25%" align="center"><input type="button" value="'.$p->t('incoming/weiter').'" onclick="document.location.href = \'incoming.php?method=ende\'";></td>
</tr>
</table>
<center>
<a href="'.APP_ROOT.'cis/public/incoming/akteupload.php?person_id='.$person->person_id.'" onclick="FensterOeffnen(this.href); return false;">',$p->t('incoming/fileupload'),'</a></td>
<img src="'.APP_ROOT.'skin/images/pdf_icon.png" title="pdfpic">&nbsp;<a href="'.APP_ROOT.'cms/dms.php?id='.$p->t('dms_link/learningAgreementErasmus').'">'.$p->t('incoming/downloadLearningAgreementErasmus').'</a><br>
<img src="'.APP_ROOT.'skin/images/pdf_icon.png" title="pdfpic">&nbsp;<a href="'.APP_ROOT.'cms/dms.php?id='.$p->t('dms_link/learningAgreement').'">'.$p->t('incoming/downloadLearningAgreement').'</a><br><br><br>
<a href="'.APP_ROOT.'cis/public/incoming/akteupload.php?person_id='.$person->person_id.'" onclick="FensterOeffnen(this.href); return false;" class="uploadbutton">',$p->t('incoming/fileupload'),'</a>
</center><br><br>';
$akte->getAkten($person->person_id);
if(count($akte->result)>0)
{
echo '<table align="center" border="0">
echo '<center>'.$message.'</center>';
echo '<center><table class="tablesorter" style="width: unset;" align="center" border="0">
<thead>
<tr>
<th></th>
<th>'.$p->t('incoming/name').'</th>
<th>'.$p->t('global/bezeichnung').'</th>
</tr>';
<!--<th>'.$p->t('global/bezeichnung').'</th>-->
</tr>
</thead><tbody>';
foreach ($akte->result as $ak)
{
echo '<tr>
<td><a href="'.$_SERVER['PHP_SELF'].'?method=files&mode=delete&id='.$ak->akte_id.'" title="delete"><img src="'.APP_ROOT.'skin/images/delete_round.png"</a></td>
<td><a href="'.$_SERVER['PHP_SELF'].'?method=files&mode=delete&id='.$ak->akte_id.'" title="delete"><img src="'.APP_ROOT.'skin/images/delete_x.png"</a></td>
<td><a href="'.APP_ROOT.'cis/public/incoming/akte.php?id='.$ak->akte_id.'">'.$ak->titel.'</a></td>
<td>'.$ak->bezeichnung.'</td>
<!--<td>'.$ak->bezeichnung.'</td>-->
</tr>';
}
echo '</table>';
echo '</tbody></table></center>';
}
else
echo 'foo';
}
else if($method == 'ende')
{
$message = '';
$emailtext = '';
// Profil speichern
if(isset($_POST['submit_ende']))
{
// sende Nachricht an Assistenz
//$emailtext= "Dies ist eine automatisch generierte E-Mail.<br><br>";
$emailtext.= "Der/Die Incoming ".$person->vorname.' '.$person->nachname.' hat seine Registration abgeschlossen';
$emailtext = wordwrap($emailtext,70); //Bricht den Code um, da es sonst zu Anzeigefehlern im Mail kommen kann
$mail = new mail(MAIL_INTERNATIONAL, 'no-reply', 'Incoming '.$person->vorname.' '.$person->nachname.' vollstaendig', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
if(!$mail->send())
$message = '<span style="color: red"><b>'.($p->t('incoming/fehlerBeimSenden')).'</b></span>';
else
$message = '<span style="color: green"><b>'.($p->t('incoming/erfolgreichAbgeschickt')).'</b></span>';
}
echo '<center>'.$message.'</center>';
echo '<br><br><br>
<form action="incoming.php?method=ende" method="POST" name="EndeForm">
<table border ="0" width="100%">
<tr>
<td width="50%" align="center"><input type="button" value="'.$p->t('global/zurueck').'" onclick="document.location.href = \'incoming.php?method=files\'";></td>
<td width="50%" align="center"><input type="button" value="'.$p->t('incoming/hauptmenue').'" onclick="document.location.href = \'incoming.php\'";></td>
</tr>
<tr>
<td colspan="2" align="center"><br><br><br><br><h1>'.$p->t('incoming/dankeFuerIhreAnmeldung').'</h1>
<br><br>
<input type="submit" name="submit_ende" value="'.$p->t('global/abschicken').'"></td>
</tr>
</table>
</form>';
}
// Ausgabe Menü
else
{
echo '<br><br><br><br>
<fieldset>
<table align ="center" border="0">
echo '<table border="0" width="100%">
<tr>
<td align="center"><h1>'.$p->t('incoming/hauptmenue').'</h1></td>
</tr>
</table>
<table style="padding: 20px; background-color: lightgrey;" align ="center" border="0">
<tr>
<td>1. <a href="incoming.php?method=profil">'.$p->t('incoming/persönlichedateneditieren').'</a></td>
</tr>
@@ -1836,19 +2078,14 @@ else
<tr>
<td>4. <a href="incoming.php?method=lehrveranstaltungen">'.$p->t('incoming/lehrveranstaltungenauswählen').'</a></td>
</tr>
<tr>
<td>5. <a href="'.APP_ROOT.'cms/dms.php?id=8270">'.$p->t('incoming/downloadLearningAgreement').'</a></td>
<!--<tr>
<td>5. <a href="'.APP_ROOT.'cms/dms.php?id='.$p->t('dms_link/learningAgreement').'">'.$p->t('incoming/downloadLearningAgreement').'</a></td>
</tr>
<tr>
<td>6. <a href="'.APP_ROOT.'cis/public/incoming/akteupload.php?person_id='.$person->person_id.'&dokumenttyp=LearnAgr" onclick="FensterOeffnen(this.href); return false;">'.$p->t("incoming/uploadLearningAgreement").'</a></td>
</tr>
</tr>-->
<tr>
<td>7. <a href="incoming.php?method=files">'.$p->t("incoming/uploadvondateien").'</a></td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td align="right"><a href="logout.php">Logout</a> </td>
<td>5. <a href="incoming.php?method=files">'.$p->t("incoming/uploadvondateien").'</a></td>
</tr>
</table>';
@@ -1862,5 +2099,10 @@ else
}
?>
</td>
<td class="rand">
</td>
</tr>
</table>
</body>
</html>
+20 -11
View File
@@ -64,25 +64,29 @@ if (isset($_POST['userid']))
<link href="../../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
</head>
<body>
<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 align="left"></td>
<td align ="right"><?php
<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">'.$p->t("global/englisch").'</a> |
<a href="'.$_SERVER['PHP_SELF'].'?lang=German">'.$p->t("global/deutsch").'</a><br>';?></td>
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>
<form action ="index.php" method="POST">
<table border ="0" width ="100%" height="40%">
<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><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>
<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>
@@ -108,8 +112,13 @@ if (isset($_POST['userid']))
<td align="center"><?php if(isset($errormsg))
echo $errormsg; ?>
</tr>
</table>
</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()
+51 -41
View File
@@ -38,7 +38,11 @@ $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">
@@ -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 = '';
}
@@ -101,73 +109,73 @@ 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>
<td>Kurzbezeichnung</td>
<td><input type="text" name="kurzbz" placeholder="Pflichtfeld" maxlength="10" value="'.(isset($_POST['kurzbz'])?$_POST['kurzbz']:'').'" required/></td>
</tr>
<tr>
<td>Kurzbz</td>
<td><input type="text" name="kurzbz" placeholder="Pflichtfeld"/></td>
</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>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>
<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"/> hh:mm:ss</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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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"/></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>
@@ -181,29 +189,27 @@ echo '
//Speichern der Daten
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');
die($rechte->errormsg);
if (isset($_POST['kurzbz']) && $_POST['kurzbz'] != '' && isset($_POST['zeit']) && $_POST['zeit'] != '' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile'] != '')
{
//Test, ob kurzbz schon vorhanden
if ($result = $db->db_query('SELECT kurzbz FROM testtool.tbl_gebiet WHERE kurzbz = '.$db->db_add_param($_POST['kurzbz']).' LIMIT 1;'))
{
if ($db->db_num_rows($result) == 0)
{
$gebiet = new gebiet();
$bezeichnung_mehrsprachig = array();
foreach ($sprache->result as $row_sprache)
{
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->bezeichnung = $_POST['bezeichnung_intern'];
$gebiet->beschreibung = $_POST['beschreibung'];
$gebiet->zeit = $_POST['zeit'];
$gebiet->multipleresponse = isset($_POST['multiple_respone']);
@@ -229,6 +235,10 @@ if (isset($_POST['save']) && $_POST['save']=='save')
echo '<span class="error">Fehler beim Speichern: '.$gebiet->errormsg.'</span>';
}
}
else
echo '<span class="error">Kurzbezeichnung ist schon vorhanden</span>';
}
}
else
{
echo '<span class="error">Bitte f&uuml;llen Sie alle Pflichtfelder aus</span>';
+11 -11
View File
@@ -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">
@@ -86,7 +88,7 @@ $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');
die($rechte->errormsg);
$gebiet = new gebiet();
$gebiet->getAll();
@@ -128,7 +130,6 @@ if(isset($_POST['action']) && $_POST['action']=='deleteZuordnung')
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')
@@ -153,14 +154,13 @@ if(isset($_POST['action']) && $_POST['action']=='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 (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$gebiet = new gebiet();
if ($gebiet->load($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)
{
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>';
@@ -249,14 +249,14 @@ if($gebiet_id!='')
// empfohlene maximalpunkte berechnen und anzeigen
$maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id);
if ($gebiet->maxpunkte != $maximalpunkte)
$hinweis = '<span class="error">empfohlene Maximalpunkteanzahl: '.$maximalpunkte.'</span>';
$hinweis = ' <span class="error">empfohlene Maximalpunkteanzahl: '.round($maximalpunkte).(round($maximalpunkte) != $maximalpunkte?' ('.$maximalpunkte.' gerundet)':'').'</span>';
else
$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>';
+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>';
}
?>
+73 -45
View File
@@ -167,7 +167,13 @@ font-size: 10pt;
<h1>
<div style="float:left">Testtool - Administrationsseite</div>
<div style="text-align:right; padding-right: 5px;"><a href="edit_ablauf.php?stg_kz=<?php echo $stg_kz?>">Ablauf</a> | <a href="uebersichtGebiete.php" class="Item" target="_blank">Gebietübersicht</a> | <a href="uebersichtFragen.php" class="Item" target="_blank">Fragenübersicht</a> | <a href="auswertung.php" class="Item">Auswertung</a> | <a href="Testtool.pdf" class="Item" target="_blank">Hilfe</a></div>
<div style="text-align:right; padding-right: 5px;">
<a href="gebieteAnheangen.php?stg_kz=<?php echo $stg_kz?>">Ablauf</a> |
<a href="uebersichtGebiete.php" class="Item" target="blank">Gebietübersicht</a> |
<a href="uebersichtFragen.php" class="Item" target="blank">Fragenübersicht</a> |
<a href="auswertung.php" class="Item">Auswertung</a> |
<a href="Testtool.pdf" class="Item" target="_blank">Hilfe</a>
</div>
</h1>
<?php
@@ -186,7 +192,7 @@ $sprache = $_SESSION['sprache'];
if (isset($_POST['submitbild']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
if (isset($_FILES['bild']['tmp_name']))
{
@@ -228,7 +234,7 @@ if(isset($_POST['submitbild']))
if (isset($_POST['submitaudio']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
if (isset($_FILES['audio']['tmp_name']))
{
@@ -272,7 +278,7 @@ if(isset($_POST['submitaudio']))
if (isset($_POST['submitdata']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$frage = new frage();
if ($frage->load($_GET['frage_id']))
@@ -280,15 +286,14 @@ if(isset($_POST['submitdata']))
$frage->demo = isset($_POST['demo']);
$frage->nummer = $_POST['nummer'];
$frage->level = $_POST['level'];
$frage->aktiv = isset($_POST['aktiv']);
$frage->aktiv = isset($_POST['aktiv'])?true:false;
$frage->new = false;
if ($frage->save())
{
if(!$frage->getFrageSprache($frage->frage_id, $sprache))
if ($frage->getFrageSprache($frage->frage_id, $sprache))
{
$frage->new=true;
$frage->new = false;
}
if (isset($_POST['text']))
@@ -297,7 +302,7 @@ if(isset($_POST['submitdata']))
$xml = '<?xml version="1.0" encoding="utf-8"?><root>'.$frage->text.'</root>';
libxml_use_internal_errors(true);
if(simplexml_load_string($xml))
if (simplexml_load_string($xml) || $_POST['text'] == '')
{
if ($frage->save_fragesprache())
{
@@ -329,7 +334,7 @@ if(isset($_POST['submitdata']))
if (isset($_POST['submitvorschlag']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$bildcontent = '';
if (isset($_FILES['bild']['tmp_name']) && is_uploaded_file($_FILES['bild']['tmp_name']))
@@ -419,7 +424,7 @@ if(isset($_POST['submitvorschlag']))
$xml = '<?xml version="1.0" encoding="utf-8"?><root>'.$vorschlag->text.'</root>';
libxml_use_internal_errors(true);
if(simplexml_load_string($xml))
if (simplexml_load_string($xml) || $_POST['text'] == '')
{
if ($vorschlag->save())
{
@@ -457,7 +462,7 @@ if(isset($_POST['submitvorschlag']))
if (isset($_GET['type']) && $_GET['type'] == 'delete' && isset($_GET['vorschlag_id']))
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$vs = new vorschlag();
if (!$vs->delete($_GET['vorschlag_id']))
@@ -468,24 +473,24 @@ if(isset($_GET['type']) && $_GET['type']=='delete' && isset($_GET['vorschlag_id'
if (isset($_POST['type']) && $_POST['type'] == 'deleteFrage')
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$frage = new frage();
if (!$frage->delete($_GET['frage_id']))
{
echo "Löschen fehlgeschlagen:".$frage->errormsg;
}
$nummer = '';
}
// anlegen einer neuen Frage
if (isset($_GET['type']) && $_GET['type'] == 'neuefrage')
{
if (!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
die($rechte->errormsg);
$frage_obj = new frage();
$frage_obj->getFragenGebiet($gebiet_id);
$nummer=(count($frage_obj->result));
$nummer = $frage_obj->getMaxNummer($gebiet_id) + 1;
$frage_obj->gebiet_id = $_GET['gebiet_id'];
$frage_obj->nummer = $nummer;
@@ -493,6 +498,7 @@ if(isset($_GET['type']) && $_GET['type']=='neuefrage')
$frage_obj->insertamum = date('Y-m-d H:i:s');
$frage_obj->insertvon = $user;
$frage_obj->sprache = $sprache;
$frage_obj->aktiv = true;
$frage_obj->new = true;
if ($frage_obj->save())
{
@@ -552,7 +558,6 @@ if(isset($_GET['type']) && $_GET['type']=='vorschlaegeaktiv')
$vs->new = false;
if (isset($_POST['vorschlagaktiv']))
{
$vorschlaegeAktiv = array();
$vorschlaegeInaktiv = array();
$checkedVorschlaege = $_POST['vorschlagaktiv'];
@@ -585,7 +590,6 @@ if(isset($_GET['type']) && $_GET['type']=='vorschlaegeaktiv')
$vs->aktiv = false;
$vs->save();
}
}
}
}
@@ -605,7 +609,7 @@ echo 'Studiengang: <select onchange="window.location.href=this.value">';
else
$selected = '';
echo '<option value="'.$PHP_SELF.'?stg_kz='.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel).' ('.$row->bezeichnung.')</option>'."\n";
echo '<option value="'.$PHP_SELF.'?stg_kz='.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel).' - '.$db->convert_html_chars($row->bezeichnung).'</option>'."\n";
}
echo '</select>';
@@ -643,9 +647,10 @@ if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
echo '</select>';
}
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$nummer&amp;type=gebietpruefen' class='Item'>Pruefen</a> | ";
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$nummer&amp;type=gebietpruefen' class='Item'>Prüfen</a> | ";
echo " <a href='edit_gebiet.php?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz' class='Item'>Bearbeiten</a> |";
echo " <a href='add_gebiet.php?stg_kz=".$stg_kz."'>Hinzuf&uuml;gen</a>";
echo " <a href='add_gebiet.php?stg_kz=".$stg_kz."'>Neues Gebiet</a> | ";
//echo " <a href='export.php?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz' target='_blank'>PDF exportieren</a>";
//echo " <br/>Gebiet_id=".$gebiet_id."";
echo '</td><td align="right">';
@@ -670,56 +675,73 @@ if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
echo '<br />';
// Liste der Fragen
if ($filter=='aktiv') {
if ($filter == 'aktiv')
{
$qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND aktiv ORDER BY nummer";
} elseif ($filter=='inaktiv') {
}
elseif ($filter == 'inaktiv')
{
$qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND NOT aktiv ORDER BY nummer";
} else {
}
else
{
$qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer";
}
if ($result = $db->db_query($qry))
{
// Aktiv / Inaktiv Filter
echo 'Filter: ';
// Aktiv / Inaktiv Checkboxes
$aktivchecked = ($filter == 'aktiv' || $filter == '')?'checked="checked"':'';
$inaktivchecked = ($filter == 'inaktiv' || $filter == '')?'checked="checked"':'';
if ($filter=='aktiv') {
if ($filter == 'aktiv')
{
$link = "";
echo '<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=inaktiv">
<input type="checkbox" name="aktiv" '.$aktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=inaktiv\');"/>aktiv</a>
<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=">
<input type="checkbox" name="inaktiv" '.$inaktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=\');"/>inaktiv</a>';
} elseif ($filter=='inaktiv') {
}
elseif ($filter == 'inaktiv')
{
echo '<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=">
<input type="checkbox" name="aktiv" '.$aktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=\');"/>aktiv</a>
<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=aktiv">
<input type="checkbox" name="inaktiv" '.$inaktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=aktiv\');"/>inaktiv</a>';
} elseif ($filter=='') {
}
elseif ($filter == '')
{
echo '<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=inaktiv">
<input type="checkbox" name="aktiv" '.$aktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=inaktiv\');"/>aktiv</a>
<a href="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=aktiv">
<input type="checkbox" name="inaktiv" '.$inaktivchecked.' onclick="window.location.assign(\''.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;filter=aktiv\');"/>inaktiv</a>';
}
echo '<br/>';
echo 'Nummer: ';
echo '<br/>Nummer: ';
while ($row = $db->db_fetch_object($result))
{
if ($nummer == '')
$nummer = $row->nummer;
$style = '';
if ($db->db_parse_bool($row->aktiv) == false)
$style = 'style="color: lightgrey"';
if ($nummer == $row->nummer)
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$row->nummer&amp;filter=$filter' ".($row->aktiv=="f"?"style='color: grey'":"")." class='Item'><u>$row->nummer</u></a> -";
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$row->nummer&amp;filter=$filter' class='Item' $style><u>$row->nummer</u></a> -";
else
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$row->nummer&amp;filter=$filter' ".($row->aktiv=="f"?"style='color: grey'":"")." class='Item'>$row->nummer</a> -";
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$row->nummer&amp;filter=$filter' class='Item' $style>$row->nummer</a> -";
}
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;type=neuefrage&amp;filter=$filter' class='Item'>neue Frage hinzufuegen</a>";
$frage_obj = new frage();
if ($filter=='aktiv') {
if ($filter == 'aktiv')
{
$nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, true);
} elseif ($filter=='inaktiv') {
}
elseif ($filter == 'inaktiv')
{
$nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, false);
} else {
}
else
{
$nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id);
}
//if ($nummer<$db->db_num_rows($result)-1)
@@ -815,7 +837,7 @@ if($frage_id!='')
//Bei Aenderungen im Textfeld werden diese sofort in der Vorschau angezeigt
//Wenn beim Speichern der Text kein Gueltiges XML ist, wird der vorige Text erneut angezeigt
echo "<tr valign='top'><td colspan='2'>\n<textarea name='text' id='text' cols='50' rows='27' oninput='preview()' ".($frage->aktiv=='f'?'disabled="disabled"':'')."><![CDATA[".(isset($frage_error_text)?$frage_error_text:$frage->text)."]]></textarea>\n</td>";
echo "<tr valign='top'><td colspan='2'>\n<textarea name='text' id='text' cols='50' rows='27' oninput='preview()' ".($frage->aktiv == false?'disabled="disabled"':'')."><![CDATA[".(isset($frage_error_text)?$frage_error_text:$frage->text)."]]></textarea>\n</td>";
echo "<table><tr><td><input type='button' value='br' onclick='insertfrage(\"&lt;br/&gt;\", \"\")' />";
echo "<input type='button' value='F' style='font-weight:bold' onclick='insertfrage(\"&lt;strong&gt;\", \"&lt;/strong&gt;\")' />";
echo "<input type='button' value='K' style='font-style:italic' onclick='insertfrage(\"&lt;i&gt;\", \"&lt;/i&gt;\")' /><br/><br/>";
@@ -838,7 +860,7 @@ if($frage_id!='')
echo "<tr><td>Demo <input type='checkbox' name='demo' ".($frage->demo?'checked="true"':'')." />
Level <input type='text' name='level' value='$frage->level' size='1' />
Nummer <input type='text' name='nummer' value='$frage->nummer' size='1' />
Aktiv <input type='checkbox' name='aktiv' ".($frage->aktiv=='t'?'checked="true"':'')." /></td>
Aktiv <input type='checkbox' name='aktiv' ".($frage->aktiv == true?'checked="true"':'')." /></td>
<td align='right'><input type='submit' value='Speichern' name='submitdata' /></td>";
echo "</tr></table>";
echo "</form>";
@@ -853,6 +875,7 @@ if($frage_id!='')
if ($vorschlag_id != '')
if (!$vorschlag->load($vorschlag_id, $sprache))
die($vorschlag->errormsg);
if ($save_vorschlag_error)
{
$vorschlag->vorschlag_id = (isset($_POST['vorschlag_id'])?$_POST['vorschlag_id']:'');
@@ -877,8 +900,8 @@ if($frage_id!='')
{
$fragef1 = new frage();
$fragef1->getFragen($_GET['gebiet_id'], $_GET['nummer']);
$vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false);
echo "<tr><td>Nummer:</td><td><input type='text' name='nummer' size='3' id='nummer' value='".(count($vorschlag->result)+1)."' />";
$vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false, false);
echo "<tr><td>Nummer:</td><td><input type='text' name='nummer' size='3' id='nummer' value='".(count($vorschlag->result) + 1)."' />"; //@Todo: Count ($vorschlag->result) liefert die naechste Nummer nur dann richtig, falls keine Zahl dazwischen fehlt (1,3,4,..). Hier sollte die letzte Nummer ermittelt werden.
}
else
{
@@ -900,7 +923,7 @@ if($frage_id!='')
echo "<input type='button' value='+1/2' style='background-color:#C5FFBF' onclick='document.getElementById(\"punkte\").value=\"0.5\";' /></td>";
echo '</tr>';
echo '<tr valign="top">';
echo '<td>Text:</td><td><textarea name="text" id="text_vorschlag" rows="25" cols="45" oninput="previewvorschlag()"><![CDATA['.$vorschlag->text."]]></textarea>\n</td>";
echo '<td>Text:</td><td><textarea name="text" id="text_vorschlag" rows="25" cols="45" oninput="previewvorschlag()" '.($vorschlag->aktiv == true || is_null($vorschlag->aktiv)?'':'disabled="disabled"').'><![CDATA['.$vorschlag->text."]]></textarea>\n</td>";
echo "<td><input type='button' value='br' onclick='insertvorschlag(\"&lt;br/&gt;\", \"\")' />";
echo "<input type='button' value='F' style='font-weight:bold' onclick='insertvorschlag(\"&lt;strong&gt;\", \"&lt;/strong&gt;\")' />";
echo "<input type='button' value='K' style='font-style:italic' onclick='insertvorschlag(\"&lt;i&gt;\", \"&lt;/i&gt;\")' /><br/><br/>";
@@ -929,10 +952,14 @@ if($frage_id!='')
//Aktiv Checkbox
echo "<tr><td>Aktiv</td><td><input type='checkbox' name='aktiv' ";
if ($vorschlag->aktiv=='t')
if ($vorschlag->aktiv == true || is_null($vorschlag->aktiv))
{
echo "checked='checked'";
}
elseif ($vorschlag->aktiv == false)
{
echo "";
}
echo "/></td></tr>";
echo "<tr><td colspan='2' align='right'><input type='submit' name='submitvorschlag' value='Speichern' />".($vorschlag_id != ''?"<input type='button' value='Abbrechen' onclick=\"document.location.href='$PHP_SELF?gebiet_id=$gebiet_id&amp;stg_kz=$stg_kz&amp;nummer=$nummer&amp;frage_id=$frage->frage_id'\" />":'')."</td></tr>";
//Vorschau fuer das Text-Feld
@@ -943,8 +970,9 @@ if($frage_id!='')
echo '</td></tr></table>';
$vorschlag = new vorschlag();
$vorschlag->getVorschlag($frage_id, $sprache, false);
$i=0; $allevorschlaege='';
$vorschlag->getVorschlag($frage_id, $sprache, false, false);
$i = 0;
$allevorschlaege = '';
if (count($vorschlag->result) > 0)
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?gebiet_id='.$gebiet_id.'&amp;stg_kz='.$stg_kz.'&amp;nummer='.$nummer.'&amp;frage_id='.$frage->frage_id.'&amp;type=vorschlaegeaktiv&amp;filter='.$filter.'" method="POST">';
@@ -979,7 +1007,7 @@ if($frage_id!='')
<td align='center'><input type='checkbox' name='vorschlagaktiv[]' value='".$vs->vorschlag_id."' ";
$vss = new vorschlag();
$vss->load($vs->vorschlag_id);
if ($vss->aktiv=='t') echo "checked='checked'";
if ($vss->aktiv == true) echo "checked='checked'";
echo "/></td></tr>";
$allevorschlaege .= $vs->vorschlag_id.",";
+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;
+62 -27
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
$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 studiengang_kz, semester, bezeichnung";
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
{
@@ -4092,7 +4096,136 @@ 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;" />
+23 -5
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>
<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'/>
<?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="Anmerkung" control="student-konto-neu-textbox-anmerkung"/>
<textbox id="student-konto-neu-textbox-anmerkung" multiline="true"/>
</row>
</rows>
</grid>
+23 -6
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"/>
<?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>';
?>
<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>
+19
View File
@@ -917,6 +917,7 @@ function StudentAuswahl()
StudentKontoDisableFields(false);
StudentAkteDisableFields(false);
StudentIODisableFields(false);
StudentMobilitaetDisableFields(false);
StudentNoteDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
StudentPruefungDisableFileds(false);
@@ -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" />
+77
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);
@@ -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>
*/
/**
+62 -9
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()";
@@ -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;
+19
View File
@@ -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;
}
}
}
+6 -7
View File
@@ -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");
}
/**
+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);
+84 -16
View File
@@ -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
@@ -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))
@@ -175,7 +177,7 @@ 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('.
gesperrt,aktiv,finanzamt, partner_code) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->lieferbedingungen).', '.
@@ -188,7 +190,8 @@ class firma extends basis_db
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->finanzamt, FHC_INTEGER).' ); ';
$this->db_add_param($this->finanzamt, FHC_INTEGER).','.
$this->db_add_param($this->partner_code).'); ';
}
else
{
@@ -212,7 +215,8 @@ class firma extends basis_db
'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).' '.
'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;
}
@@ -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;
@@ -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;
@@ -1089,6 +1113,7 @@ 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;
}
@@ -1101,5 +1126,48 @@ class firma extends basis_db
}
}
/**
* 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;
}
}
}
?>
+31 -2
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;
}
@@ -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;
}
}
}
?>
+28 -7
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,7 +196,16 @@ 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('.
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).','.
@@ -208,8 +220,11 @@ class gebiet extends basis_db
$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->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);';
}
@@ -232,8 +247,14 @@ class gebiet extends basis_db
' 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).";";
' 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
+92 -3
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!='')
{
@@ -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;
}
}
}
?>
+15 -20
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');
@@ -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))
{
@@ -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);
@@ -1345,7 +1337,6 @@ class lehrveranstaltung extends basis_db
{
return false;
}
}
/**
@@ -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;
}
@@ -2175,7 +2171,6 @@ class lehrveranstaltung extends basis_db
AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';';
if($this->db_query($qry))
{
if($this->db_num_rows() > 0)
+26
View File
@@ -603,6 +603,32 @@ 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;
}
}
}
?>
+81 -18
View File
@@ -98,8 +98,16 @@ class moodle24_course extends basis_db
return false;
}
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))
{
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;
+82 -37
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,6 +221,8 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($retval!==-1)
{
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
@@ -248,6 +249,7 @@ class moodle24_user extends basis_db
}
}
}
}
return true;
}
@@ -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,11 +387,12 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($retval!==-1)
{
if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
//Student ist noch nicht zugeteilt.
$data = new stdClass();
@@ -396,10 +402,11 @@ class moodle24_user extends basis_db
$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->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
if($gruppensync)
@@ -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)
{
@@ -460,12 +477,18 @@ class moodle24_user extends basis_db
}
if(count($groupmembertoadd)>0)
{
try
{
$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);
}
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)
{
@@ -507,10 +530,12 @@ class moodle24_user extends basis_db
foreach($this->gruppenzuordnungen[$groupid] as $id)
{
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->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,6 +881,8 @@ class moodle24_user extends basis_db
$this->errormsg = '';
}
if($retval!==-1)
{
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
@@ -865,6 +909,7 @@ class moodle24_user extends basis_db
}
}
}
}
return true;
}
+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;';
+13 -15
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).";";
@@ -341,17 +345,14 @@ class prestudent extends person
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation) {
if ($this->zgvmas_code && $this->zgvmanation)
{
$this->ausstellungsstaat = $this->zgvmanation;
} elseif ($this->zgv_code && $this->zgvnation) {
$this->ausstellungsstaat = $this->zgvnation;
}
elseif ($this->zgv_code && $this->zgvnation)
{
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
@@ -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;
}
}
+44 -3
View File
@@ -228,16 +228,19 @@ class studiengang extends basis_db
/**
* Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann
*
* @param string $order Default: typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC. Spalten, nach denen Sortiert werden soll.
* @return boolean
*/
public function getAllForBewerbung()
public function getAllForBewerbung($order = 'typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC')
{
$qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung '
. 'FROM lehre.vw_studienplan '
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
. 'WHERE onlinebewerbung IS TRUE '
. 'AND aktiv IS TRUE '
. 'ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
. '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);
+2
View File
@@ -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
(
+4 -6
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))
+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;
+2
View File
@@ -16,6 +16,8 @@ $this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475'; //Berechtig
$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/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>.';
?>
+2
View File
@@ -16,6 +16,8 @@ $this->phrasen['dms_link/berechtigungskonzeptMailverteiler']='1475'; //Berechtig
$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/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';
?>
+8
View File
@@ -90,6 +90,8 @@ 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;
@@ -121,6 +123,8 @@ foreach($uid_arr as $uid)
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>";
@@ -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>";
+11
View File
@@ -48,6 +48,11 @@ if(isset($_GET['firmentyp_kurzbz']))
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);
+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
+2 -1
View File
@@ -371,9 +371,10 @@ 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_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();
?>
+11
View File
@@ -42,6 +42,17 @@ echo '
>
<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();
+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();
?>
+43 -2
View File
@@ -179,6 +179,7 @@ function draw_content_liste($row)
<STUDENT:status_bestaetigung><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'d.m.Y'):'-').']]></STUDENT:status_bestaetigung>
<STUDENT:status_datum_iso><![CDATA['.$datum_obj->formatDatum($prestudent->datum,'Y-m-d').']]></STUDENT:status_datum_iso>
<STUDENT:status_bestaetigung_iso><![CDATA['.($prestudent->bestaetigtam!=''?$datum_obj->formatDatum($prestudent->bestaetigtam,'Y-m-d'):'-').']]></STUDENT:status_bestaetigung_iso>
<STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen>
<STUDENT:anmerkungpre>'.($row->anmerkung==''?'&#xA0;':'<![CDATA['.$row->anmerkung.']]>').'</STUDENT:anmerkungpre>
<STUDENT:studiengang_kz><![CDATA['.$row->studiengang_kz.']]></STUDENT:studiengang_kz>
@@ -197,6 +198,7 @@ function draw_content_liste($row)
<STUDENT:dual_bezeichnung><![CDATA['.($row->dual=='t'?'Ja':'Nein').']]></STUDENT:dual_bezeichnung>
<STUDENT:matr_nr><![CDATA['.$row->matr_nr.']]></STUDENT:matr_nr>
<STUDENT:mentor><![CDATA['.$row->mentor.']]></STUDENT:mentor>
<STUDENT:gsstudientyp_kurzbz><![CDATA['.($row->gsstudientyp_kurzbz).']]></STUDENT:gsstudientyp_kurzbz>
<STUDENT:aktiv><![CDATA['.((isset($row->bnaktiv) && $row->bnaktiv=='t')?'true':'false').']]></STUDENT:aktiv>
</RDF:Description>
</RDF:li>';
@@ -349,6 +351,7 @@ function draw_prestudent($row)
<STUDENT:dual_bezeichnung><![CDATA['.($row->dual?'Ja':'Nein').']]></STUDENT:dual_bezeichnung>
<STUDENT:anmerkungpre><![CDATA['.$row->anmerkung.']]></STUDENT:anmerkungpre>
<STUDENT:mentor><![CDATA['.$row->mentor.']]></STUDENT:mentor>
<STUDENT:gsstudientyp_kurzbz><![CDATA['.$row->gsstudientyp_kurzbz.']]></STUDENT:gsstudientyp_kurzbz>
</RDF:Description>
</RDF:li>';
}
@@ -470,7 +473,7 @@ if($xmlformat=='rdf')
(SELECT rt_punkte1 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte1,
(SELECT rt_punkte2 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte2,
(SELECT rt_punkte3 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte3,
tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr
tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr, tbl_prestudent.gsstudientyp_kurzbz
FROM public.tbl_student
JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_person p USING (person_id) JOIN public.tbl_prestudent USING(prestudent_id) ";
if($gruppe_kurzbz!=null)
@@ -541,6 +544,44 @@ if($xmlformat=='rdf')
}
}
}
elseif($typ=='gemeinsamestudien')
{
if($studiensemester_kurzbz=='')
$studiensemester_kurzbz=$semester_aktuell;
$qry = "SELECT prestudent_id
FROM
bis.tbl_mobilitaet
WHERE
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$student=new student();
if($uid = $student->getUid($row->prestudent_id))
{
//Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann
//nochmal laden aber ohne studiensemester
if(!$student->load($uid, $studiensemester_kurzbz))
$student->load($uid);
}
$prestd = new prestudent();
$prestd->load($row->prestudent_id);
if($uid!='')
{
draw_content($student);
draw_prestudent($prestd);
}
else
{
draw_content($prestd);
draw_prestudent($prestd);
}
}
}
}
elseif(in_array($typ, array('prestudent', 'interessenten','bewerber','aufgenommen',
'warteliste','absage','zgv','reihungstestangemeldet',
'reihungstestnichtangemeldet','absolvent','diplomand','bewerbungnichtabgeschickt','bewerbungabgeschickt','statusbestaetigt')))
@@ -768,7 +809,7 @@ else
}
}
if($studienplan_id!='')
if(isset($studienplan_id) && $studienplan_id!='')
{
$stpl = new studienplan();
$stpl->loadStudienplan($studienplan_id);

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