This commit is contained in:
kindlm
2017-02-24 17:25:29 +01:00
44 changed files with 1908 additions and 874 deletions
+9 -2
View File
@@ -1,5 +1,12 @@
# Change Log
## [Unreleased]
### Added
- **[FAS]** Verwaltung von Rechnungsadressen
- **[CIS]** Mitarbeiter und Studierende können nach dem Login im CIS zur Passwortänderung umgeleitet werden wenn dieses seit über einem Jahr nicht geändert wurde
- **[FAS]** Bei Statuswechsel von Studierenden können Gründe für den Statuswechsel angegeben werden
## [3.2]
### Added
@@ -26,7 +33,7 @@
- **[FAS]** Es ist möglich bei Statusänderungen im FAS automatisierte Nachrichten an die Studierenden zu senden
- **[FAS]** Bewerberakt - Erstellung eines Akts mit allen hochgeladenen Dokumenten einer Person
- **[FAS]** Bewerbungsfristen für einzelen Studienpläne
- **[FAS]** Beim Statuswechsel kann ein Statusgrund hinterlegt werden.
- **[FAS]** Beim Statuswechsel kann ein Statusgrund hinterlegt werden.
- **[FAS]** Es kann pro Studiengang hinterlegt werden ob ein Dokument nachreichbar ist oder nicht
- **[FAS]** Arbeitsplätze bei Räumen (zB für EDV Säle mit 50 Plätzen aber nur 25 PCs)
- **[FAS]** Zuteilung von Prestudenten zu Aufnahmegruppen
@@ -56,7 +63,7 @@
- **[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
- **[CORE]** Kommune wurde aus Core entfernt
- **[DEPRECATED]]** WaWi wurde in ein Addon (FHC-ADDON-WAWI) ausgelagert. Die Funktionalität im Core wird demnächst entfernt.
- **[DEPRECATED]]** WaWi wurde in ein Addon (FHC-ADDON-WAWI) ausgelagert. Die Funktionalität im Core wird demnächst entfernt.
- **[DEPRECATED]]** LV-Informationen (FHC-ADDON-LVINFO) wurde in ein Addon ausgelagert. Die Funktionalität im Core wird demnächst entfernt
- **[DEPRECATED]]** Punkte1, Punkte2 und Punkte3 in tbl_prestudent werden nicht mehr verwendet und in zukünftigen Versionen entfernt. Diese werden jetzt in tbl_rt_person gespeichert
- **[DEPRECATED]]** anmeldungreihungstest in tbl_prestudent wird nicht mehr verwendet und in zukünftigen Versionen entfernt
+23
View File
@@ -429,6 +429,29 @@ class DB_Model extends FHC_Model
return success(true);
}
/** ---------------------------------------------------------------
* Add a table in the from clause
*
* @return void
*/
public function addFrom($table, $alias = null)
{
$tmpTable = trim($table);
// Check parameters
if (empty($tmpTable))
return error(FHC_MODEL_ERROR, FHC_MODEL_ERROR);
if (!empty($alias))
{
$tmpTable .= ' AS ' . $alias;
}
$this->db->from($tmpTable);
return success(true);
}
/** ---------------------------------------------------------------
* Reset the query builder state
*
@@ -244,14 +244,15 @@ class Studiengang_model extends DB_Model
if (($isEntitled = $this->isEntitled('public.tbl_prestudent', PermissionLib::SELECT_RIGHT, FHC_NORIGHT, FHC_MODEL_ERROR)) !== true)
return $isEntitled;
$this->addFrom(
'(SELECT * FROM public.tbl_reihungstest LEFT JOIN public.tbl_rt_studienplan USING(reihungstest_id))',
'tbl_reihungstest'
);
$this->addJoin('lehre.tbl_studienordnung', 'studiengang_kz');
$this->addJoin('lehre.tbl_studienplan', 'studienordnung_id');
$this->addJoin('public.tbl_rt_studienplan', 'studienplan_id');
$this->addJoin('public.tbl_reihungstest', 'reihungstest_id');
$this->addJoin('public.tbl_prestudentstatus', 'studienplan_id');
$this->addJoin('public.tbl_prestudent', 'prestudent_id');
@@ -263,6 +264,8 @@ class Studiengang_model extends DB_Model
array('tbl_reihungstest'),
'tbl_prestudentstatus.status_kurzbz = \'Interessent\'
AND (tbl_prestudentstatus.rt_stufe = tbl_reihungstest.stufe OR tbl_reihungstest.stufe IS NULL)
AND (tbl_prestudent.aufnahmegruppe_kurzbz = tbl_reihungstest.aufnahmegruppe_kurzbz OR tbl_reihungstest.aufnahmegruppe_kurzbz IS NULL)
AND (tbl_prestudentstatus.studienplan_id = tbl_reihungstest.studienplan_id OR tbl_reihungstest.studienplan_id IS NULL)
AND tbl_reihungstest.oeffentlich = TRUE
AND tbl_reihungstest.datum > NOW()
AND tbl_reihungstest.anmeldefrist >= NOW()
+53 -14
View File
@@ -22,12 +22,48 @@
*
*/
require_once('../config/cis.config.inc.php');
require_once('../config/global.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/sprache.class.php');
require_once('../include/phrasen.class.php');
require_once('../include/mail.class.php');
require_once('../include/student.class.php');
$redirectPasswordChange=false;
if(defined('CIS_CHECK_PASSWORD_CHANGE') && CIS_CHECK_PASSWORD_CHANGE==true)
{
require_once('../addons/ldap/vilesci/ldap.class.php');
$user = get_uid();
$password = $_SERVER['PHP_AUTH_PW'];
$ldap = new ldap();
$ldap->connect();
$userdn = $ldap->GetUserDN($user);
$ldap = new ldap();
if($ldap->connect(LDAP_SERVER, LDAP_PORT, $userdn, $password))
{
$lastchange = $ldap->getEntry($user,'shadowLastChange');
if(isset($lastchange[0])
&& isset($lastchange[0]['shadowlastchange'])
&& isset($lastchange[0]['shadowlastchange'][0]))
{
$shadowlastchange = $lastchange[0]['shadowlastchange'][0];
}
else
$shadowlastchange = 0;
// get unix timestamp 1 year ago
$dt = new DateTime();
$dt1year = $dt->sub(new DateInterval('P12M'));
$ux1year = $dt1year->format('U');
if($shadowlastchange <= $ux1year)
$redirectPasswordChange = true;
else
$redirectPasswordChange = false;
}
else
die('Bind Failed'.$ldap->errormsg);
}
/**
* Prueft die URL damit keine boesen URLS uebergeben werden koennen
* @param $param
@@ -46,9 +82,9 @@ function validURLCheck($param)
$text.="\nFolgende URL wurde versucht aufzurufen: \n".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$text.="\n\nIP des Aufrufers: ".$_SERVER['REMOTE_ADDR'];
$text.="\n\nUserAgent: ".$_SERVER['HTTP_USER_AGENT'];
$text.="\n\nAuffälliger Value: $param";
$mail = new mail(MAIL_ADMIN, 'no-reply@'.DOMAIN, 'Versuchte XSS Attacke', $text);
$mail->send();
die('Invalid URL detected');
@@ -74,7 +110,7 @@ if(isset($_GET['content_id']))
}
else
$id = '';
if(isset($_GET['menu']))
{
$menu = $_GET['menu'];
@@ -82,7 +118,7 @@ if(isset($_GET['menu']))
}
else
$menu = 'menu.php?content_id='.$id;
$user = get_uid();
$student = new student();
if($student->load($user))
@@ -113,14 +149,17 @@ else
else
$content = '../cms/news.php?studiengang_kz='.$studiengang_kz.'&semester='.$semester.'';
}
if($redirectPasswordChange)
$content = '../cis/private/profile/change_password.php?requiredtochange=true';
$sprache = getSprache();
$p = new phrasen($sprache);
$db = new basis_db();
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>CIS - <?php echo CAMPUS_NAME; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../skin/jquery.css" type="text/css">
@@ -137,7 +176,7 @@ function changeSprache(sprache)
content = document.getElementById('content').contentWindow.location.href;
menu = escape(menu);
content = escape(content);
window.location.href="index.php?sprache="+sprache+"&content_id=<?php echo $db->convert_html_chars($id);?>&menu="+menu+"&content="+content;
}
function gettimestamp()
@@ -163,20 +202,20 @@ function loadampel()
<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>
<!--<img class="header" src="<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/header.png'; ?>" alt="header">-->
<!--<img class="header" src="<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/header.png'; ?>" alt="header">-->
<table class="header_content" cellpadding="0">
<tr>
<td width="20%" align="center">&nbsp;
</td>
<td valign="middle" align="center">
<form name="searchform" action="private/tools/suche.php" method="GET" target="content" style="display:inline">
<form name="searchform" action="private/tools/suche.php" method="GET" target="content" style="display:inline">
<input id="globalsearch" type="search" size="55" name="search" placeholder=" <?php echo $p->t('menu/suchePersonOrtDokumentInhalt');?> ..." title="<?php echo $p->t('menu/suchePersonOrtDokumentInhaltLang');?>"/>
<img src="../skin/images/search.png" onclick="document.searchform.submit()" class="suchicon"/>
</form>
</td>
<td align="right" valign="top" style="width: 20%; padding-right: 10px; padding-top: 10px;">
<nobr><span style="vertical-align:top;" id="ampel"></span><a href="private/lvplan/stpl_week.php?pers_uid=<?php echo $user; ?>" target="_blank"><?php echo $p->t('lvplan/lvPlan'); ?></a>&nbsp;&nbsp;<span style="color: #A5AFB6">|</span>
<?php
<?php
$sprache = new sprache();
$sprache->getAll(true);
foreach($sprache->result as $row)
@@ -187,12 +226,12 @@ function loadampel()
</td>
</tr>
</table>
</td>
</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>
@@ -231,8 +270,8 @@ function loadampel()
<td><img src="../skin/images/aufklappen.png" /></td>
</td>
</tr>
</table>
</table>
</div>
</div>
</div>-->';*/
+42 -60
View File
@@ -39,12 +39,12 @@ $berechtigung->getBerechtigungen($user);
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
$lvid = $_GET['lvid'];
else
else
die('Eine gueltige LvID muss uebergeben werden');
if(isset($_GET['stsem']))
$studiensemester = $_GET['stsem'];
else
else
die('Eine Studiensemester muss uebergeben werden');
if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
@@ -56,7 +56,6 @@ if(isset($_GET['output']) && ($output='odt' || $output='doc'))
$output=$_GET['output'];
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL;
$lv = new lehrveranstaltung();
@@ -65,17 +64,17 @@ $lv->load($lvid);
$doc = new dokument_export('Anwesenheitslist');
// Teilnehmende Gruppen laden
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
semester,
verband,
gruppe,
gruppe_kurzbz
FROM campus.vw_lehreinheit
WHERE lehrveranstaltung_id='".addslashes($lvid)."'
AND studiensemester_kurzbz='".addslashes($studiensemester)."'";
$qry = "SELECT DISTINCT ON(kuerzel, semester, verband, gruppe, gruppe_kurzbz)
UPPER(stg_typ::varchar(1) || stg_kurzbz) as kuerzel,
semester,
verband,
gruppe,
gruppe_kurzbz
FROM campus.vw_lehreinheit
WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester);
if($lehreinheit!='')
$qry.=" AND lehreinheit_id='".addslashes($lehreinheit)."'";
$qry.=" AND lehreinheit_id=".$db->db_add_param($lehreinheit, FHC_INTEGER);
$gruppen_string = '';
if($result = $db->db_query($qry))
@@ -115,36 +114,39 @@ $data = array(
//Lehrende der LV laden und in ein Array schreiben
$lehrende = new lehreinheitmitarbeiter();
$lehrende->getMitarbeiterLV($lvid, $studiensemester, $lehreinheit);
$arr_lehrende = array();
if (isset($lehrende->result))
{
foreach($lehrende->result AS $row)
{
$data[]=array('lehrende'=>array('uid'=>$row->uid,'name'=>$row->vorname.' '.$row->nachname));
$arr_lehrende[]=mb_strtoupper($row->uid);
}
}
//Studierende der LV laden und in ein Array schreiben
$qry = "SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
$qry = 'SELECT
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe,
(SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status,
tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student,
tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
FROM
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($studiensemester)."'";
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='.$db->db_add_param($lvid, FHC_INTEGER).' AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='.$db->db_add_param($studiensemester);
if($lehreinheit!='')
$qry.=" AND vw_student_lehrveranstaltung.lehreinheit_id='".addslashes($lehreinheit)."'";
$qry.=' AND vw_student_lehrveranstaltung.lehreinheit_id='.$db->db_add_param($lehreinheit, FHC_INTEGER);
$qry.=' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
$stsem_obj = new studiensemester();
@@ -161,30 +163,30 @@ $datum = new datum();
$zusatz = '';
if($result = $db->db_query($qry))
{
{
while($row = $db->db_fetch_object($result))
{
if($row->status!='Abbrecher' && $row->status!='Unterbrecher')
{
$anzahl_studierende++;
if($row->status=='Incoming') //Incoming
$zusatz='(i)';
else
else
$zusatz='';
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
if($row->note==6) //angerechnet
$zusatz.='(ar)';
if($row->mitarbeiter_uid!='') //mitarbeiter
$zusatz.='(ma)';
if($row->stg_kz_student==$a_o_kz) //Außerordentliche Studierende
$zusatz.='(a.o.)';
$data[]=array('student'=>array(
'vorname'=>$row->vorname,
'nachname'=>$row->nachname,
@@ -202,38 +204,18 @@ if($result = $db->db_query($qry))
$data['anzahl_studierende'] = $anzahl_studierende;
$data = array_reverse($data, true);
}
//var_dump($data);
//$files=array();
/*
foreach($codes_obj->result as $code)
{
$filename='/tmp/fhc_lveval_code'.$code->lvevaluierung_code_id.'.png';
$files[]=$filename;
// QRCode ertellen und speichern
QRcode::png($url_detail.'?code='.$code->code, $filename);
// QRCode zu Dokument hinzufuegen
$doc->addImage($filename, $code->lvevaluierung_code_id.'.png', 'image/png');
$data[]=array('code'=>array('lvevaluierung_code_id'=>$code->lvevaluierung_code_id,'code'=>$code->code));
}*/
$doc->addDataArray($data,'anwesenheitsliste');
if($lehreinheit!='')
{
$lehrende = '_'.implode('_',array_unique($arr_lehrende));
}
else
$lehrende = '';
//header("Content-type: application/xhtml+xml");
//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste');
//exit;
$doc->setFilename('Anwesenheitsliste_'.$studiensemester.'_'.$stg->kuerzel.'_'.$lv->semester.'_'.$lv->kurzbz.$lehrende);
if(!$doc->create($output))
die($doc->errormsg);
$doc->output();
$doc->close();
/*
// QR Codes aus Temp Ordner entfernen
foreach($files as $file)
unlink($file);
*/
?>
@@ -127,6 +127,8 @@ switch($method)
$data = getPrestudenten($uid, $aktStudiensemester);
break;
default:
$data['error']='true';
$data['errormsg']="unknown method: ".$method;
break;
}
+11 -8
View File
@@ -1,22 +1,22 @@
<?php
/*
* Copyright 2013 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: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
* Alexander Nimmervoll <alexander.nimmervoll@technikum-wien.at>
@@ -52,12 +52,15 @@ echo '<h1>'.$p->t('passwort/PasswortAenderFuer',array($db->convert_html_chars($b
if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off'))
{
$httpspath = str_replace('http://','https://',APP_ROOT).'cis/private/profile/change_password.php';
echo '<div style="border: 2px solid red; text-align:center">'.$p->t('passwort/NoHttps').'<br>
<a href="'.$httpspath.'">'.$p->t('passwort/ZuHttpsWechseln').'</a></div><br>';
}
if(isset($_GET['requiredtochange']))
{
echo '<span class="error">'.$p->t('passwort/RequiredToChangeInfo').'</span><br><br>';
}
echo $p->t('passwort/InfotextPolicy').'
<br>
<br>
@@ -84,7 +87,7 @@ echo $p->t('passwort/InfotextPolicy').'
if(isset($_POST['change']))
{
if(!isset($_POST['passwort_alt'])
if(!isset($_POST['passwort_alt'])
|| !isset($_POST['passwort_neu'])
|| !isset($_POST['passwort_neu_check']))
{
@@ -99,7 +102,7 @@ if(isset($_POST['change']))
if($passwort_neu==$passwort_neu_check)
{
// Passwort Policy pruefen
if(($errormsg = check_policy($passwort_neu, $p))===true)
if(($errormsg = check_policy($passwort_neu, $p, $passwort_alt))===true)
{
// Passwort aendern
if(($msg = change_password($passwort_alt, $passwort_neu, $uid))===true)
+12 -12
View File
@@ -133,7 +133,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'save')
isset($_POST['reihung']) && $_POST['reihung'] != '' &&
isset($_POST['gewicht']) && $_POST['gewicht'] != '' &&
isset($_POST['semester']) && $_POST['semester'] != '' &&
isset($_POST['studienplan']) && $_POST['studienplan'] != '')
isset($_POST['studienplan']))
{
$ablauf = new ablauf();
$ablauf->studiengang_kz = $_POST['stg_kz'];
@@ -179,10 +179,10 @@ if (isset($_GET['action']) && $_GET['action'] == 'edit')
$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>
@@ -215,7 +215,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'editsave')
$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;
}
@@ -263,7 +263,7 @@ if ($stg_kz != -1)
<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)
@@ -347,7 +347,7 @@ if (isset($_POST['speichern']))
$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'];
@@ -421,22 +421,22 @@ function drawStudienplanDropdown($stg_kz, $db, $name = '', $autosubmitform = nul
$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
@@ -460,9 +460,9 @@ function drawStudienplanDropdown($stg_kz, $db, $name = '', $autosubmitform = nul
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)
+19 -12
View File
@@ -37,7 +37,7 @@ if (!$db = new basis_db())
$PHP_SELF = $_SERVER['PHP_SELF'];
session_cache_limiter('none');
//session_start();
session_start();
$user = get_uid();
$rechte = new benutzerberechtigung();
@@ -168,10 +168,10 @@ font-size: 10pt;
<h1>
<div style="float:left">Testtool - Administrationsseite</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="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>
@@ -295,6 +295,8 @@ if (isset($_POST['submitdata']))
{
$frage->new = false;
}
else
$frage->new = true;
if (isset($_POST['text']))
$frage->text = $_POST['text'];
@@ -563,7 +565,7 @@ if (isset($_GET['type']) && $_GET['type'] == 'vorschlaegeaktiv')
$checkedVorschlaege = $_POST['vorschlagaktiv'];
$allevorschlaege = array();
$allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ","));
foreach ($allevorschlaege as $vorschlag)
{
$vs->load($vorschlag, $sprache);
@@ -583,7 +585,7 @@ if (isset($_GET['type']) && $_GET['type'] == 'vorschlaegeaktiv')
{
$allevorschlaege = array();
$allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ","));
foreach ($allevorschlaege as $vorschlag)
{
$vs->load($vorschlag, $sprache);
@@ -697,7 +699,7 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== ''))
{
$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>
<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>';
}
@@ -720,7 +722,7 @@ if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== ''))
{
if ($nummer == '')
$nummer = $row->nummer;
$style = '';
if ($db->db_parse_bool($row->aktiv) == false)
$style = 'style="color: lightgrey"';
@@ -901,8 +903,13 @@ if ($frage_id != '')
{
$fragef1 = new frage();
$fragef1->getFragen($_GET['gebiet_id'], $_GET['nummer']);
$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.
if(isset($fragef1->result[0]))
{
$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
echo "<tr><td>Nummer:</td><td><input type='text' name='nummer' size='3' id='nummer' />";
}
else
{
@@ -1009,7 +1016,7 @@ if ($frage_id != '')
$vss = new vorschlag();
$vss->load($vs->vorschlag_id);
if ($vss->aktiv == true) echo "checked='checked'";
echo "/></td></tr>";
$allevorschlaege .= $vs->vorschlag_id.",";
}
+4
View File
@@ -47,6 +47,10 @@ define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
// Anzeige des LV-Plan Links bei globaler Suche
define('CIS_SUCHE_LVPLAN_ANZEIGEN',true);
// Soll geprueft werden ob das Passwort innerhalb des letzten Jahres geaendert wurde true|false
// Wenn dies nicht geaendert wurde wird nach dem Login auf die Passwort aendern Seite umgeleitet
define('CIS_CHECK_PASSWORD_CHANGE',false);
// Link zu den Excel Notenlisten im CIS Anzeigen
define('CIS_ANWESENHEITSLISTE_NOTENLISTE_ANZEIGEN',true);
+27 -18
View File
@@ -33,23 +33,23 @@ loadVariables($user);
function AdresseInit(adresse_id, person_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(adresse_id!='')
{
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/adresse.rdf.php?adresse_id='+adresse_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/adresse/" + adresse_id);
var predicateNS = "http://www.technikum-wien.at/adresse/rdf";
//RDF parsen
person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
strasse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#strasse" ));
@@ -61,6 +61,8 @@ function AdresseInit(adresse_id, person_id)
heimatadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#heimatadresse" ));
zustelladresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zustelladresse" ));
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
rechnungsadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rechnungsadresse" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
neu = false;
}
else
@@ -77,8 +79,10 @@ function AdresseInit(adresse_id, person_id)
heimatadresse='Ja';
zustelladresse='Ja';
firma_id='';
}
rechnungsadresse='Nein';
anmerkung='';
}
document.getElementById('adresse-checkbox-neu').checked=neu;
document.getElementById('adresse-textbox-person_id').value=person_id;
document.getElementById('adresse-textbox-adresse_id').value=adresse_id;
@@ -95,12 +99,17 @@ function AdresseInit(adresse_id, person_id)
document.getElementById('adresse-checkbox-heimatadresse').checked=true;
else
document.getElementById('adresse-checkbox-heimatadresse').checked=false;
if(zustelladresse=='Ja')
document.getElementById('adresse-checkbox-zustelladresse').checked=true;
else
document.getElementById('adresse-checkbox-zustelladresse').checked=false;
document.getElementById('adresse-menulist-firma').value=firma_id;
document.getElementById('adresse-textbox-anmerkung').value=anmerkung;
if(rechnungsadresse=='Ja')
document.getElementById('adresse-checkbox-rechnungsadresse').checked=true;
else
document.getElementById('adresse-checkbox-rechnungsadresse').checked=false;
}
// ****
@@ -120,7 +129,7 @@ function AdresseSpeichern()
function AdresseLoadGemeinde(blocking)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
menulist_gemeinde = document.getElementById('adresse-textbox-gemeinde');
if(document.getElementById('adresse-menulist-nation').value=='A')
{
@@ -128,11 +137,11 @@ function AdresseLoadGemeinde(blocking)
document.getElementById('adresse-textbox-ort').value='';
}
plz = document.getElementById('adresse-textbox-plz').value;
if(plz.length>3)
{
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&'+gettimestamp();
var oldDatasources = menulist_gemeinde.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
@@ -149,7 +158,7 @@ function AdresseLoadGemeinde(blocking)
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist_gemeinde.database.AddDataSource(datasource);
menulist_gemeinde.builder.rebuild();
}
}
@@ -168,11 +177,11 @@ function AdresseLoadOrtschaft(blocking)
menulist_ort.value='';
}
plz = document.getElementById('adresse-textbox-plz').value;
if(plz.length>3 && gemeinde!='')
{
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&gemeinde='+encodeURIComponent(gemeinde)+'&'+gettimestamp();
var oldDatasources = menulist_ort.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
@@ -180,7 +189,7 @@ function AdresseLoadOrtschaft(blocking)
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist_ort.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(blocking)
var datasource1 = rdfService.GetDataSourceBlocking(url);
@@ -189,7 +198,7 @@ function AdresseLoadOrtschaft(blocking)
datasource1.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource1.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist_ort.database.AddDataSource(datasource1);
menulist_ort.builder.rebuild();
}
}
+25 -16
View File
@@ -31,15 +31,15 @@ echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
if(isset($_GET['adresse_id']) && is_numeric($_GET['adresse_id']))
$adresse_id=$_GET['adresse_id'];
else
else
$adresse_id='';
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
$person_id=$_GET['person_id'];
else
else
$person_id='';
?>
@@ -69,12 +69,13 @@ else
<rows>
<row>
<label value="Typ" control="adresse-menulist-typ"/>
<menulist id="adresse-menulist-typ"
<menulist id="adresse-menulist-typ"
flex="1">
<menupopup>
<menuitem value="h" label="Hauptwohnsitz"/>
<menuitem value="n" label="Nebenwohnsitz"/>
<menuitem value="f" label="Firma"/>
<menuitem value="r" label="Rechnungsadresse"/>
</menupopup>
</menulist>
</row>
@@ -82,12 +83,12 @@ else
<label value="Strasse" control="adresse-textbox-strasse"/>
<hbox>
<textbox id="adresse-textbox-strasse" maxlength="256" size="30"/>
<spacer flex="1" />
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Nation" control="adresse-menulist-nation"/>
<menulist id="adresse-menulist-nation"
<menulist id="adresse-menulist-nation"
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
ref="http://www.technikum-wien.at/nation/liste" >
<template>
@@ -108,14 +109,14 @@ else
</row>
<row>
<label value="Gemeinde" />
<!--<hbox>
<!--<hbox>
<textbox id="adresse-textbox-gemeinde" maxlength="256" size="30" />
<spacer flex="1" />
<spacer flex="1" />
</hbox>-->
<menulist id="adresse-textbox-gemeinde"
editable="true"
editable="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/gemeinde/liste"
ref="http://www.technikum-wien.at/gemeinde/liste"
oncommand="AdresseLoadOrtschaft(false)"
>
<template>
@@ -131,12 +132,12 @@ else
<label value="Ortschaft" control="adresse-textbox-ort"/>
<!--<hbox>
<textbox id="adresse-textbox-ort" maxlength="256" size="30"/>
<spacer flex="1" />
<spacer flex="1" />
</hbox>-->
<menulist id="adresse-textbox-ort"
editable="true"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/gemeinde/liste"
ref="http://www.technikum-wien.at/gemeinde/liste"
>
<template>
<menupopup>
@@ -155,10 +156,14 @@ else
<label value="Zustelladresse" control="adresse-checkbox-zustelladresse"/>
<checkbox id="adresse-checkbox-zustelladresse" checked="true"/>
</row>
<row>
<label value="Rechnungsadresse" control="adresse-checkbox-rechnungsadresse"/>
<checkbox id="adresse-checkbox-rechnungsadresse" checked="true"/>
</row>
<row>
<label value="Firma" control="adresse-menulist-firma"/>
<!--
<menulist id="adresse-menulist-firma"
<menulist id="adresse-menulist-firma"
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/firma/liste" >
<template>
@@ -173,12 +178,16 @@ else
<box class="Firma" id="adresse-menulist-firma" />
</row>
<row>
<label value="Anmerkung" control="adresse-textbox-name"/>
<label value="Name" control="adresse-textbox-name"/>
<hbox>
<textbox id="adresse-textbox-name" maxlength="256" size="30"/>
<spacer flex="1" />
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Anmerkung" control="adresse-textbox-anmerkung"/>
<textbox id="adresse-textbox-anmerkung" multiline="true"/>
</row>
</rows>
</grid>
<hbox>
+2
View File
@@ -107,6 +107,8 @@ if(!$error)
$adresse->firma_id = $_POST['firma_id'];
$adresse->updateamum = date('Y-m-d H:i:s');
$adresse->updatevon = $user;
$adresse->rechnungsadresse = ($_POST['rechnungsadresse']=='true'?true:false);
$adresse->anmerkung = $_POST['anmerkung'];
//Wenn die Nation Oesterreich ist, dann muss die Gemeinde in der Tabelle Gemeinde vorkommen
if($_POST['nation']=='A')
+25 -8
View File
@@ -1787,20 +1787,21 @@ function PrintStudienblatt(event)
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
var statusstsemfound=false;
try
{
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
statusstsemfound=true;
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
}
catch(e)
{
@@ -1808,6 +1809,12 @@ function PrintStudienblatt(event)
if (check == false)
return false;
}
if(!statusstsemfound)
{
check = confirm('Achtung: Die Person hat im '+ss+' keinen Status\nDas Studienblatt ist moeglicherweise unvollstaendig.\nMoechten Sie es dennoch erstellen?');
if (check == false)
return false;
}
if(studienplan_id=='')
{
@@ -1887,14 +1894,17 @@ function PrintStudienblattEnglisch(event)
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
var statusstsemfound = false;
try
{
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
statusstsemfound=true;
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
@@ -1908,6 +1918,13 @@ function PrintStudienblattEnglisch(event)
return false;
}
if(!statusstsemfound)
{
check = confirm('Achtung: Die Person hat im '+ss+' keinen Status\nDas Studienblatt ist moeglicherweise unvollstaendig.\nMoechten Sie es dennoch erstellen?');
if (check == false)
return false;
}
if(studienplan_id=='')
{
check = confirm('Achtung: Beim letzten (aktuellen) PreStudent-Status ist KEIN STUDIENPLAN eingetragen.\nDas Studienblatt ist moeglicherweise unvollstaendig.\nMoechten Sie es dennoch erstellen?');
+80 -76
View File
@@ -147,13 +147,13 @@ var KontaktBankverbindungTreeListener =
function loadKontakte(person_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
KontaktPerson_id=person_id;
//Adressen laden
url = "<?php echo APP_ROOT; ?>rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
url = "<?php echo APP_ROOT; ?>rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeAdressen=document.getElementById('kontakt-adressen-tree');
try
{
AdressenTreeDatasource.removeXMLSinkObserver(KontaktAdressenTreeSinkObserver);
@@ -161,14 +161,14 @@ function loadKontakte(person_id)
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeAdressen.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeAdressen.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
AdressenTreeDatasource = rdfService.GetDataSource(url);
AdressenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -176,11 +176,11 @@ function loadKontakte(person_id)
treeAdressen.database.AddDataSource(AdressenTreeDatasource);
AdressenTreeDatasource.addXMLSinkObserver(KontaktAdressenTreeSinkObserver);
treeAdressen.builder.addListener(KontaktAdressenTreeListener);
//Kontakte laden
url = "<?php echo APP_ROOT; ?>rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
url = "<?php echo APP_ROOT; ?>rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeKontakt=document.getElementById('kontakt-kontakt-tree');
try
{
KontaktTreeDatasource.removeXMLSinkObserver(KontaktKontaktTreeSinkObserver);
@@ -188,14 +188,14 @@ function loadKontakte(person_id)
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeKontakt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeKontakt.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
KontaktTreeDatasource = rdfService.GetDataSource(url);
KontaktTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -203,9 +203,9 @@ function loadKontakte(person_id)
treeKontakt.database.AddDataSource(KontaktTreeDatasource);
KontaktTreeDatasource.addXMLSinkObserver(KontaktKontaktTreeSinkObserver);
treeKontakt.builder.addListener(KontaktKontaktTreeListener);
//Bankverbindungen laden
url = "<?php echo APP_ROOT; ?>rdf/bankverbindung.rdf.php?person_id="+person_id+"&"+gettimestamp();
url = "<?php echo APP_ROOT; ?>rdf/bankverbindung.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeBankverbindung=document.getElementById('kontakt-bankverbindung-tree');
if(treeBankverbindung != null)
{
@@ -247,13 +247,13 @@ function KontaktAdressenTreeSelectID()
//In der globalen Variable ist die zu selektierende Adresse gespeichert
if(KontaktAdresseSelectID!=null)
{
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["kontakt-adressen-treecol-adresse_id"] : "kontakt_adressen-treecol-adresse_id";
id=tree.view.getCellText(i,col);
if(id == KontaktAdresseSelectID)
{
//Zeile markieren
@@ -264,7 +264,7 @@ function KontaktAdressenTreeSelectID()
}
}
KontaktAdresseSelectID=null;
}
}
}
// ****
@@ -285,16 +285,18 @@ function KontaktAdresseSpeichern(dialog)
heimatadresse = dialog.getElementById('adresse-checkbox-heimatadresse').checked;
zustelladresse = dialog.getElementById('adresse-checkbox-zustelladresse').checked;
firma_id = dialog.getElementById('adresse-menulist-firma').value;
rechnungsadresse = dialog.getElementById('adresse-checkbox-rechnungsadresse').checked;
anmerkung = dialog.getElementById('adresse-textbox-anmerkung').value;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'adressesave');
req.add('neu', neu);
@@ -311,11 +313,13 @@ function KontaktAdresseSpeichern(dialog)
req.add('zustelladresse', zustelladresse);
req.add('firma_id', firma_id);
req.add('studiengang_kz', studiengang_kz);
req.add('rechnungsadresse', rechnungsadresse);
req.add('anmerkung', anmerkung);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -338,7 +342,7 @@ function KontaktAdresseSpeichern(dialog)
// ****
function KontaktAdresseNeu()
{
window.open("<?php echo APP_ROOT; ?>content/adressedialog.xul.php?person_id="+KontaktPerson_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/adressedialog.xul.php?person_id="+KontaktPerson_id,"","chrome, status=no, width=500, height=450, centerscreen, resizable");
}
// ****
@@ -347,14 +351,14 @@ function KontaktAdresseNeu()
function KontaktAdresseBearbeiten()
{
tree = document.getElementById('kontakt-adressen-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-adressen-treecol-adresse_id"] : "kontakt-adressen-treecol-adresse_id";
var adresse_id=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/adressedialog.xul.php?adresse_id="+adresse_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/adressedialog.xul.php?adresse_id="+adresse_id,"","chrome, status=no, width=500, height=450, centerscreen, resizable");
}
// ****
@@ -363,16 +367,16 @@ function KontaktAdresseBearbeiten()
function KontaktAdresseDelete()
{
tree = document.getElementById('kontakt-adressen-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-adressen-treecol-adresse_id"] : "kontakt-adressen-treecol-adresse_id";
var adresse_id=tree.view.getCellText(tree.currentIndex,col);
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
@@ -380,16 +384,16 @@ function KontaktAdresseDelete()
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'adressedelete');
req.add('adresse_id', adresse_id);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -409,7 +413,7 @@ function KontaktAdresseDelete()
// ****
// * Beim Sortieren des Trees wird der markierte Eintrag gespeichert und nach dem sortieren
// * wieder markiert.
// * wieder markiert.
// ****
function KontaktAdresseTreeSort()
{
@@ -438,13 +442,13 @@ function KontaktKontaktTreeSelectID()
//In der globalen Variable ist die zu selektierende Bankverbindung gespeichert
if(KontaktKontaktSelectID!=null)
{
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["kontakt-kontakt-treecol-kontakt_id"] : "kontakt_kontakt-treecol-kontakt_id";
id=tree.view.getCellText(i,col);
if(id == KontaktKontaktSelectID)
{
//Zeile markieren
@@ -470,19 +474,19 @@ function KontaktKontaktSpeichern(dialog)
zustellung = dialog.getElementById('kontakt-checkbox-zustellung').checked;
typ = dialog.getElementById('kontakt-menulist-typ').value;
standort_id = dialog.getElementById('kontakt-menulist-firma').value;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'kontaktsave');
req.add('neu', neu);
req.add('person_id', person_id);
req.add('kontakt_id', kontakt_id);
@@ -496,7 +500,7 @@ function KontaktKontaktSpeichern(dialog)
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -528,13 +532,13 @@ function KontaktKontaktNeu()
function KontaktKontaktBearbeiten()
{
tree = document.getElementById('kontakt-kontakt-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-kontakt-treecol-kontakt_id"] : "kontakt-kontakt-treecol-kontakt_id";
var kontakt_id=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/kontaktdialog.xul.php?kontakt_id="+kontakt_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
@@ -544,16 +548,16 @@ function KontaktKontaktBearbeiten()
function KontaktKontaktDelete()
{
tree = document.getElementById('kontakt-kontakt-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-kontakt-treecol-kontakt_id"] : "kontakt-kontakt-treecol-kontakt_id";
var kontakt_id=tree.view.getCellText(tree.currentIndex,col);
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
@@ -561,16 +565,16 @@ function KontaktKontaktDelete()
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'kontaktdelete');
req.add('kontakt_id', kontakt_id);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -590,7 +594,7 @@ function KontaktKontaktDelete()
// ****
// * Beim Sortieren des Trees wird der markierte Eintrag gespeichert und nach dem sortieren
// * wieder markiert.
// * wieder markiert.
// ****
function KontaktKontaktTreeSort()
{
@@ -618,13 +622,13 @@ function KontaktBankverbindungTreeSelectID()
//In der globalen Variable ist die zu selektierende Bankverbindung gespeichert
if(KontaktBankverbindungSelectID!=null)
{
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["kontakt-bankverbindung-treecol-bankverbindung_id"] : "kontakt_bankverbindung-treecol-bankverbindung_id";
id=tree.view.getCellText(i,col);
if(id == KontaktBankverbindungSelectID)
{
//Zeile markieren
@@ -654,18 +658,18 @@ function KontaktBankverbindungSpeichern(dialog)
kontonr = dialog.getElementById('bankverbindung-textbox-kontonr').value;
typ = dialog.getElementById('bankverbindung-menulist-typ').value;
verrechnung = dialog.getElementById('bankverbindung-checkbox-verrechnung').checked;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'bankverbindungsave');
req.add('neu', neu);
req.add('person_id', person_id);
req.add('bankverbindung_id', bankverbindung_id);
@@ -682,7 +686,7 @@ function KontaktBankverbindungSpeichern(dialog)
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -714,13 +718,13 @@ function KontaktBankverbindungNeu()
function KontaktBankverbindungBearbeiten()
{
tree = document.getElementById('kontakt-bankverbindung-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-bankverbindung-treecol-bankverbindung_id"] : "kontakt-bankverbindung-treecol-bankverbindung_id";
var bankverbindung_id=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/bankverbindungdialog.xul.php?bankverbindung_id="+bankverbindung_id,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
}
@@ -730,16 +734,16 @@ function KontaktBankverbindungBearbeiten()
function KontaktBankverbindungDelete()
{
tree = document.getElementById('kontakt-bankverbindung-tree');
if (tree.currentIndex==-1) return;
//Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["kontakt-bankverbindung-treecol-bankverbindung_id"] : "kontakt-bankverbindung-treecol-bankverbindung_id";
var bankverbindung_id=tree.view.getCellText(tree.currentIndex,col);
//Bei Mitarbeitern wird kein Studiengang mitgeschickt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
studiengang_kz='';
studiengang_kz='';
else
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
@@ -747,16 +751,16 @@ function KontaktBankverbindungDelete()
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'bankverbindungdelete');
req.add('bankverbindung_id', bankverbindung_id);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
@@ -777,7 +781,7 @@ function KontaktBankverbindungDelete()
// ****
// * Beim Sortieren des Trees wird der markierte Eintrag gespeichert und nach dem sortieren
// * wieder markiert.
// * wieder markiert.
// ****
function KontaktBankverbindungTreeSort()
{
+19 -9
View File
@@ -37,10 +37,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
$person_id = $_GET['person_id'];
else
else
die('Parameter person_id muss uebergeben werden');
$uid = get_uid();
$uid = get_uid();
?>
<window id="kontakt-window" title="Kontakt"
@@ -111,7 +111,7 @@ $uid = get_uid();
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-name" label="Anmerkung" flex="1" hidden="true"
<treecol id="kontakt-adressen-treecol-name" label="Name" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#name" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -123,8 +123,16 @@ $uid = get_uid();
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-rechnungsadresse" label="Rechnungsadresse" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-anmerkung" label="Anmerkung" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" onclick="KontaktAdresseTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -144,6 +152,8 @@ $uid = get_uid();
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#updateamum" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" />
</treerow>
</treeitem>
</treechildren>
@@ -207,7 +217,7 @@ $uid = get_uid();
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#updateamum" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -235,8 +245,8 @@ $uid = get_uid();
</vbox>
</hbox>
</groupbox>
<?php
$recht = new benutzerberechtigung();
<?php
$recht = new benutzerberechtigung();
$recht->getBerechtigungen($uid);
if($recht->isberechtigt('mitarbeiter/bankdaten') || $recht->isberechtigt('student/bankdaten'))
echo '
@@ -293,7 +303,7 @@ echo '
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -309,7 +319,7 @@ echo '
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" />
</treerow>
</treeitem>
</treechildren>
+18 -10
View File
@@ -217,6 +217,7 @@ function AufnahmeTermineAuswahl()
if (tree.currentIndex==-1) return;
AufnahmeTermineDisableFields(false);
AufnahmeTermineReihungstestDropDownRefresh(true);
//Ausgewaehlten Eintrag holen
var rt_person_id = getTreeCellText(tree, 'aufnahmetermine-tree-rt_person_id', tree.currentIndex);
@@ -260,6 +261,7 @@ function AufnahmeTermineNeu()
{
AufnahmeTermineDisableFields(false);
AufnahmeTermineResetFields();
AufnahmeTermineReihungstestDropDownRefresh(true);
}
/**
@@ -430,25 +432,31 @@ function AufnahmeTermineAnmeldungreihungstestHeute()
/**
* Refresht das DropDown mit den Reihungstestterminen
*/
function AufnahmeTermineReihungstestDropDownRefresh()
function AufnahmeTermineReihungstestDropDownRefresh(prestudent)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('aufnahmetermine-menulist-reihungstest');
//var url="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true&prestudent_id="+AufnahmeTerminePrestudentID+"&"+gettimestamp();
var url="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?include_id=&studiengang_kz="+AufnahmeTermineStudiengang+"&"+gettimestamp();
var menulist = document.getElementById('aufnahmetermine-menulist-reihungstest');
if(typeof(prestudent)=='undefined')
var url="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?include_id=&studiengang_kz="+AufnahmeTermineStudiengang+"&"+gettimestamp();
else
var url="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true&prestudent_id="+AufnahmeTerminePrestudentID+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
var oldDatasources = menulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
tree.builder.rebuild();
menulist.builder.rebuild();
btn = document.getElementById('aufnahmetermine-button-reihungstest-refresh');
btn.setAttribute('image','../../skin/images/spinner.gif');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var myDatasource = rdfService.GetDataSource(url);
tree.database.AddDataSource(myDatasource);
var myDatasource = rdfService.GetDataSourceBlocking(url);
menulist.database.AddDataSource(myDatasource);
menulist.builder.rebuild();
btn.setAttribute('image','../../skin/images/refresh.png');
}
function AufnahmeTermineReihungstestEdit()
+29 -16
View File
@@ -117,19 +117,30 @@ echo ']>
>
<treecols>
<treecol id="aufnahmetermine-tree-reihungstest" label="Reihungstest" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#reihungstest"/>
<treecol id="aufnahmetermine-tree-datum" label="Datum" flex="3" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#datum_iso"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-stufe" label="Stufe" flex="2" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#stufe"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-studiensemester" label="Studiensemester" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#studiensemester"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-anmerkung" label="Anmerkung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#anmerkung"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-anmeldedatum" label="Anmeldedatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#anmeldedatum"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-stufe" label="Stufe" flex="5" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#stufe"/>
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-ort" label="Ort" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#ort" />
@@ -138,7 +149,7 @@ echo ']>
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#punkte" />
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-teilgenommen" label="Teilgenommen" flex="2" hidden="false"
<treecol id="aufnahmetermine-tree-teilgenommen" label="Teilgenommen" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#teilgenommen" />
<splitter class="tree-splitter"/>
@@ -158,7 +169,7 @@ echo ']>
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#rt_person_id" />
<splitter class="tree-splitter"/>
<treecol id="aufnahmetermine-tree-studienplan_bezeichnung" label="Studienplan" flex="2" hidden="false"
<treecol id="aufnahmetermine-tree-studienplan_bezeichnung" label="Studienplan" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#studienplan_bezeichnung" />
<splitter class="tree-splitter"/>
@@ -172,9 +183,11 @@ echo ']>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#reihungstest"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#anmeldedatum"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#datum"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#stufe"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#studiensemester"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#anmeldedatum"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#ort_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#punkte"/>
<treecell label="rdf:http://www.technikum-wien.at/aufnahmetermine/rdf#teilgenommen"/>
@@ -211,7 +224,7 @@ echo ']>
</columns>
<rows>
<row>
<label value="Reihungstest" control="aufnahmetermine-menulist-reihungstest"/>
<label value="Reihungstest / Interview" control="aufnahmetermine-menulist-reihungstest"/>
<hbox>
<menulist id="aufnahmetermine-menulist-reihungstest" disabled="true"
datasources="rdf:null" flex="1"
@@ -224,8 +237,8 @@ echo ']>
</menupopup>
</template>
</menulist>
<toolbarbutton id="aufnahmetermine-button-reihungstest-refresh" image="../../skin/images/refresh.png" tooltiptext="Liste neu laden" onclick="AufnahmeTermineReihungstestDropDownRefresh()"/>
<toolbarbutton id="aufnahmetermine-button-reihungstest-open" image="../../skin/images/edit.png" tooltiptext="Zum Reihungstest" onclick="AufnahmeTermineReihungstestEdit()"/>
<toolbarbutton id="aufnahmetermine-button-reihungstest-refresh" image="../../skin/images/refresh.png" tooltiptext="Alle zukünftigen Reihungstests des Studiengangs laden" onclick="AufnahmeTermineReihungstestDropDownRefresh()"/>
<toolbarbutton id="aufnahmetermine-button-reihungstest-open" image="../../skin/images/edit.png" tooltiptext="Zur Reihungstestverwaltung" onclick="AufnahmeTermineReihungstestEdit()"/>
<spacer flex="1"/>
</hbox>
</row>
+14 -8
View File
@@ -38,7 +38,7 @@ function InteressentNeu()
}
catch(e)
{}
window.open('<?php echo APP_ROOT; ?>vilesci/personen/import/interessentenimport.php?studiengang_kz='+stg_kz,'Interessent anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
}
@@ -49,7 +49,7 @@ function InteressentNeu()
// * - Hakerl "zum Reihungstest angetreten" muss angekreuzt sein
// * Wenn die Voraussetzungen erfuellt sind wird die Rolle Bewerber hinzugefuegt
// ****
function InteressentzuBewerber()
function InteressentzuBewerber(statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -84,6 +84,8 @@ function InteressentzuBewerber()
req.add('prestudent_id', paramList);
req.add('status_kurzbz', 'Bewerber');
if(typeof(statusgrund_id)!='undefined')
req.add('statusgrund_id', statusgrund_id);
var response = req.executePOST();
@@ -114,7 +116,7 @@ function InteressentzuBewerber()
// * Wenn die Voraussetzungen erfuellt sind, dann wird die Matrikelnr
// * und UID generiert und der Studentendatensatz angelegt.
// ****
function InteressentzuStudent()
function InteressentzuStudent(statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -139,13 +141,15 @@ function InteressentzuStudent()
anzahl = anzahl+1;
}
}
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'BewerberZuStudent');
req.add('prestudent_id', paramList);
if(typeof(statusgrund_id)!='undefined')
req.add('statusgrund_id', statusgrund_id);
var response = req.executePOST();
@@ -170,13 +174,13 @@ function InteressentzuStudent()
// ****
// * Fuegt eine Rolle zu einem Interessenten hinzu
// ****
function InteressentAddRolle(rolle)
function InteressentAddRolle(rolle, statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1) return;
//Alle markierten Personen holen
var start = new Object();
var end = new Object();
@@ -199,7 +203,7 @@ function InteressentAddRolle(rolle)
conf = 'Diese '+anzahl+' Studenten';
else
conf = 'Diesen Studenten';
if(confirm(conf+' zum '+rolle+' machen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
@@ -209,6 +213,8 @@ function InteressentAddRolle(rolle)
req.add('prestudent_id', paramList);
req.add('status_kurzbz', rolle);
if(typeof(statusgrund_id)!='undefined')
req.add('statusgrund_id', statusgrund_id);
var response = req.executePOST();
@@ -223,7 +229,7 @@ function InteressentAddRolle(rolle)
StudentTreeRefresh();
}
else
{
{
StudentTreeRefresh();
SetStatusBarText('Rolle hinzugefuegt');
}
+261 -259
View File
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
// ****************************************
@@ -170,43 +170,43 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst
global $return, $error, $errormsg;
$db = new basis_db();
$anwesenheit = new anwesenheit();
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
$anwesenheit = new anwesenheit();
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
// Lehreinheit ermitteln
$error = false;
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
. "ORDER BY lehreinheit_id ASC "
. "LIMIT 1";
// Lehreinheit ermitteln
$error = false;
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
. "ORDER BY lehreinheit_id ASC "
. "LIMIT 1";
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$lehreinheit_id = $row->lehreinheit_id;
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$lehreinheit_id = $row->lehreinheit_id;
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
}
if(!$error)
{
$pruefung = new pruefung;
$pruefung->new = true;
$pruefung->student_uid = $student_uid;
$pruefung->lehreinheit_id = $lehreinheit_id;
$pruefung->datum = date("Y-m-d");
if(!$error)
{
$pruefung = new pruefung;
$pruefung->new = true;
$pruefung->student_uid = $student_uid;
$pruefung->lehreinheit_id = $lehreinheit_id;
$pruefung->datum = date("Y-m-d");
$stsem_obj = new studiensemester();
$stsem_obj->load($studiensemester_kurzbz);
@@ -221,49 +221,49 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst
// Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein
// Pruefungsantritt abgezogen
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit)
{
// 1. Termin mit "nicht beurteilt" erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = 7;
if($pruefung->save())
{
// 2. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin2";
$pruefung->note = $note;
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
// 1. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = $note;
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit)
{
// 1. Termin mit "nicht beurteilt" erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = 7;
if($pruefung->save())
{
// 2. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin2";
$pruefung->note = $note;
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
else
{
// 1. Termin mit Note erstellen
$pruefung->pruefungstyp_kurzbz = "Termin1";
$pruefung->note = $note;
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
}
if($pruefung->save())
{
$return = true;
}
else
{
$errormsg = $pruefung->errormsg;
$return = false;
}
}
}
}
if(!$error)
@@ -591,54 +591,37 @@ if(!$error)
// kann in Config abgestellt werden
if(REIHUNGSTEST_CHECK)
{
$rt = new reihungstest();
$rt->getReihungstestPerson($prestd->person_id);
// Pruefen ob Person an zumindest einem RT-Termin teilgenommen hat
$reihungstestangetreten=false;
foreach($rt->result as $row_rt)
{
if($row_rt->teilgenommen)
{
$reihungstestangetreten=true;
break;
}
}
if($_POST['status_kurzbz']=='Bewerber' && count($rt->result)==0)
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss ein Reihungstest zugeteilt sein.";
$anzahl_fehler++;
}
$reihungstestangetreten = $prestd->reihungstestangetreten;
if($_POST['status_kurzbz']=='Bewerber' && !$reihungstestangetreten)
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Person an einem Reihungstest teilgenommen haben";
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Person das Reihungstestverfahren abgeschlossen haben";
$anzahl_fehler++;
}
}
if(!defined("ZGV_CHECK") || ZGV_CHECK)
{
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgv_code=='')
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung eingetragen sein.";
$anzahl_fehler++;
}
}
{
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgv_code=='')
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung eingetragen sein.";
$anzahl_fehler++;
}
}
$stg_obj = new studiengang();
$stg_obj->load($prestd->studiengang_kz);
if(!defined("ZGV_CHECK") || ZGV_CHECK)
{
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgvmas_code=='' && $stg_obj->typ=='m')
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung Master eingetragen sein.";
$anzahl_fehler++;
}
}
if(!defined("ZGV_CHECK") || ZGV_CHECK)
{
if($_POST['status_kurzbz']=='Bewerber' && $prestd->zgvmas_code=='' && $stg_obj->typ=='m')
{
$error = true;
$errormsg .= "\n $prestd->vorname $prestd->nachname: Um einen Interessenten zum Bewerber zu machen, muss die Zugangsvoraussetzung Master eingetragen sein.";
$anzahl_fehler++;
}
}
if(!$error)
{
@@ -696,6 +679,8 @@ if(!$error)
$prestd_neu->insertvon = $user;
$prestd_neu->bestaetigtam = date('Y-m-d');
$prestd_neu->bestaetigtvon = $user;
if(isset($_POST['statusgrund_id']))
$prestd_neu->statusgrund_id = $_POST['statusgrund_id'];
$prestd_neu->new = true;
if($prestd_neu->save_rolle())
@@ -746,17 +731,17 @@ if(!$error)
$student->gruppe='';
}
// noch nicht eingetragene Noten ergänzen
$noten = new zeugnisnote();
$noten->getZeugnisnoten(null, $uid, $semester_aktuell);
foreach($noten->result as $obj)
{
if($obj->note == '')
{
$obj->note = 9;
$obj->save(true);
}
}
// noch nicht eingetragene Noten ergänzen
$noten = new zeugnisnote();
$noten->getZeugnisnoten(null, $uid, $semester_aktuell);
foreach($noten->result as $obj)
{
if($obj->note == '')
{
$obj->note = 9;
$obj->save(true);
}
}
//Nachschauen ob dieser Lehrverband schon existiert, falls nicht dann anlegen
$lehrverband = new lehrverband();
@@ -917,15 +902,20 @@ if(!$error)
if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['status_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
{
$return = true;
if($return)
// Wenn in diesem Semester kein Status mehr vorhanden ist,
// dann wird auch der Studentlehrverband eintrag entfernt
if($rolle->getLastStatus($_POST['prestudent_id'],$_POST['studiensemester_kurzbz'])===false)
{
$student = new student();
$temp_uid = $student->getUid($rolle->prestudent_id);
if(!$student->delete_studentLehrverband($temp_uid, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester))
{
$return = false;
$errormsg = "Fehler beim Löschen der Lehrverbandszuordnung.";
}
if($return)
{
$student = new student();
$temp_uid = $student->getUid($rolle->prestudent_id);
if(!$student->delete_studentLehrverband($temp_uid, $_POST['studiengang_kz'], $rolle->studiensemester_kurzbz, $rolle->ausbildungssemester))
{
$return = false;
$errormsg = "Fehler beim Löschen der Lehrverbandszuordnung.";
}
}
}
}
else
@@ -1123,59 +1113,61 @@ if(!$error)
if(!$error)
{
// Bei Studenten wird der Studentlehrverband Eintrag angelegt/korrigiert
$student = new student();
if($temp_uid = $student->getUid($rolle->prestudent_id))
{
if($student->load($temp_uid))
if(in_array($rolle->status_kurzbz,array('Student','Diplomand','Absovlent','Incoming','Abbrecher','Unterbrecher')))
{
$stdsem_new = filter_input(INPUT_POST, "studiensemester_kurzbz");
$semester = filter_input(INPUT_POST, "ausbildungssemester");
$prestudent_temp = new prestudent();
$prestudent_temp->getLastStatus($rolle->prestudent_id, "", "Student");
if($student->load_studentlehrverband($temp_uid, $prestudent_temp->studiensemester_kurzbz))
$student->new=false;
else
$student->new=true;
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
if($student->load($temp_uid))
{
$student->studiensemester_kurzbz = $stdsem_new;
$return = false;
$errormsg = $student->errormsg;
}
else
{
$student->studiensemester_kurzbz = $stdsem_new;
$student->semester = $semester;
$student->updatevon = $user;
}
$stdsem_new = filter_input(INPUT_POST, "studiensemester_kurzbz");
$semester = filter_input(INPUT_POST, "ausbildungssemester");
$student->save_studentlehrverband();
if($student->load_studentlehrverband($temp_uid, $stdsem_new))
$student->new=false;
else
$student->new=true;
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
{
$student->studiensemester_kurzbz = $stdsem_new;
$return = false;
$errormsg = $student->errormsg;
}
else
{
$student->studiensemester_kurzbz = $stdsem_new;
$student->semester = $semester;
$student->updatevon = $user;
}
$student->save_studentlehrverband();
}
}
}
$rolle->ausbildungssemester = $_POST['ausbildungssemester'];
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$rolle->datum = $_POST['datum'];
$rolle->bestaetigtam = $_POST['bestaetigtam'];
if($_POST['bestaetigtam']=='')
$rolle->bestaetigtvon = null;
$rolle->ausbildungssemester = $_POST['ausbildungssemester'];
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$rolle->datum = $_POST['datum'];
$rolle->bestaetigtam = $_POST['bestaetigtam'];
if($_POST['bestaetigtam']=='')
$rolle->bestaetigtvon = null;
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
$rolle->anmerkung_status = $_POST['anmerkung'];
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
$rolle->anmerkung_status = $_POST['anmerkung'];
$rolle->rt_stufe = $_POST['rt_stufe'];
$rolle->statusgrund_id = $_POST['statusgrund_id'];
if($rolle->save_rolle())
$return = true;
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
if($rolle->save_rolle())
$return = true;
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
}
}
}
@@ -1188,7 +1180,7 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='rolleVorruecken')
{
$errormsg='';
$errormsg='';
//Prestudentrolle speichern
if(!$error)
{
@@ -1216,11 +1208,11 @@ if(!$error)
if(!$error)
{
$studiensem = new studiensemester();
$stdsem = $studiensem->getNextFrom($_POST["studiensemester_kurzbz"]);
// $stdsem = ($stdesm==false ? $_POST["studiensemester_kurzbz"]:$stdsem);
$semester = $_POST["ausbildungssemester"];
$semester++;
$studiensem = new studiensemester();
$stdsem = $studiensem->getNextFrom($_POST["studiensemester_kurzbz"]);
// $stdsem = ($stdesm==false ? $_POST["studiensemester_kurzbz"]:$stdsem);
$semester = $_POST["ausbildungssemester"];
$semester++;
if((!$rolle->load_rolle($_POST['prestudent_id'], $_POST['status_kurzbz'], $stdsem, $semester)))
{
$rolle->new = true;
@@ -1250,10 +1242,10 @@ if(!$error)
}
else
{
//Rolle existiert bereits
$error = true;
$errormsg = "Rolle existiert bereits.";
$return = false;
//Rolle existiert bereits
$error = true;
$errormsg = "Rolle existiert bereits.";
$return = false;
}
$student = new student();
@@ -1261,36 +1253,36 @@ if(!$error)
if(!$error)
{
$student->load_studentlehrverband($temp_uid, $_POST["studiensemester_kurzbz"]);
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
{
$student->studiensemester_kurzbz = $stdsem;
$return = false;
$errormsg = $student->errormsg;
}
else
{
$student->studiensemester_kurzbz = $stdsem;
$student->semester = $semester;
}
$student->load_studentlehrverband($temp_uid, $_POST["studiensemester_kurzbz"]);
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $semester, $student->verband, $student->gruppe))
{
$student->studiensemester_kurzbz = $stdsem;
$return = false;
$errormsg = $student->errormsg;
}
else
{
$student->studiensemester_kurzbz = $stdsem;
$student->semester = $semester;
}
$student->save_studentlehrverband(true);
$rolle->ausbildungssemester = $semester;
$rolle->studiensemester_kurzbz = $stdsem;
$rolle->datum = date("Y-m-d");
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
$student->save_studentlehrverband(true);
$rolle->ausbildungssemester = $semester;
$rolle->studiensemester_kurzbz = $stdsem;
$rolle->datum = date("Y-m-d");
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
if($rolle->save_rolle())
{
$return = true;
}
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
if($rolle->save_rolle())
{
$return = true;
}
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
}
}
}
@@ -1366,7 +1358,7 @@ if(!$error)
{
//pruefen ob schon eine Studentenrolle Existiert
$hlp1 = new prestudent();
$hlp1->getPrestudentRolle($prestudent_id, 'Student', $hlp->result[0]->studiensemester_kurzbz);
$hlp1->getPrestudentRolle($prestudent_id, 'Student', $aufgenommener->result[0]->studiensemester_kurzbz);
if(count($hlp1->result)>0)
{
$return = false;
@@ -1378,19 +1370,19 @@ if(!$error)
$db->db_query('BEGIN;');
//Matrikelnummer und UID generieren
$matrikelnr = generateMatrikelnummer($prestd->studiengang_kz, $hlp->result[0]->studiensemester_kurzbz);
$matrikelnr = generateMatrikelnummer($prestd->studiengang_kz, $aufgenommener->result[0]->studiensemester_kurzbz);
$jahr = substr($matrikelnr,0, 2);
$stg = $prestd->studiengang_kz;
$stg_obj = new studiengang();
$stg_obj->load(ltrim($stg,'0'));
$uid = generateUID($stg_obj->kurzbz,$jahr,$stg_obj->typ,$matrikelnr);
$matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz);
$matrikelnummer = generateMatrikelnr($stg_obj->oe_kurzbz);
if($matrikelnummer != null)
{
$qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($matrikelnummer)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null';
if($matrikelnummer != null)
{
$qry = "UPDATE public.tbl_person SET matr_nr=".$db->db_add_param($matrikelnummer)." WHERE person_id=".$db->db_add_param($prestd->person_id, FHC_INTEGER).' AND matr_nr is null';
$db->db_query($qry);
}
}
if(defined('SET_UID_AS_PERSONENKENNZEICHEN') && SET_UID_AS_PERSONENKENNZEICHEN)
{
@@ -1437,7 +1429,7 @@ if(!$error)
$student->matrikelnr = $matrikelnr;
$student->prestudent_id = $prestd->prestudent_id;
$student->studiengang_kz = $prestd->studiengang_kz;
$student->semester = $hlp->result[0]->ausbildungssemester;
$student->semester = $aufgenommener->result[0]->ausbildungssemester;
$student->verband = ' ';
$student->gruppe = ' ';
$student->insertamum = date('Y-m-d H:i:s');
@@ -1468,15 +1460,17 @@ if(!$error)
$rolle = new prestudent();
$rolle->prestudent_id = $prestd->prestudent_id;
$rolle->status_kurzbz = 'Student';
$rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz;
$rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester;
$rolle->orgform_kurzbz = $hlp->result[0]->orgform_kurzbz;
$rolle->studienplan_id = $hlp->result[0]->studienplan_id;
$rolle->studiensemester_kurzbz = $aufgenommener->result[0]->studiensemester_kurzbz;
$rolle->ausbildungssemester = $aufgenommener->result[0]->ausbildungssemester;
$rolle->orgform_kurzbz = $aufgenommener->result[0]->orgform_kurzbz;
$rolle->studienplan_id = $aufgenommener->result[0]->studienplan_id;
$rolle->datum = date('Y-m-d');
$rolle->insertamum = date('Y-m-d H:i:s');
$rolle->insertvon = $user;
$rolle->bestaetigtam = date('Y-m-d');
$rolle->bestaetigtvon = $user;
if(isset($_POST['statusgrund_id']))
$rolle->statusgrund_id = $_POST['statusgrund_id'];
$rolle->new = true;
if($rolle->save_rolle())
@@ -1484,9 +1478,9 @@ if(!$error)
//StudentLehrverband anlegen
$studentlehrverband = new student();
$studentlehrverband->uid = $uid;
$studentlehrverband->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz;
$studentlehrverband->studiensemester_kurzbz = $aufgenommener->result[0]->studiensemester_kurzbz;
$studentlehrverband->studiengang_kz = $prestd->studiengang_kz;
$studentlehrverband->semester = $hlp->result[0]->ausbildungssemester;
$studentlehrverband->semester = $aufgenommener->result[0]->ausbildungssemester;
$studentlehrverband->verband = ' ';
$studentlehrverband->gruppe = ' ';
$studentlehrverband->insertamum = date('Y-m-d H:i:s');
@@ -1913,11 +1907,11 @@ if(!$error)
$gegenbuchungsdatum = filter_input(INPUT_POST, "gegenbuchungsdatum");
if(strlen($gegenbuchungsdatum) != 0)
{
$gegenbuchungsdatum = date("Y-m-d", strtotime($gegenbuchungsdatum));
$gegenbuchungsdatum = date("Y-m-d", strtotime($gegenbuchungsdatum));
}
else
{
$gegenbuchungsdatum = date('Y-m-d');
$gegenbuchungsdatum = date('Y-m-d');
}
$errormsg='';
@@ -2302,9 +2296,9 @@ if(!$error)
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
@@ -2347,9 +2341,9 @@ if(!$error)
!$rechte->isBerechtigt('basis/betriebsmittel',$_POST['studiengang_kz'], 'suid')
) ||
($_POST['studiengang_kz']=='' &&
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
!$rechte->isBerechtigt('admin', null, 'suid') &&
!$rechte->isBerechtigt('mitarbeiter', null, 'suid') &&
!$rechte->isBerechtigt('basis/betriebsmittel', null, 'suid')
))
{
$error = true;
@@ -2620,23 +2614,31 @@ if(!$error)
}
else
{
$punkte=$_POST['punkte'];
$lehrveranstaltung_id=$_POST['lehrveranstaltung_id'];
$studiensemester_kurzbz=$semester_aktuell;
$notenschluessel = new notenschluessel();
if(($note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz))!==false)
if(is_numeric($punkte))
{
$return = true;
$error = false;
$data = $note;
$lehrveranstaltung_id=$_POST['lehrveranstaltung_id'];
$studiensemester_kurzbz=$semester_aktuell;
$notenschluessel = new notenschluessel();
if(($note = $notenschluessel->getNote($punkte, $lehrveranstaltung_id, $studiensemester_kurzbz))!==false)
{
$return = true;
$error = false;
$data = $note;
}
else
{
$return = false;
$error = true;
$errormsg=$notenschluessel->errormsg;
}
}
else
{
$return = false;
$error = true;
$errormsg=$notenschluessel->errormsg;
$return = true;
$error = false;
$data = '';
}
}
}
@@ -2652,7 +2654,7 @@ if(!$error)
if(!is_null($lehrveranstaltung_id) && !is_null($student_uid) && !is_null($studiensemester_kurzbz))
{
//Berechtigung pruefen
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -2677,7 +2679,7 @@ if(!$error)
{
$lva = new lehrveranstaltung($lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
{
$return = false;
@@ -2723,7 +2725,7 @@ if(!$error)
$noten->benotungsdatum = date('Y-m-d H:i:s');
$noten->note = $_POST['note'];
if(isset($_POST['punkte']))
$noten->punkte=$_POST['punkte'];
$noten->punkte=str_replace(',','.',$_POST['punkte']);
if($noten->save())
{
@@ -2735,8 +2737,8 @@ if(!$error)
$return = false;
}
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true)
{
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true)
{
NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $noten->note);
}
}
@@ -2851,7 +2853,7 @@ if(!$error)
else
{
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
{
{
NotePruefungAnlegen($zeugnisnote->studiensemester_kurzbz, $zeugnisnote->student_uid, $zeugnisnote->lehrveranstaltung_id, $zeugnisnote->note);
}
}
@@ -3010,7 +3012,7 @@ if(!$error)
else
{
if(defined('FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN') && FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
{
{
NotePruefungAnlegen($semester_aktuell, $uid, $_POST['lehrveranstaltung_id'], $zeugnisnote->note);
}
}
@@ -4267,12 +4269,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>
<RDF:Seq RDF:about="http://www.technikum-wien.at/dbdml/msg">
<RDF:li>
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
<DBDML:return>'.($return?'true':'false').'</DBDML:return>
<DBDML:errormsg><![CDATA['.$errormsg.']]></DBDML:errormsg>
<DBDML:warning><![CDATA['.$warning.']]></DBDML:warning>
<DBDML:data><![CDATA['.$data.']]></DBDML:data>
</RDF:Description>
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
<DBDML:return>'.($return?'true':'false').'</DBDML:return>
<DBDML:errormsg><![CDATA['.$errormsg.']]></DBDML:errormsg>
<DBDML:warning><![CDATA['.$warning.']]></DBDML:warning>
<DBDML:data><![CDATA['.$data.']]></DBDML:data>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</RDF:RDF>';
@@ -514,6 +514,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_Am" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-statusgrund" label="Statusgrund" flex="1" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -532,6 +536,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_von"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_am"/>
<treecell label="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#statusgrund"/>
</treerow>
</treeitem>
</treechildren>
+68 -13
View File
@@ -30,6 +30,7 @@ require_once('../../config/vilesci.config.inc.php');
require_once('../../config/global.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/statusgrund.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
@@ -93,20 +94,74 @@ else
<toolbarbutton id="student-toolbar-buchung" label="Neue Buchung" oncommand="StudentKontoNeu()" disabled="false" tooltiptext="neue Buchung anlegen"/>
<toolbarbutton label="Status ändern " id="student-toolbar-status" type="menu">
<menupopup id="student-status-menu-popup" >
<menuitem id="student-toolbar-abbrecher" label="-> Abbrecher" oncommand="StudentAddRolle('Abbrecher','0')" disabled="false" tooltiptext="Student zum Abbrecher machen" hidden="true"/>
<menuitem id="student-toolbar-unterbrecher" label="-> Unterbrecher" oncommand="StudentAddRolle('Unterbrecher','0')" disabled="false" tooltiptext="Student zum Unterbrecher machen" hidden="true"/>
<menuitem id="student-toolbar-student" label="-> Student" oncommand="StudentUnterbrecherZuStudent()" disabled="false" tooltiptext="Ab/Unterbrecher wieder zum Studenten machen" hidden="true"/>
<menuitem id="student-toolbar-diplomand" label="-> Diplomand" oncommand="StudentAddRolle('Diplomand')" disabled="false" tooltiptext="Studenten zum Diplomanden machen" hidden="true"/>
<menuitem id="student-toolbar-absolvent" label="-> Absolvent" oncommand="StudentAddRolle('Absolvent')" disabled="false" tooltiptext="Studenten zum Absolventen machen" hidden="true"/>
<menupopup id="student-status-menu-popup" >
<?php
<menuitem id="interessent-toolbar-zubewerber" label="-> Bewerber" oncommand="InteressentzuBewerber()" disabled="false" tooltiptext="Interessent zum Bewerber machen" hidden="true"/>
<menuitem id="interessent-toolbar-aufgenommener" label="-> Aufgenommener" oncommand="InteressentAddRolle('Aufgenommener')" disabled="false" tooltiptext="Interessent zum Aufgenommenen machen" hidden="true"/>
<menuitem id="interessent-toolbar-zustudent" label="-> Student" oncommand="InteressentzuStudent()" disabled="false" tooltiptext="Bewerber zu Studenten machen" hidden="true"/>
<menuitem id="interessent-toolbar-warteliste" label="-> Warteliste" oncommand="InteressentAddRolle('Wartender')" disabled="false" tooltiptext="Interessent zum Wartenden machen" hidden="true"/>
<menuitem id="interessent-toolbar-absage" label="-> Absage" oncommand="InteressentAddRolle('Abgewiesener')" disabled="false" tooltiptext="Interessent zum Absager machen" hidden="true"/>
</menupopup>
</toolbarbutton>
/**
* Erstellt den Menuepunkt fuer den Statuswechsel
* Wenn ein Statusgrund vorhanden ist wird ein Submenue angezeigt fuer die Auswahl
* des Statusgrund. Wenn keine Statusgruende vorhanden sind wird nur ein normaler
* Menuepuntk angezeigt
*
* @param $gruende Array mit Statusgruenden
* @param $status_kurzbz Status
* @param $id HTML id des Menueeintrags
* @param $label HTML Label des Menueeintrages
* @param $command JS Funktion die aufgerufen werden soll
*/
function printStatuswechselMenuitem($gruende, $status_kurzbz, $id, $label, $command)
{
if(isset($gruende[$status_kurzbz]) && count($gruende[$status_kurzbz])>0)
{
echo '
<menu id="'.$id.'" label="'.$label.'">
<menupopup>';
foreach($gruende[$status_kurzbz] as $row)
{
$commandWithID = str_replace('STATUSGRUNDID',$row['statusgrund_id'],$command);
echo '<menuitem label="'.$row['bezeichnung'].'" oncommand="'.$commandWithID.'" disabled="false" tooltiptext="'.$row['beschreibung'].'"/>';
}
echo '
</menupopup>
</menu>
';
}
else
{
$command = str_replace('STATUSGRUNDID','',$command);
echo '<menuitem id="'.$id.'" label="'.$label.'" oncommand="'.$command.'" disabled="false" tooltiptext="Status ändern auf '.$status_kurzbz.'" hidden="true"/>';
}
}
// Statusgruende laden
$statusgrund = new statusgrund();
$statusgrund->getAll(true);
$gruende=array();
foreach($statusgrund->result as $row)
{
$gruende[$row->status_kurzbz][] = array(
'statusgrund_id'=>$row->statusgrund_id,
'bezeichnung'=>$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],
'beschreibung'=>$row->beschreibung[DEFAULT_LANGUAGE]
);
}
printStatuswechselMenuitem($gruende, 'Abbrecher', 'student-toolbar-abbrecher', 'Abbrecher', "StudentAddRolle('Abbrecher','0',undefined,'STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Unterbrecher', 'student-toolbar-unterbrecher', 'Unterbrecher', "StudentAddRolle('Unterbrecher','0',undefined,'STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Student', 'student-toolbar-student', 'Student', "StudentUnterbrecherZuStudent('STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Diplomand', 'student-toolbar-diplomand', 'Diplomand', "StudentAddRolle('Diplomand',undefined,undefined,'STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Absovlent', 'student-toolbar-absolvent', 'Absolvent', "StudentAddRolle('Absolvent',undefined,undefined,'STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Bewerber', 'interessent-toolbar-zubewerber', 'Bewerber', "InteressentzuBewerber('STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Aufgenommener', 'interessent-toolbar-aufgenommener', 'Aufgenommener', "InteressentAddRolle('Aufgenommener','STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Student', 'interessent-toolbar-zustudent', 'Student', "InteressentzuStudent('STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Warteliste', 'interessent-toolbar-warteliste', 'Wartender', "InteressentAddRolle('Wartender','STATUSGRUNDID')");
printStatuswechselMenuitem($gruende, 'Absage', 'interessent-toolbar-absage', 'Abgewiesener', "InteressentAddRolle('Abgewiesener','STATUSGRUNDID')");
?>
</menupopup>
</toolbarbutton>
<toolbarbutton id="student-toolbar-export" label="Export" oncommand="StudentExport()" disabled="false" image="../skin/images/ExcelIcon.png" tooltiptext="Daten ins Excel Exportieren"/>
<?php
+12 -6
View File
@@ -1807,7 +1807,7 @@ function StudentRolleBearbeiten()
var prestudent_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-prestudent_id', tree.currentIndex);
var ausbildungssemester = getTreeCellText(tree, 'student-prestudent-tree-rolle-ausbildungssemester', tree.currentIndex);
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester,"Status","status=no, width=500, height=350, centerscreen, resizable");
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester,"Status","status=no, width=500, height=450, centerscreen, resizable");
}
// ****
@@ -1828,6 +1828,8 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
orgform_kurzbz = dialog.getElementById('student-rolle-menulist-orgform_kurzbz').value;
studienplan_id = dialog.getElementById('student-rolle-menulist-studienplan').value;
anmerkung = dialog.getElementById('student-rolle-textbox-anmerkung').value;
rt_stufe = dialog.getElementById('student-rolle-menulist-stufe').value;
statusgrund_id = dialog.getElementById('student-rolle-menulist-statusgrund').value;
if(!CheckDatum(datum))
{
@@ -1856,6 +1858,8 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_
req.add('orgform_kurzbz', orgform_kurzbz);
req.add('studienplan_id', studienplan_id);
req.add('anmerkung', anmerkung);
req.add('rt_stufe', rt_stufe);
req.add('statusgrund_id', statusgrund_id);
var response = req.executePOST();
@@ -1896,7 +1900,7 @@ function StudentAnmeldungreihungstestHeute()
// ****
// * Einen Ab-/Unterbrecher wieder zum Studenten machen
// ****
function StudentUnterbrecherZuStudent()
function StudentUnterbrecherZuStudent(statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -1907,7 +1911,7 @@ function StudentUnterbrecherZuStudent()
{
if(!isNaN(sem))
{
StudentAddRolle('Student', sem)
StudentAddRolle('Student', sem, undefined, statusgrund_id);
}
else
{
@@ -1922,13 +1926,13 @@ function StudentUnterbrecherZuStudent()
function StudentRolleAdd()
{
var prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value;
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id,"Status","chrome, status=no, width=500, height=300, centerscreen, resizable");
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id,"Status","chrome, status=no, width=500, height=450, centerscreen, resizable");
}
// ****
// * Fuegt eine Rolle zu einem Studenten hinzu
// ****
function StudentAddRolle(rolle, semester, studiensemester)
function StudentAddRolle(rolle, semester, studiensemester, statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -1971,8 +1975,10 @@ function StudentAddRolle(rolle, semester, studiensemester)
req.add('prestudent_id', paramList);
req.add('status_kurzbz', rolle);
req.add('semester', semester);
if(typeof(studiensemester)!='unknown')
if(typeof(studiensemester)!='undefined')
req.add('studiensemester_kurzbz', studiensemester);
if(typeof(statusgrund_id)!='undefined')
req.add('statusgrund_id', statusgrund_id);
var response = req.executePOST();
+81 -33
View File
@@ -23,8 +23,9 @@
require_once('../../config/vilesci.config.inc.php');
?>
var studiensemester_old;
var ausbildungssemester_old;
var StudentRolleStudiensemester_old;
var StudentRolleAusbildungssemester_old;
var StudentRolleStatusgrundDatasource;
// ****
// * Laedt die Rolle
@@ -32,54 +33,59 @@ var ausbildungssemester_old;
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(status_kurzbz!='')
{
document.getElementById('student-rolle-grid-row-textbox').hidden=false;
document.getElementById('student-rolle-grid-row-menulist').hidden=true;
studiensemester_old=studiensemester_kurzbz;
ausbildungssemester_old=ausbildungssemester;
StudentRolleStudiensemester_old=studiensemester_kurzbz;
StudentRolleAusbildungssemester_old=ausbildungssemester;
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+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/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
//RDF parsen
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
neu = false;
//RDF parsen
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
var neu = false;
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
}
else
{
studiensemester_old='';
ausbildungssemester_old='';
StudentRolleStudiensemester_old='';
StudentRolleAusbildungssemester_old='';
document.getElementById('student-rolle-grid-row-textbox').hidden=true;
document.getElementById('student-rolle-grid-row-menulist').hidden=false;
//Defaultwerte bei Neuem Datensatz
status_kurzbz = 'Interessent';
studiensemester_kurzbz=window.opener.getStudiensemester();
ausbildungssemester='1';
datum = '<?php echo date('d.m.Y') ?>';
bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
orgform_kurzbz='';
studienplan_id='';
anmerkung='';
}
var status_kurzbz = 'Interessent';
var studiensemester_kurzbz=window.opener.getStudiensemester();
var ausbildungssemester='1';
var datum = '<?php echo date('d.m.Y') ?>';
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
var orgform_kurzbz = '';
var studienplan_id = '';
var anmerkung = '';
var statusgrund_id = '';
var rt_stufe = '';
StudentRolleLoadStatusgrund(status_kurzbz);
}
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
@@ -89,6 +95,8 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
}
// ****
@@ -99,6 +107,46 @@ function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz,
// ****
function StudentRolleSpeichern()
{
if(window.opener.StudentRolleSpeichern(document, studiensemester_old, ausbildungssemester_old))
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
window.close();
}
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
try
{
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = menulistgrund.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulistgrund.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
menulistgrund.builder.rebuild();
}
/**
* Wenn das Dropdown fuer den Status geaendert wird, dann
* werden die Statusgruende zu diesem Status geladen
*/
function StudentRolleChangeStatus()
{
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
StudentRolleLoadStatusgrund(status);
}
+54 -29
View File
@@ -39,22 +39,22 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
if(isset($_GET['prestudent_id']))
$prestudent_id=$_GET['prestudent_id'];
else
else
$prestudent_id='';
if(isset($_GET['status_kurzbz']))
$status_kurzbz=$_GET['status_kurzbz'];
else
else
$status_kurzbz='';
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
else
else
$studiensemester_kurzbz='';
if(isset($_GET['ausbildungssemester']))
$ausbildungssemester=$_GET['ausbildungssemester'];
else
else
$ausbildungssemester='';
$vorname = '';
@@ -63,7 +63,7 @@ if($prestudent_id!='')
{
$prestudent = new prestudent();
$prestudent->load($prestudent_id);
$vorname = $prestudent->vorname;
$nachname = $prestudent->nachname;
}
@@ -94,7 +94,7 @@ $db = new basis_db();
</row>
<row id="student-rolle-grid-row-menulist" hidden="true">
<label value="Rolle"/>
<menulist id="student-rolle-menulist-status_kurzbz" disabled="false">
<menulist id="student-rolle-menulist-status_kurzbz" disabled="false" oncommand="StudentRolleChangeStatus()">
<menupopup>
<menuitem value="Interessent" label="Interessent"/>
<menuitem value="Bewerber" label="Bewerber"/>
@@ -108,24 +108,24 @@ $db = new basis_db();
</row>
<row>
<label value="Studiensemester" control="student-rolle-menulist-studiensemester"/>
<menulist id="student-rolle-menulist-studiensemester"
<menulist id="student-rolle-menulist-studiensemester"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php?order=desc" 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:*"/>
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Ausbildungssemester" control="student-rolle-menulist-ausbildungssemester"/>
</row>
<row>
<label value="Ausbildungssemester" control="student-rolle-menulist-ausbildungssemester"/>
<menulist id="student-rolle-menulist-ausbildungssemester" >
<menupopup>
<?php
if(defined('VORRUECKUNG_STATUS_MAX_SEMESTER') && VORRUECKUNG_STATUS_MAX_SEMESTER==false)
{
$maxsem=100;
@@ -142,7 +142,7 @@ $db = new basis_db();
}
}
}
for($i=0;$i<=$maxsem;$i++)
{
echo '<menuitem value="'.$i.'" label="'.$i.'"/>';
@@ -150,17 +150,17 @@ $db = new basis_db();
?>
</menupopup>
</menulist>
</row>
<?php
$hidden='true';
$qry = "SELECT mischform FROM public.tbl_prestudent JOIN public.tbl_studiengang USING(studiengang_kz) WHERE prestudent_id='$prestudent_id'";
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
if($row->mischform=='t')
$hidden='false';
?>
<row hidden="<?php echo $hidden; ?>">
<label value="Organisationsform" control="student-rolle-menulist-orgform_kurzbz"/>
</row>
<?php
$hidden = 'true';
$qry = "SELECT mischform FROM public.tbl_prestudent JOIN public.tbl_studiengang USING(studiengang_kz) WHERE prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER);
if($result = $db->db_query($qry))
if($row = $db->db_fetch_object($result))
if($row->mischform=='t')
$hidden='false';
?>
<row hidden="<?php echo $hidden; ?>">
<label value="Organisationsform" control="student-rolle-menulist-orgform_kurzbz"/>
<menulist id="student-rolle-menulist-orgform_kurzbz" >
<menupopup>
<menuitem value="" label="-- keine Auswahl --"/>
@@ -176,7 +176,7 @@ $db = new basis_db();
?>
</menupopup>
</menulist>
</row>
</row>
<row>
<label value="Datum" control="student-rolle-datum-datum"/>
<box class='Datum' id="student-rolle-datum-datum" />
@@ -206,6 +206,31 @@ $db = new basis_db();
<label value="Anmerkung"/>
<textbox id="student-rolle-textbox-anmerkung" multiline="true" />
</row>
<row>
<label value="Aufnahmestufe"/>
<menulist id="student-rolle-menulist-stufe" disabled="false">
<menupopup>
<menuitem value="" label="-- keine Auswahl --"/>
<menuitem value="1" label="1"/>
<menuitem value="2" label="2"/>
<menuitem value="3" label="3"/>
</menupopup>
</menulist>
</row>
<row>
<label value="Grund"/>
<menulist id="student-rolle-menulist-statusgrund"
datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/statusgrund" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/statusgrund/rdf#statusgrund_id"
label="rdf:http://www.technikum-wien.at/statusgrund/rdf#bezeichnung_mehrsprachig"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
</rows>
</grid>
<hbox>
+17 -3
View File
@@ -49,6 +49,8 @@ class adresse extends basis_db
public $insertamum; // timestamp
public $insertvon; // string
public $ext_id; // integer
public $rechnungsadresse=false; // boolean
public $anmerkung; // string
/**
* Konstruktor
@@ -103,6 +105,8 @@ class adresse extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->firma_id = $row->firma_id;
$this->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$this->anmerkung = $row->anmerkung;
}
else
{
@@ -157,6 +161,8 @@ class adresse extends basis_db
$adr_obj->insertamum = $row->insertamum;
$adr_obj->insertvon = $row->insertvon;
$adr_obj->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$adr_obj->anmerkung = $row->anmerkung;
$this->result[] = $adr_obj;
}
@@ -211,6 +217,8 @@ class adresse extends basis_db
$adr_obj->insertamum = $row->insertamum;
$adr_obj->insertvon = $row->insertvon;
$adr_obj->zustelladresse = $this->db_parse_bool($row->zustelladresse);
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$adr_obj->anmerkung = $row->anmerkung;
$this->result[] = $adr_obj;
}
@@ -281,7 +289,7 @@ class adresse extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, rechnungsadresse, anmerkung) VALUES('.
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->strasse).', '.
@@ -294,7 +302,9 @@ class adresse extends basis_db
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
$this->db_add_param($this->updatevon).');';
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->rechnungsadresse, FHC_BOOLEAN, false).','.
$this->db_add_param($this->anmerkung).');';
}
else
{
@@ -317,7 +327,9 @@ class adresse extends basis_db
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).', '.
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).', '.
' rechnungsadresse='.$this->db_add_param($this->rechnungsadresse, FHC_BOOLEAN, false).','.
' anmerkung='.$this->db_add_param($this->anmerkung).' '.
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
}
@@ -428,6 +440,8 @@ class adresse extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->firma_id = $row->firma_id;
$this->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
$this->anmerkung = $row->anmerkung;
}
else
{
+28 -18
View File
@@ -302,21 +302,21 @@ class dokument_export
switch($this->outputformat)
{
case 'pdf':
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$this->filename.'.pdf"');
header('Content-Length: '.$fsize);
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="'.$this->filename.'.pdf"');
header('Content-Length: '.$fsize);
break;
case 'doc':
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$this->filename.'.doc"');
header('Content-Length: '.$fsize);
header('Content-type: application/vnd.ms-word');
header('Content-Disposition: attachment; filename="'.$this->filename.'.doc"');
header('Content-Length: '.$fsize);
break;
case 'odt':
header('Content-type: application/vnd.oasis.opendocument.text');
header('Content-Disposition: attachment; filename="'.$this->filename.'.odt"');
header('Content-Length: '.$fsize);
header('Content-type: application/vnd.oasis.opendocument.text');
header('Content-Disposition: attachment; filename="'.$this->filename.'.odt"');
header('Content-Length: '.$fsize);
break;
default:
exit('Outputformat is not defined');
@@ -383,21 +383,21 @@ class dokument_export
foreach( $data as $key => $value )
{
if( is_array($value) )
if( is_array($value) )
{
if( is_numeric($key) )
if( is_numeric($key) )
{
$key = 'item'.$key; //dealing with <0/>..<n/> issues
$this->ConvertArrayToXML($value, null, $_xml_data);
}
$key = 'item'.$key; //dealing with <0/>..<n/> issues
$this->ConvertArrayToXML($value, null, $_xml_data);
}
else
{
$subnode = $_xml_data->addChild($key);
$this->ConvertArrayToXML($value, null, $subnode);
$subnode = $_xml_data->addChild($key);
$this->ConvertArrayToXML($value, null, $subnode);
}
}
}
else
$_xml_data->addChild("$key",htmlspecialchars("$value"));
$_xml_data->addChild("$key",htmlspecialchars("$value"));
}
return $_xml_data->asXML();
}
@@ -424,5 +424,15 @@ class dokument_export
return true;
}
/**
* Set the Filename
* @param string $filename Filename without Extension.
* @return void
*/
public function setFilename($filename)
{
$this->filename = $filename;
}
}
?>
+22 -5
View File
@@ -84,6 +84,8 @@ class prestudent extends person
public $bestaetigtam;
public $bestaetigtvon;
public $bewerbung_abgeschicktamum;
public $statusgrund_id;
public $rt_stufe;
public $studiensemester_old = '';
public $ausbildungssemester_old = '';
@@ -458,6 +460,8 @@ class prestudent extends person
$rolle->bestaetigtvon = $row->bestaetigtvon;
$rolle->anmerkung_status = $row->anmerkung;
$rolle->bewerbung_abgeschicktamum = $row->bewerbung_abgeschicktamum;
$rolle->rt_stufe = $row->rt_stufe;
$rolle->statusgrund_id = $row->statusgrund_id;
$this->result[] = $rolle;
}
return true;
@@ -511,6 +515,8 @@ class prestudent extends person
$this->bestaetigtvon = $row->bestaetigtvon;
$this->anmerkung_status = $row->anmerkung;
$this->bewerbung_abgeschicktamum = $row->bewerbung_abgeschicktamum;
$this->statusgrund_id = $row->statusgrund_id;
$this->rt_stufe = $row->rt_stufe;
return true;
}
@@ -789,7 +795,7 @@ class prestudent extends person
$qry = 'INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon,
updateamum, updatevon, ext_id, orgform_kurzbz, bestaetigtam, bestaetigtvon, anmerkung,
bewerbung_abgeschicktamum, studienplan_id) VALUES('.
bewerbung_abgeschicktamum, studienplan_id, rt_stufe, statusgrund_id) VALUES('.
$this->db_add_param($this->prestudent_id).",".
$this->db_add_param($this->status_kurzbz).",".
$this->db_add_param($this->studiensemester_kurzbz).",".
@@ -805,7 +811,9 @@ class prestudent extends person
$this->db_add_param($this->bestaetigtvon).",".
$this->db_add_param($this->anmerkung_status).",".
$this->db_add_param($this->bewerbung_abgeschicktamum).",".
$this->db_add_param($this->studienplan_id,FHC_INTEGER).");";
$this->db_add_param($this->studienplan_id,FHC_INTEGER).",".
$this->db_add_param($this->rt_stufe,FHC_INTEGER).",".
$this->db_add_param($this->statusgrund_id, FHC_INTEGER).");";
}
else
{
@@ -835,7 +843,9 @@ class prestudent extends person
' bewerbung_abgeschicktamum='.$this->db_add_param($this->bewerbung_abgeschicktamum).",".
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).",".
' anmerkung='.$this->db_add_param($this->anmerkung_status).",".
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).",".
' rt_stufe='.$this->db_add_param($this->rt_stufe).",".
' statusgrund_id='.$this->db_add_param($this->statusgrund_id, FHC_INTEGER)." ".
" WHERE
prestudent_id=".$this->db_add_param($this->prestudent_id, FHC_INTEGER, false)."
AND status_kurzbz=".$this->db_add_param($this->status_kurzbz, FHC_STRING, false)."
@@ -890,7 +900,8 @@ class prestudent extends person
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO public.tbl_prestudentstatus(prestudent_id, status_kurzbz, studiensemester_kurzbz,'
. ' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz,'
. ' bestaetigtam, bestaetigtvon, anmerkung, bewerbung_abgeschicktamum, studienplan_id) VALUES('.
. ' bestaetigtam, bestaetigtvon, anmerkung, bewerbung_abgeschicktamum, studienplan_id, '
. ' rt_stufe, statusgrund_id) VALUES('.
$this->db_add_param($this->prestudent_id).','.
$this->db_add_param($this->status_kurzbz).','.
$this->db_add_param($this->studiensemester_kurzbz).','.
@@ -906,7 +917,9 @@ class prestudent extends person
$this->db_add_param($this->bestaetigtvon).','.
$this->db_add_param($this->anmerkung_status).','.
$this->db_add_param($this->bewerbung_abgeschicktamum).','.
$this->db_add_param($this->studienplan_id, FHC_INTEGER).');';
$this->db_add_param($this->studienplan_id, FHC_INTEGER).','.
$this->db_add_param($this->rt_stufe, FHC_INTEGER).','.
$this->db_add_param($this->statusgrund_id, FHC_INTEGER).');';
if($log->save(true))
{
@@ -1013,6 +1026,8 @@ class prestudent extends person
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
$this->studienplan_bezeichnung = $row->studienplan_bezeichnung;
$this->rt_stufe = $row->rt_stufe;
$this->statusgrund_id = $row->statusgrund_id;
return true;
}
else
@@ -1065,6 +1080,8 @@ class prestudent extends person
$this->bewerbung_abgeschicktamum = $row->bewerbung_abgeschicktamum;
$this->orgform_kurzbz = $row->orgform_kurzbz;
$this->studienplan_id = $row->studienplan_id;
$this->rt_stufe = $row->rt_stufe;
$this->statusgrund_id = $row->statusgrund_id;
return true;
}
else
+71 -71
View File
@@ -25,7 +25,7 @@ class statistik extends basis_db
{
public $new;
public $statistik_obj=array();
public $result;
public $result=array();
public $statistik_kurzbz;
public $content_id;
@@ -40,32 +40,32 @@ class statistik extends basis_db
public $udpatevon;
public $berechtigung_kurzbz;
public $preferences;
public $studiengang_kz; // integer
public $prestudent_id; // integer
public $geschlecht; // char(1)
public $studiensemester_kurzbz;// varchar(16)
public $ausbildungssemester;// smallint
public $anzahl; //Hilfsvariable fuer Group BY Abfragen
// Daten der Statistik
public $data; // DB ressource
public $html;
public $csv;
public $json;
/**
* Konstruktor
*/
public function __construct($statistik_kurzbz=null)
{
parent::__construct();
parent::__construct();
if(!is_null($statistik_kurzbz))
$this->load($statistik_kurzbz);
else
$this->new=true;
$this->new=true;
}
/**
@@ -74,13 +74,13 @@ class statistik extends basis_db
*/
public function load($statistik_kurzbz)
{
$qry = "SELECT
$qry = "SELECT
*
FROM
public.tbl_statistik
WHERE
statistik_kurzbz = " . $this->db_add_param($statistik_kurzbz);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
@@ -99,7 +99,7 @@ class statistik extends basis_db
$this->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$this->preferences = $row->preferences;
$this->new = false;
return true;
}
else
@@ -114,7 +114,7 @@ class statistik extends basis_db
return false;
}
}
/**
* Laedt alle Statistiken
* @return true wenn ok, sonst false
@@ -123,15 +123,15 @@ class statistik extends basis_db
{
$qry = 'SELECT * FROM public.tbl_statistik';
if($order)
if($order)
$qry .= ' ORDER BY ' . $order;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new statistik();
$obj->statistik_kurzbz = $row->statistik_kurzbz;
$obj->content_id = $row->content_id;
$obj->bezeichnung = $row->bezeichnung;
@@ -145,10 +145,10 @@ class statistik extends basis_db
$obj->udpatevon = $row->updatevon;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->preferences = $row->preferences;
$this->result[] = $obj;
}
return true;
}
else
@@ -169,13 +169,13 @@ class statistik extends basis_db
elseif ($publish==false)
$qry.=' AND NOT publish ';
$qry.=' ORDER BY bezeichnung;';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new statistik();
$obj->statistik_kurzbz = $row->statistik_kurzbz;
$obj->content_id = $row->content_id;
$obj->bezeichnung = $row->bezeichnung;
@@ -189,17 +189,17 @@ class statistik extends basis_db
$obj->udpatevon = $row->updatevon;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->preferences = $row->preferences;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Laedt alle Statistik Gruppen, Parameter publish zum Filtern.
@@ -225,20 +225,20 @@ class statistik extends basis_db
while($row = $this->db_fetch_object($result))
{
$obj = new statistik();
$obj->gruppe = $row->gruppe;
$obj->anzahl = $row->anzahl;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Speichert einen Statistik Datensatz
@@ -255,10 +255,10 @@ class statistik extends basis_db
* integer umgestellt ist)
*/
$this->statistik_kurzbz = preg_replace('/\W/', '', $this->statistik_kurzbz);
if($new)
{
$qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql,
$qry = 'INSERT INTO public.tbl_statistik(statistik_kurzbz, content_id, bezeichnung, url, sql,
gruppe, publish, insertamum, insertvon, updateamum, updatevon, preferences, berechtigung_kurzbz) VALUES('.
$this->db_add_param($this->statistik_kurzbz).','.
$this->db_add_param($this->content_id,FHC_INTEGER).','.
@@ -305,23 +305,23 @@ class statistik extends basis_db
return false;
}
}
/**
* Liefert ein Array mit den Menueeintraegen der Statistiken
* Mit dem Returnwert dieser Funktion wird die entsprechende Stelle im
* Menue ueberschrieben
* Menue ueberschrieben
* @return Array fuer Menue
*/
public function getMenueArray()
{
$arr = array();
$qry = "SELECT
$qry = "SELECT
*
FROM
public.tbl_statistik
ORDER BY gruppe, bezeichnung, statistik_kurzbz";
if($result = $this->db_query($qry))
{
$lastgruppe='';
@@ -342,13 +342,13 @@ class statistik extends basis_db
{
$arr[$row->statistik_kurzbz]=array('name'=>$row->bezeichnung, 'link'=>APP_ROOT.'vilesci/statistik/statistik_frameset.php?statistik_kurzbz='.$row->statistik_kurzbz, 'target'=>'main');
if($row->berechtigung_kurzbz!='')
$arr[$row->statistik_kurzbz]['permissions']=array($row->berechtigung_kurzbz);
$arr[$row->statistik_kurzbz]['permissions']=array($row->berechtigung_kurzbz);
}
}
}
return $arr;
}
/**
* Loescht einen Eintrag
*
@@ -358,7 +358,7 @@ class statistik extends basis_db
public function delete($statistik_kurzbz)
{
$qry = "DELETE FROM public.tbl_statistik WHERE statistik_kurzbz=".$this->db_add_param($statistik_kurzbz).";";
if($this->db_query($qry))
{
return true;
@@ -369,9 +369,9 @@ class statistik extends basis_db
return false;
}
}
/**
* Laedt bestimmte PreStudenten
* @param studiengang_kz KZ des Studienganges der zu Laden ist
@@ -393,22 +393,22 @@ class statistik extends basis_db
$this->errormsg = 'Ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
// Neue Studenten ermitteln
$qry="
SELECT
SELECT
DISTINCT prestudent_id, geschlecht, studiengang_kz, ausbildungssemester, studiensemester_kurzbz
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus status USING (prestudent_id)
JOIN public.tbl_person USING (person_id)
WHERE
FROM
public.tbl_prestudent
JOIN public.tbl_prestudentstatus status USING (prestudent_id)
JOIN public.tbl_person USING (person_id)
WHERE
status_kurzbz='Student'
AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Student' AND datum<status.datum AND prestudent_id=status.prestudent_id)
AND NOT EXISTS(SELECT 1 FROM public.tbl_prestudentstatus WHERE status_kurzbz='Student' AND datum<status.datum AND prestudent_id=status.prestudent_id)
AND studiengang_kz=".$this->db_add_param($studiengang_kz);
if($ausbildungssemester!='')
$qry.=" AND ausbildungssemester=".$this->db_add_param($ausbildungssemester);
$qry.=" AND ((studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if (!is_null($datum_stichtag))
$qry.=" AND datum <=".$this->db_add_param($datum_stichtag);
@@ -418,7 +418,7 @@ class statistik extends basis_db
$qry.=" AND datum <=".$this->db_add_param($datum_stichtag);
$qry.="))";
$qry.=" ORDER BY prestudent_id;";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -440,9 +440,9 @@ class statistik extends basis_db
return true;
}
/**
*
*
* Liefert die DropOut Rate
* @param unknown_type $studiengang_kz
* @param unknown_type $studiensemester_kurzbz
@@ -452,7 +452,7 @@ class statistik extends basis_db
public function get_DropOut($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester=null, $datum_stichtag=null)
{
$this->statistik_obj=array();
if(!is_numeric($studiengang_kz))
{
$this->errormsg = 'Studiengang_kz muss eine gueltige Zahl sein';
@@ -464,21 +464,21 @@ class statistik extends basis_db
$this->errormsg = 'Ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
// Neue Studenten ermitteln
$qry="SELECT DISTINCT prestudent_id, geschlecht, studiengang_kz, ausbildungssemester, studiensemester_kurzbz
FROM tbl_prestudent JOIN tbl_prestudentstatus USING (prestudent_id) JOIN tbl_person USING (person_id)
WHERE (status_kurzbz='Abbrecher')
FROM tbl_prestudent JOIN tbl_prestudentstatus USING (prestudent_id) JOIN tbl_person USING (person_id)
WHERE (status_kurzbz='Abbrecher')
AND studiengang_kz=".$this->db_add_param($studiengang_kz);
if($ausbildungssemester!='')
$qry.=" AND ausbildungssemester=".$this->db_add_param($ausbildungssemester);
$qry.=" AND (studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
if (!is_null($datum_stichtag))
$qry.=" AND datum <=".$this->db_add_param($datum_stichtag);
$qry.=') ';
$qry.=" ORDER BY prestudent_id;";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
@@ -497,10 +497,10 @@ class statistik extends basis_db
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
return true;
}
/**
* Laedt die Daten einer Statistik (derzeit nur SQL)
* @param $statistik_kurzbz
@@ -510,7 +510,7 @@ class statistik extends basis_db
$this->html='';
$this->csv='';
$this->json=array();
if($this->sql!='')
{
$sql = $this->sql;
@@ -524,7 +524,7 @@ class statistik extends basis_db
else
$sql = str_replace('$'.$name,$this->db_add_param($value),$sql);
}
if($this->data = $this->db_query($sql))
{
$this->html.= '<thead><tr>';
@@ -562,22 +562,22 @@ class statistik extends basis_db
return false;
}
}
function getHtmlTable($id, $class='')
{
return '<table class="'.$class.'" id="'.$id.'">'.$this->html.'</table>';
}
function getCSV()
{
return $this->csv;
}
function writeCSV($filename, $delimiter=',', $enclosure='"')
{
$fh=fopen($filename,'w');
$fieldnames=array();
for ($i=0; $i < $this->db_num_fields($this->data); $i++)
$fieldnames[]=$this->db_field_name($this->data,$i);
@@ -588,24 +588,24 @@ class statistik extends basis_db
fclose($fh);
return true;
}
function getJSON()
{
return json_encode($this->json);
}
function getArray()
{
return $this->json;
}
/**
*
*
* Parst Variablen aus einem String und liefert diese als Array zurueck
* @param $value String mit Variablen
* z.B.: "Select * from tbl_person where person_id<'$person_id'"
* oder "../content/statistik/bewerberstatistik.php?stsem=$StSem&stg_kz=$stg_kz"
*
*
* @return Array mit den Variablennamen
*/
function parseVars($value)
@@ -615,7 +615,7 @@ class statistik extends basis_db
$check = '/\$[0-9A-z]+/';
preg_match_all($check, $value, $result);
$result = $result[0];
for($i=0;$i<count($result);$i++)
{
$result[$i] = mb_str_replace('$','',$result[$i]);
+183
View File
@@ -0,0 +1,183 @@
<?php
/* Copyright (C) 2017 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('basis_db.class.php');
class statusgrund extends basis_db
{
public $new; // boolean
public $result = array(); // statusgrund Objekt
//Tabellenspalten
public $statusgrund_id; // integer
public $status_kurzbz; // varchar(20)
public $aktiv = true; // boolean
public $bezeichnung_mehrsprachig; // varchar(255)[]
public $bezeichnung; // text[]
/**
* Konstruktor - Laedt optional einen Statusgrund
*
* @param $statusgrund_id Statusgrund der geladen werden soll (default=null)
*/
public function __construct($statusgrund_id=null)
{
parent::__construct();
if($statusgrund_id != null)
$this->load($statusgrund_id);
}
/**
* Laedt den Statusgrund
*
* @param $statusgrund_id Grund der geladen werden soll
*/
public function load($statusgrund_id)
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$beschreibung = $sprache->getSprachQuery('beschreibung');
$qry = "
SELECT
*,".$bezeichnung_mehrsprachig.",".$beschreibung."
FROM
public.tbl_status_grund
WHERE
statusgrund_id=".$this->db_add_param($statusgrund_id, FHC_INTEGER);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->statusgrund_id = $row->statusgrund_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
}
else
{
$this->errormsg = "Es ist kein Eintrag mit dieser ID vorhanden";
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return true;
}
/**
* Laedt die Gruende fuer einen Status
*
* @param $status_kurzbz Status zu dem die Gruende geladen werden sollen
* @param boolean $aktiv Gibt an ob nur aktive Eintraege geladen werden sollen
*/
public function getFromStatus($status_kurzbz, $aktiv=null)
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$beschreibung = $sprache->getSprachQuery('beschreibung');
$qry = "
SELECT
*,".$bezeichnung_mehrsprachig.",".$beschreibung."
FROM
public.tbl_status_grund
WHERE
status_kurzbz=".$this->db_add_param($status_kurzbz);
if(!is_null($aktiv))
$qry.=" AND aktiv=".($aktiv?'true':'false');
$qry.=" ORDER BY bezeichnung_mehrsprachig[0]";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new statusgrund();
$obj->statusgrund_id = $row->statusgrund_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return true;
}
/**
* Laedt die Statusgruende
*
* @param boolean $aktiv Wenn true werden nur aktive geladen.
*/
public function getAll($aktiv=null)
{
$sprache = new sprache();
$bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig');
$beschreibung = $sprache->getSprachQuery('beschreibung');
$qry = "
SELECT
*,".$bezeichnung_mehrsprachig.",".$beschreibung."
FROM
public.tbl_status_grund
";
if(!is_null($aktiv))
$qry.="WHERE aktiv=".($aktiv?'true':'false');
$qry.=" ORDER BY status_kurzbz, bezeichnung_mehrsprachig[0]";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new statusgrund();
$obj->statusgrund_id = $row->statusgrund_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
return true;
}
}
?>
+125 -132
View File
@@ -24,7 +24,7 @@ require_once(dirname(__FILE__).'/benutzer.class.php');
class student extends benutzer
{
//Tabellenspalten
//Tabellenspalten
public $matrikelnr;
public $prestudent_id;
public $studiengang_kz;
@@ -189,8 +189,8 @@ class student extends benutzer
{
//Neuen Datensatz anlegen
$qry = "INSERT INTO public.tbl_student(student_uid, matrikelnr, updateamum, updatevon, prestudent_id,
studiengang_kz, semester, verband, gruppe, insertamum, insertvon)
VALUES(".$this->db_add_param($this->uid).",".
studiengang_kz, semester, verband, gruppe, insertamum, insertvon)
VALUES(".$this->db_add_param($this->uid).",".
$this->db_add_param($this->matrikelnr).",".
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
@@ -206,14 +206,14 @@ class student extends benutzer
{
//Bestehenden Datensatz updaten
$qry = 'UPDATE public.tbl_student SET'.
' matrikelnr='.$this->db_add_param($this->matrikelnr).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).','.
' semester='.$this->db_add_param($this->semester).','.
' verband='.$this->db_add_param(($this->verband==''?' ':$this->verband)).','.
' gruppe='.$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).
" WHERE student_uid=".$this->db_add_param($this->uid).";";
' matrikelnr='.$this->db_add_param($this->matrikelnr).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).','.
' semester='.$this->db_add_param($this->semester).','.
' verband='.$this->db_add_param(($this->verband==''?' ':$this->verband)).','.
' gruppe='.$this->db_add_param(($this->gruppe==''?' ':$this->gruppe)).
" WHERE student_uid=".$this->db_add_param($this->uid).";";
}
if($this->db_query($qry))
@@ -270,7 +270,7 @@ class student extends benutzer
if($gruppe!=null)
$sql_query.= ",public.tbl_benutzergruppe";
$sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname";
//echo $sql_query;
if(!$this->db_query($sql_query))
{
$this->errormsg=$this->db_last_error();
@@ -325,60 +325,53 @@ class student extends benutzer
}
/**
* Gibt Studenten zurück die im übergebenen Studiengang und semester sind
* @param $studiengang_kz
* @param $semester
* @return boolean
*/
public function getStudentsStudiengang($studiengang_kz, $semester = null)
{
/*
if($studiengang_kz == '')
{
$this->errormsg ="Es wurde kein Studiengang übergeben";
return false;
}
*/
$qry = "SELECT * FROM public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
WHERE tbl_benutzer.aktiv = 'true'";
/**
* Gibt Studenten zurück die im übergebenen Studiengang und semester sind
* @param $studiengang_kz
* @param $semester
* @return boolean
*/
public function getStudentsStudiengang($studiengang_kz, $semester = null)
{
$qry = "SELECT * FROM public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
WHERE tbl_benutzer.aktiv = 'true'";
if($studiengang_kz!='')
$qry.=" AND studiengang_kz =".$this->db_add_param($studiengang_kz,FHC_INTEGER);
if($semester != null)
$qry .= " AND semester =".$this->db_add_param($semester, FHC_INTEGER);
$qry.=" ORDER BY nachname, vorname";
if($semester != null)
$qry .= " AND semester =".$this->db_add_param($semester, FHC_INTEGER);
$qry.=" ORDER BY nachname, vorname";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
$this->result[] = $stud;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Prueft ob die StudentLehrverband Zuteilung
@@ -690,55 +683,55 @@ class student extends benutzer
}
/**
* Laedt alle Incoming
* @return boolean
*/
public function getIncoming()
{
$qry = "
SELECT
distinct tbl_student.*, tbl_benutzer.*, tbl_person.*
FROM
public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
tbl_benutzer.aktiv AND
tbl_prestudentstatus.status_kurzbz='Incoming'
";
* Laedt alle Incoming
* @return boolean
*/
public function getIncoming()
{
$qry = "
SELECT
distinct tbl_student.*, tbl_benutzer.*, tbl_person.*
FROM
public.tbl_student
JOIN public.tbl_benutzer ON (student_uid = uid)
JOIN public.tbl_person USING (person_id)
JOIN public.tbl_prestudent USING (prestudent_id)
JOIN public.tbl_prestudentstatus USING(prestudent_id)
WHERE
tbl_benutzer.aktiv AND
tbl_prestudentstatus.status_kurzbz='Incoming'
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$stud = new student();
$stud->uid = $row->student_uid;
$stud->matrikelnr = $row->matrikelnr;
$stud->prestudent_id = $row->prestudent_id;
$stud->studiengang_kz = $row->studiengang_kz;
$stud->semester = $row->semester;
$stud->verband = $row->verband;
$stud->gruppe = $row->gruppe;
$stud->person_id = $row->person_id;
$stud->vorname = $row->vorname;
$stud->nachname = $row->nachname;
$stud->gebdatum = $row->gebdatum;
$this->result[] = $stud;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
$this->result[] = $stud;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
public function getStudentUidsForMeldung($studiensemester1, $studiensemester2, $studiensemester3, $zeitraumStart, $zeitraumEnde)
{
public function getStudentUidsForMeldung($studiensemester1, $studiensemester2, $studiensemester3, $zeitraumStart, $zeitraumEnde)
{
$qry = "SELECT DISTINCT ON(student_uid)* FROM public.tbl_student
JOIN public.tbl_benutzer ON(student_uid = uid)
JOIN public.tbl_person USING(person_id)
@@ -764,19 +757,19 @@ class student extends benutzer
return $uids;
}
return false;
}
}
/**
* Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe
* @param type $uid
* @param type $studiengang_kz
* @param type $studiensemester
* @param type $semester
* @param type $verband
* @param type $gruppe
*/
public function delete_studentLehrverband($uid, $studiengang_kz, $studiensemester, $semester)
{
/**
* Löscht die Zuordnung eines Studenten zu einer Lehrverbandsgruppe
* @param type $uid
* @param type $studiengang_kz
* @param type $studiensemester
* @param type $semester
* @param type $verband
* @param type $gruppe
*/
public function delete_studentLehrverband($uid, $studiengang_kz, $studiensemester, $semester)
{
$qry = 'DELETE FROM public.tbl_studentlehrverband '
. 'WHERE student_uid='.$this->db_add_param($uid)
. ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester)
@@ -792,7 +785,7 @@ class student extends benutzer
$this->errormsg = 'StudentLehrverband konnte nicht gelöscht werden.';
return false;
}
}
}
/**
* Lädt alle LV eines Studenten für ein Semester (standardmäßig aktuelles Semester)
@@ -816,18 +809,18 @@ class student extends benutzer
. 'AND studiensemester_kurzbz = ' . $this->db_add_param($studiensemester)
. ' ORDER BY bezeichnung';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$this->result[] = $row;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$this->result[] = $row;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
}
+15 -5
View File
@@ -31,7 +31,7 @@ $passwort_addons = new addon();
foreach($passwort_addons->aktive_addons as $addon)
{
$passwort_addon_filename = dirname(__FILE__).'/../../addons/'.$addon.'/vilesci/passwort.inc.php';
if(file_exists($passwort_addon_filename))
{
include($passwort_addon_filename);
@@ -42,7 +42,7 @@ foreach($passwort_addons->aktive_addons as $addon)
if(!$passwort_addon_found)
{
/**
* Prueft die Passwort Policy
* Das Passwort muss zumindest 8 Zeichen enthalten, davon mindestens 1 Großbuchstabe,
@@ -52,9 +52,10 @@ if(!$passwort_addon_found)
*
* @param $passwort_neu das neue Passwort
* @param $p Phrasen Objekt - Wenn nicht uebergeben werden die Fehler in der Default Langauge angezeigt
* @param $passwort_alt Altes Passwort bei Passwortaenderung
* @return errormsg wenn Policy nicht erfuellt ist oder true wenn ok
*/
function check_policy($passwort_neu, $p=null)
function check_policy($passwort_neu, $p=null, $passwort_alt=null)
{
if(is_null($p))
$p = new phrase(DEFAULT_LANGUAGE);
@@ -69,6 +70,15 @@ if(!$passwort_addon_found)
$errormsg .= $p->t('passwort/MinLaenge');
}
// Altes Passwort darf nicht gleich dem neuen sein
if(!is_null($passwort_alt) && $passwort_alt!='')
{
if($passwort_neu == $passwort_alt)
{
$error=true;
$errormsg .= $p->t('passwort/nichtGleich');
}
}
// Mindestens 1 Großbuchstabe
if(!preg_match('/[A-Z]/', $passwort_neu))
{
@@ -115,7 +125,7 @@ if(!$passwort_addon_found)
else
return true;
}
/**
* Aendert das Passwort im LDAP
* @param $passwort_alt Altes (aktuelles) Passwort
@@ -145,7 +155,7 @@ if(!$passwort_addon_found)
$encrypted = base64_encode(pack('H*',hash('sha1',$passwort_neu.$salt)).$salt);
$ssha_password = '{SSHA}'.$encrypted;
// LM und NT
// LM und NT
//$hash = new Crypt_CHAP_MSv2();
//$hash->password = $passwort_neu;
// $lm_password = strtoupper(bin2hex($hash->lmPasswordHash()));
+5
View File
@@ -149,6 +149,11 @@ class zeugnisnote extends basis_db
$this->errormsg = 'Note ist ungueltig';
return false;
}
if($this->punkte!='' && !is_numeric($this->punkte))
{
$this->errormsg = 'Punkte sind ungueltig';
return false;
}
if($this->uebernahmedatum!='' && !mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$this->uebernahmedatum))
{
$this->errormsg = 'Uebernahmedatum ist ungueltig';
+3
View File
@@ -30,4 +30,7 @@ $this->phrasen['passwort/CodeOderUsernameFalsch']='Code oder Username falsch';
$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code falsch';
$this->phrasen['passwort/AccountErfolgreichAktiviert']='Ihr Account wurde erfolgreich aktiviert';
$this->phrasen['passwort/WeiterZumLogin']='Weiter zum Login';
$this->phrasen['passwort/RequiredToChangeInfo']='Sie haben Ihr Passwort seit über einem Jahr nicht mehr geändert.
Bitte ändern Sie umgehend Ihr Passwort';
$this->phrasen['passwort/nichtGleich']='Das neue Passwort muss sich vom alten Passwort unterscheiden.';
?>
+1 -1
View File
@@ -23,7 +23,7 @@ $this->phrasen['lehre/kreuzerltool']='Assignment tool<br>("Checkbox"-Tool)';
$this->phrasen['lehre/kreuzerltoolMitMoodleInfo']='You can\'t use the assignment tool together with Moodle.\nIf you wish to use the assignment tool, you have to delete your Moodle Course. Please contact the Support';
$this->phrasen['lehre/moodle']='Moodle';
$this->phrasen['lehre/moodleWartung']='Maintainance';
$this->phrasen['lehre/moodleWartung']='Maintenance';
$this->phrasen['lehre/moodleHandbuch']='Manual';
$this->phrasen['lehre/moodleMitKreuzerltoolInfo']='You can\'t use Moodle together with assignment tool.\nIf you wish to use Moodle, you have to delte the exercises from the assignment tool.';
+3 -1
View File
@@ -30,5 +30,7 @@ $this->phrasen['passwort/CodeOderUsernameFalsch']='Code or Username wrong';
$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code wrong';
$this->phrasen['passwort/AccountErfolgreichAktiviert']='Account has been activated successfully';
$this->phrasen['passwort/WeiterZumLogin']='Proceed to Login';
$this->phrasen['passwort/RequiredToChangeInfo']='You have not changed your password for over a year.
Please change your password immediately';
$this->phrasen['passwort/nichtGleich']='The new password must be different from the old password.';
?>
+10 -7
View File
@@ -22,7 +22,7 @@
// header für no cache
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("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
@@ -35,18 +35,18 @@ require_once('../include/datum.class.php');
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
else
$person_id = '';
if(isset($_GET['adresse_id']))
$adresse_id = $_GET['adresse_id'];
else
else
$adresse_id = '';
$datum = new datum();
$adresse = new adresse();
$rdf_url='http://www.technikum-wien.at/adresse';
echo '
@@ -75,15 +75,16 @@ function draw_rdf($row)
{
global $rdf_url;
$db = new basis_db();
$typ='';
switch ($row->typ)
{
case 'h': $typ='Hauptwohnsitz'; break;
case 'n': $typ='Nebenwohnsitz'; break;
case 'f': $typ='Firma'; break;
case 'r': $typ='Rechnungsadresse'; break;
}
$firma_name='';
if($row->firma_id!='')
{
@@ -114,6 +115,8 @@ function draw_rdf($row)
<ADRESSE:firma_id><![CDATA['.$row->firma_id.']]></ADRESSE:firma_id>
<ADRESSE:firma_name><![CDATA['.$firma_name.']]></ADRESSE:firma_name>
<ADRESSE:updateamum><![CDATA['.date('d.m.Y H:i:s',strtotime($row->updateamum)).']]></ADRESSE:updateamum>
<ADRESSE:rechnungsadresse><![CDATA['.($row->rechnungsadresse?'Ja':'Nein').']]></ADRESSE:rechnungsadresse>
<ADRESSE:anmerkung><![CDATA['.$row->anmerkung.']]></ADRESSE:anmerkung>
</RDF:Description>
</RDF:li>
';
+4 -1
View File
@@ -87,10 +87,13 @@ function drawrow($row)
$oRdf->obj[$i]->setAttribut('teilgenommen',($row->teilgenommen?'Ja':'Nein'),true);
$oRdf->obj[$i]->setAttribut('punkte',$row->punkte,true);
$oRdf->obj[$i]->setAttribut('ort_kurzbz',$row->ort_kurzbz,true);
$oRdf->obj[$i]->setAttribut('reihungstest',$reihungstest_obj->datum.' '.$reihungstest_obj->anmerkung,true);
$oRdf->obj[$i]->setAttribut('anmerkung',$reihungstest_obj->anmerkung,true);
$oRdf->obj[$i]->setAttribut('stufe',$reihungstest_obj->stufe,true);
$oRdf->obj[$i]->setAttribut('studienplan_id',$row->studienplan_id,true);
$oRdf->obj[$i]->setAttribut('studienplan_bezeichnung',$studienplan->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('studiensemester',$reihungstest_obj->studiensemester_kurzbz,true);
$oRdf->obj[$i]->setAttribut('datum',$datum_obj->formatDatum($reihungstest_obj->datum,'d.m.Y'),true);
$oRdf->obj[$i]->setAttribut('datum_iso',$reihungstest_obj->datum,true);
$oRdf->addSequence($row->rt_person_id);
}
+18 -9
View File
@@ -22,7 +22,7 @@
// header für no cache
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("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
// content type setzen
header("Content-type: application/xhtml+xml");
@@ -33,6 +33,7 @@ require_once('../config/vilesci.config.inc.php');
require_once('../include/person.class.php');
require_once('../include/prestudent.class.php');
require_once('../include/datum.class.php');
require_once('../include/statusgrund.class.php');
$rdf_url='http://www.technikum-wien.at/prestudentrolle';
$datum = new datum();
@@ -43,33 +44,38 @@ echo '
xmlns:ROLLE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if(isset($_GET['prestudent_id']) && is_numeric($_GET['prestudent_id']))
$prestudent_id = $_GET['prestudent_id'];
else
else
die('Prestudent_id muss angegeben werden');
if(isset($_GET['status_kurzbz']))
$status_kurzbz = $_GET['status_kurzbz'];
else
else
$status_kurzbz=null;
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz = $_GET['studiensemester_kurzbz'];
else
else
$studiensemester_kurzbz=null;
if(isset($_GET['ausbildungssemester']))
$ausbildungssemester=$_GET['ausbildungssemester'];
else
else
$ausbildungssemester=null;
$ps = new prestudent();
$ps->getPrestudentRolle($prestudent_id, $status_kurzbz, $studiensemester_kurzbz, 'datum desc, insertamum desc', $ausbildungssemester);
$statusgrund = new statusgrund();
$statusgrund->getAll();
$statusgrund_arr = array();
foreach($statusgrund->result as $row)
$statusgrund_arr[$row->statusgrund_id]=$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];
foreach($ps->result as $row)
{
@@ -88,6 +94,9 @@ foreach($ps->result as $row)
<ROLLE:bestaetigt_von><![CDATA['.$row->bestaetigtvon.']]></ROLLE:bestaetigt_von>
<ROLLE:bestaetigt_am><![CDATA['.$datum->convertISODate($row->bestaetigtam).']]></ROLLE:bestaetigt_am>
<ROLLE:anmerkung><![CDATA['.$row->anmerkung_status.']]></ROLLE:anmerkung>
<ROLLE:rt_stufe><![CDATA['.$row->rt_stufe.']]></ROLLE:rt_stufe>
<ROLLE:statusgrund_id><![CDATA['.$row->statusgrund_id.']]></ROLLE:statusgrund_id>
<ROLLE:statusgrund><![CDATA['.(isset($statusgrund_arr[$row->statusgrund_id])?$statusgrund_arr[$row->statusgrund_id]:'').']]></ROLLE:statusgrund>
</RDF:Description>
</RDF:li>
';
+1 -1
View File
@@ -114,7 +114,7 @@ foreach ($rt->result as $row)
$freieplaetze = ' ('.$row->angemeldete_teilnehmer.'/'.$row->max_teilnehmer.')';
}
$bezeichnung = (array_key_exists($row->studiengang_kz, $stg)?$stg[$row->studiengang_kz].' ':'').$row->datum.' '.$row->uhrzeit.' '.$row->ort_kurzbz.' '.$row->anmerkung.$freieplaetze;
$bezeichnung = $row->studiensemester_kurzbz.' St.'.$row->stufe.' '.(array_key_exists($row->studiengang_kz, $stg)?$stg[$row->studiengang_kz].' ':'').$row->datum.' '.$row->uhrzeit.' '.$row->ort_kurzbz.' '.$row->anmerkung.$freieplaetze;
?>
<RDF:li>
<RDF:Description id="<?php echo $row->reihungstest_id; ?>" about="<?php echo $rdf_url.'/'.$row->reihungstest_id; ?>" >
+80
View File
@@ -0,0 +1,80 @@
<?php
/* Copyright (C) 2006 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>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/statusgrund.class.php');
require_once('../include/functions.inc.php');
$uid = get_uid();
$oRdf = new rdf('AUFWANDSTYP','http://www.technikum-wien.at/statusgrund');
$oRdf->sendHeader();
if(isset($_GET['status_kurzbz']))
$status_kurzbz = $_GET['status_kurzbz'];
else
die('Status_kurzbz muss uebergeben werden');
$statusgrund = new statusgrund();
$statusgrund->getFromStatus($status_kurzbz,true);
$i=$oRdf->newObjekt('');
$oRdf->obj[$i]->setAttribut('statusgrund_id','',true);
$oRdf->obj[$i]->setAttribut('status_kurzbz','',true);
$oRdf->obj[$i]->setAttribut('beschreibung','-- keine Auswahl --',true);
$oRdf->obj[$i]->setAttribut('bezeichnung_mehrsprachig','-- keine Auswahl --',true);
$oRdf->addSequence('');
$include_id_found=false;
$include_id = '';
if(isset($_GET['include_id']))
{
$include_id = $_GET['include_id'];
}
foreach($statusgrund->result as $row)
{
if($include_id==$row->statusgrund_id)
$include_id_found=true;
$i=$oRdf->newObjekt($row->statusgrund_id);
$oRdf->obj[$i]->setAttribut('statusgrund_id',$row->statusgrund_id,true);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung[DEFAULT_LANGUAGE],true);
$oRdf->obj[$i]->setAttribut('bezeichnung_mehrsprachig',$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],true);
$oRdf->addSequence($row->statusgrund_id);
}
if(!$include_id_found && $include_id!='')
{
$statusgrund->load($include_id);
$i=$oRdf->newObjekt($statusgrund->statusgrund_id);
$oRdf->obj[$i]->setAttribut('statusgrund_id',$statusgrund->statusgrund_id,true);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$statusgrund->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('beschreibung',$statusgrund->beschreibung[DEFAULT_LANGUAGE],true);
$oRdf->obj[$i]->setAttribut('bezeichnung_mehrsprachig',$statusgrund->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],true);
$oRdf->addSequence($statusgrund->statusgrund_id);
}
$oRdf->sendRdfText();
?>
+406
View File
@@ -0,0 +1,406 @@
<?php
/* Copyright (C) 2017 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>,
*
* Beschreibung:
* Dieses Skript prueft die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
*/
//Spalte statusgrund_id in tbl_prestudentstauts
if(!$result = @$db->db_query("SELECT statusgrund_id FROM public.tbl_prestudentstatus LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN statusgrund_id integer;
ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_prestudentstatus_statusgrund FOREIGN KEY (statusgrund_id) REFERENCES public.tbl_status_grund (statusgrund_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_prestudentstatus: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_prestudentstatus: Spalte statusgrund_id hinzugefuegt';
}
// Berechtigungen fuer web User erteilen um Gebiete anlegen zu duerfen
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_gebiet' AND table_schema='testtool' AND grantee='web' AND privilege_type='INSERT'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_gebiet TO web;
GRANT SELECT, UPDATE ON testtool.tbl_gebiet_gebiet_id_seq TO web;
";
if(!$db->db_query($qry))
echo '<strong>Testtool Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo 'Web User fuer testtool.tbl_gebiet berechtigt';
}
}
//Spalte anmerkung und rechnungsadresse in tbl_adresse
if(!$result = @$db->db_query("SELECT rechnungsadresse FROM public.tbl_adresse LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_adresse ADD COLUMN rechnungsadresse boolean NOT NULL DEFAULT false;
ALTER TABLE public.tbl_adresse ADD COLUMN anmerkung text;
COMMENT ON COLUMN public.tbl_adresse.typ IS 'h=hauptwohnsitz, n=nebenwohnsitz, f=firma, r=Rechnungsadresse';";
if(!$db->db_query($qry))
echo '<strong>public.tbl_adresse: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_adresse: Spalte rechnungsadresse und anmerkung hinzugefuegt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
echo '<br><br><br>';
$tabellen=array(
"bis.tbl_bisorgform" => array("bisorgform_kurzbz","code","bezeichnung"),
"bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
"bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
"bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
"bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
"bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"),
"bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
"bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre"),
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
"bis.tbl_gsprogramm" => array("gsprogramm_id","programm_code","bezeichnung","gsprogrammtyp_kurzbz"),
"bis.tbl_hauptberuf" => array("hauptberufcode","bezeichnung"),
"bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung","lgart_biscode"),
"bis.tbl_mobilitaet" => array("mobilitaet_id","prestudent_id","mobilitaetstyp_kurzbz","studiensemester_kurzbz","mobilitaetsprogramm_code","gsprogramm_id","firma_id","status_kurzbz","ausbildungssemester","insertvon","insertamum","updatevon","updateamum"),
"bis.tbl_mobilitaetstyp" => array("mobilitaetstyp_kurzbz","bezeichnung","aktiv"),
"bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
"bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle","bisorgform_kurzbz"),
"bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz","bezeichnung"),
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz","bezeichnung"),
"bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz","bezeichnung"),
"bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
"bis.tbl_zgvgruppe" => array("gruppe_kurzbz","bezeichnung"),
"bis.tbl_zgvgruppe_zuordnung" => array("zgvgruppe_id" ,"studiengang_kz","zgv_code","zgvmas_code","gruppe_kurzbz"),
"campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
"campus.tbl_anwesenheit" => array("anwesenheit_id","uid","einheiten","datum","anwesend","lehreinheit_id","anmerkung","ext_id"),
"campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_benutzerlvstudiensemester" => array("uid","studiensemester_kurzbz","lehrveranstaltung_id"),
"campus.tbl_content" => array("content_id","template_kurzbz","updatevon","updateamum","insertamum","insertvon","oe_kurzbz","menu_open","aktiv","beschreibung"),
"campus.tbl_contentchild" => array("contentchild_id","content_id","child_content_id","updatevon","updateamum","insertamum","insertvon","sort"),
"campus.tbl_contentgruppe" => array("content_id","gruppe_kurzbz","insertamum","insertvon"),
"campus.tbl_contentlog" => array("contentlog_id","contentsprache_id","uid","start","ende"),
"campus.tbl_contentsprache" => array("contentsprache_id","content_id","sprache","version","sichtbar","content","reviewvon","reviewamum","updateamum","updatevon","insertamum","insertvon","titel","gesperrt_uid"),
"campus.tbl_coodle" => array("coodle_id","titel","beschreibung","coodle_status_kurzbz","dauer","endedatum","insertamum","insertvon","updateamum","updatevon","ersteller_uid"),
"campus.tbl_coodle_ressource" => array("coodle_ressource_id","coodle_id","uid","ort_kurzbz","email","name","zugangscode","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_coodle_termin" => array("coodle_termin_id","coodle_id","datum","uhrzeit","auswahl"),
"campus.tbl_coodle_ressource_termin" => array("coodle_ressource_id","coodle_termin_id","insertamum","insertvon"),
"campus.tbl_coodle_status" => array("coodle_status_kurzbz","bezeichnung"),
"campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"),
"campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz"),
"campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"),
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
"campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
"campus.tbl_freebusytyp" => array("freebusytyp_kurzbz","bezeichnung","beschreibung","url_vorlage"),
"campus.tbl_infoscreen" => array("infoscreen_id","bezeichnung","beschreibung","ipadresse"),
"campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit","exklusiv"),
"campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_lehre_tools" => array("lehre_tools_id","bezeichnung","kurzbz","basis_url","logo_dms_id"),
"campus.tbl_lehre_tools_organisationseinheit" => array("lehre_tools_id","oe_kurzbz","aktiv"),
"campus.tbl_lehrveranstaltung_pruefung" => array("lehrveranstaltung_pruefung_id","lehrveranstaltung_id","pruefung_id"),
"campus.tbl_lvgesamtnote" => array("lehrveranstaltung_id","studiensemester_kurzbz","student_uid","note","mitarbeiter_uid","benotungsdatum","freigabedatum","freigabevon_uid","bemerkung","updateamum","updatevon","insertamum","insertvon","punkte","ext_id"),
"campus.tbl_lvinfo" => array("lehrveranstaltung_id","sprache","titel","lehrziele","lehrinhalte","methodik","voraussetzungen","unterlagen","pruefungsordnung","anmerkung","kurzbeschreibung","genehmigt","aktiv","updateamum","updatevon","insertamum","insertvon","anwesenheit"),
"campus.tbl_news" => array("news_id","uid","studiengang_kz","fachbereich_kurzbz","semester","betreff","text","datum","verfasser","updateamum","updatevon","insertamum","insertvon","datum_bis","content_id"),
"campus.tbl_notenschluessel" => array("lehreinheit_id","note","punkte"),
"campus.tbl_notenschluesseluebung" => array("uebung_id","note","punkte"),
"campus.tbl_paabgabetyp" => array("paabgabetyp_kurzbz","bezeichnung"),
"campus.tbl_paabgabe" => array("paabgabe_id","projektarbeit_id","paabgabetyp_kurzbz","fixtermin","datum","kurzbz","abgabedatum", "insertvon","insertamum","updatevon","updateamum"),
"campus.tbl_pruefungsfenster" => array("pruefungsfenster_id","studiensemester_kurzbz","oe_kurzbz","start","ende"),
"campus.tbl_pruefung" => array("pruefung_id","mitarbeiter_uid","studiensemester_kurzbz","pruefungsfenster_id","pruefungstyp_kurzbz","titel","beschreibung","methode","einzeln","storniert","insertvon","insertamum","updatevon","updateamum","pruefungsintervall"),
"campus.tbl_pruefungstermin" => array("pruefungstermin_id","pruefung_id","von","bis","teilnehmer_max","teilnehmer_min","anmeldung_von","anmeldung_bis","ort_kurzbz","sammelklausur"),
"campus.tbl_pruefungsanmeldung" => array("pruefungsanmeldung_id","uid","pruefungstermin_id","lehrveranstaltung_id","status_kurzbz","wuensche","reihung","kommentar","statusupdatevon","statusupdateamum","anrechnung_id","pruefungstyp_kurzbz"),
"campus.tbl_pruefungsstatus" => array("status_kurzbz","bezeichnung"),
"campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"),
"campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"),
"campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"),
"campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
"campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"),
"campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
"campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
"campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
"fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
"fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
"fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt"),
"fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","typ","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe","ressource_id"),
"fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"),
"fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"),
"fue.tbl_projekt_ressource" => array("projekt_ressource_id","projekt_kurzbz","projektphase_id","ressource_id","funktion_kurzbz","beschreibung","aufwand"),
"fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
"fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
"fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english"),
"lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"),
"lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"),
"lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"),
"lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"),
"lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung"),
"lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
"lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),
"lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
"lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id","vertrag_id"),
"lehre.tbl_lehrfach" => array("lehrfach_id","studiengang_kz","fachbereich_kurzbz","kurzbz","bezeichnung","farbe","aktiv","semester","sprache","updateamum","updatevon","insertamum","insertvon","ext_id"),
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"),
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
"lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
"lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"),
"lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
"lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_lvregeltyp" => array("lvregeltyp_kurzbz","bezeichnung"),
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon","moodle_version"),
"lehre.tbl_moodle_version" => array("moodle_version","bezeichnung","pfad"),
"lehre.tbl_notenschluessel" => array("notenschluessel_kurzbz","bezeichnung"),
"lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre"),
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
"lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"),
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id", "status_kurzbz", "standort_id"),
"lehre.tbl_studienordnungstatus" => array("status_kurzbz","bezeichnung","reihenfolge"),
"lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
"lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id", "ects_stpl", "pflicht_sws", "pflicht_lvs"),
"lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id", "curriculum","export","genehmigung"),
"lehre.tbl_studienplan_semester" => array("studienplan_semester_id", "studienplan_id", "studiensemester_kurzbz", "semester"),
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_id", "apz", "studienplan_id"),
"lehre.tbl_stunde" => array("stunde","beginn","ende"),
"lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
"lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
"lehre.tbl_stundenplan_betriebsmittel" => array("stundenplan_betriebsmittel_id","betriebsmittel_id","stundenplandev_id","anmerkung","insertamum","insertvon"),
"lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum","lehrveranstaltung_id"),
"lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_vertragstyp" => array("vertragstyp_kurzbz","bezeichnung"),
"lehre.tbl_vertragsstatus" => array("vertragsstatus_kurzbz","bezeichnung"),
"lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"),
"lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"),
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
"public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"),
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung"),
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern","nachgereicht_am"),
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"),
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
"public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id","bezeichnung", "aktiv"),
"public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
"public.tbl_aufnahmetermin" => array("aufnahmetermin_id","aufnahmetermintyp_kurzbz","prestudent_id","termin","teilgenommen","bewertung","protokoll","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_aufnahmetermintyp" => array("aufnahmetermintyp_kurzbz","bezeichnung"),
"public.tbl_bankverbindung" => array("bankverbindung_id","person_id","name","anschrift","bic","blz","iban","kontonr","typ","verrechnung","updateamum","updatevon","insertamum","insertvon","ext_id","oe_kurzbz"),
"public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"),
"public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"),
"public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_bewerbungstermine" => array("bewerbungstermin_id","studiengang_kz","studiensemester_kurzbz","beginn","ende","nachfrist","nachfrist_ende","anmerkung", "insertamum", "insertvon", "updateamum", "updatevon","studienplan_id"),
"public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
"public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig"),
"public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung", "pflicht","beschreibung_mehrsprachig","nachreichbar"),
"public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"),
"public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"),
"public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr"),
"public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv","lieferbedingungen","partner_code"),
"public.tbl_firma_mobilitaetsprogramm" => array("firma_id","mobilitaetsprogramm_code","ext_id"),
"public.tbl_firma_organisationseinheit" => array("firma_organisationseinheit_id","firma_id","oe_kurzbz","bezeichnung","kundennummer","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"),
"public.tbl_firmatag" => array("firma_id","tag","insertamum","insertvon"),
"public.tbl_fotostatus" => array("fotostatus_kurzbz","beschreibung"),
"public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"),
"public.tbl_geschaeftsjahr" => array("geschaeftsjahr_kurzbz","start","ende","bezeichnung"),
"public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid","content_visible","gesperrt","zutrittssystem","aufnahmegruppe"),
"public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
"public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"),
"public.tbl_kontakttyp" => array("kontakttyp","beschreibung"),
"public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz", "anmerkung"),
"public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
"public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
"public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker"),
"public.tbl_msg_attachment" => array("attachment_id","message_id","name","filename"),
"public.tbl_msg_message" => array("message_id","person_id","subject","body","priority","relationmessage_id","oe_kurzbz","insertamum","insertvon"),
"public.tbl_msg_recipient" => array("message_id","person_id","token","sent","sentinfo","insertamum","insertvon"),
"public.tbl_msg_status" => array("message_id","person_id","status","statusinfo","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_notizzuordnung" => array("notizzuordnung_id","notiz_id","projekt_kurzbz","projektphase_id","projekttask_id","uid","person_id","prestudent_id","bestellung_id","lehreinheit_id","ext_id","anrechnung_id"),
"public.tbl_notiz_dokument" => array("notiz_id","dms_id"),
"public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz","arbeitsplaetze"),
"public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
"public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix","standort_id"),
"public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"),
"public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr","zugangscode_timestamp"),
"public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_personfunktionstandort" => array("personfunktionstandort_id","funktion_kurzbz","person_id","standort_id","position","anrede"),
"public.tbl_preincoming" => array("preincoming_id","person_id","mobilitaetsprogramm_code","zweck_code","firma_id","universitaet","aktiv","bachelorthesis","masterthesis","von","bis","uebernommen","insertamum","insertvon","updateamum","updatevon","anmerkung","zgv","zgv_ort","zgv_datum","zgv_name","zgvmaster","zgvmaster_datum","zgvmaster_ort","zgvmaster_name","program_name","bachelor","master","jahre","person_id_emergency","person_id_coordinator_dep","person_id_coordinator_int","code","deutschkurs1","deutschkurs2","research_area","deutschkurs3","ext_id"),
"public.tbl_preincoming_lehrveranstaltung" => array("preincoming_id","lehrveranstaltung_id","insertamum","insertvon"),
"public.tbl_preinteressent" => array("preinteressent_id","person_id","studiensemester_kurzbz","firma_id","erfassungsdatum","einverstaendnis","absagedatum","anmerkung","maturajahr","infozusendung","aufmerksamdurch_kurzbz","kontaktmedium_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
"public.tbl_preinteressentstudiengang" => array("studiengang_kz","preinteressent_id","freigabedatum","uebernahmedatum","prioritaet","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_preoutgoing" => array("preoutgoing_id","uid","dauer_von","dauer_bis","ansprechperson","bachelorarbeit","masterarbeit","betreuer","sprachkurs","intensivsprachkurs","sprachkurs_von","sprachkurs_bis","praktikum","praktikum_von","praktikum_bis","behinderungszuschuss","studienbeihilfe","anmerkung_student", "anmerkung_admin", "studienrichtung_gastuniversitaet", "insertamum","insertvon","updateamum","updatevon","projektarbeittitel","ext_id"),
"public.tbl_preoutgoing_firma" => array("preoutgoing_firma_id","preoutgoing_id","mobilitaetsprogramm_code","firma_id","name","auswahl","ext_id"),
"public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"),
"public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz"),
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"),
"public.tbl_rt_ort" => array("rt_id","ort_kurzbz","uid"),
"public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte"),
"public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"),
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"),
"public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"),
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
"public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
"public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id","code"),
"public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","gruppe","sql","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"),
"public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige", "onlinebewerbung"),
"public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
"public.tbl_studienjahr" => array("studienjahr_kurzbz","bezeichnung"),
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung","onlinebewerbung"),
"public.tbl_tag" => array("tag"),
"public.tbl_variable" => array("name","uid","wert"),
"public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype","attribute"),
"public.tbl_vorlagedokument" => array("vorlagedokument_id","sort","vorlagestudiengang_id","dokument_kurzbz"),
"public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz","style","berechtigung","anmerkung_vorlagestudiengang","aktiv","sprache","subject","orgform_kurzbz"),
"testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id","studienplan_id"),
"testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"),
"testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"),
"testtool.tbl_frage" => array("frage_id","kategorie_kurzbz","gebiet_id","level","nummer","demo","insertamum","insertvon","updateamum","updatevon","aktiv"),
"testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile","bezeichnung_mehrsprachig"),
"testtool.tbl_kategorie" => array("kategorie_kurzbz","gebiet_id"),
"testtool.tbl_kriterien" => array("gebiet_id","kategorie_kurzbz","punkte","typ"),
"testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester"),
"testtool.tbl_vorschlag" => array("vorschlag_id","frage_id","nummer","punkte","insertamum","insertvon","updateamum","updatevon","aktiv"),
"testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
"testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
"testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
"system.tbl_app" => array("app"),
"system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
"system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
"system.tbl_benutzerrolle" => array("benutzerberechtigung_id","rolle_kurzbz","berechtigung_kurzbz","uid","funktion_kurzbz","oe_kurzbz","art","studiensemester_kurzbz","start","ende","negativ","updateamum", "updatevon","insertamum","insertvon","kostenstelle_id","anmerkung"),
"system.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"),
"system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon"),
"system.tbl_phrasentext" => array("phrasentext_id","phrase_id","sprache","orgeinheit_kurzbz","orgform_kurzbz","text","description","insertamum","insertvon"),
"system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
"system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"),
"system.tbl_webservicelog" => array("webservicelog_id","webservicetyp_kurzbz","request_id","beschreibung","request_data","execute_time","execute_user"),
"system.tbl_webservicerecht" => array("webservicerecht_id","berechtigung_kurzbz","methode","attribut","insertamum","insertvon","updateamum","updatevon","klasse"),
"system.tbl_webservicetyp" => array("webservicetyp_kurzbz","beschreibung"),
"system.tbl_server" => array("server_kurzbz","beschreibung"),
"wawi.tbl_betriebsmittelperson" => array("betriebsmittelperson_id","betriebsmittel_id","person_id", "anmerkung", "kaution", "ausgegebenam", "retouram","insertamum", "insertvon","updateamum", "updatevon","ext_id","uid"),
"wawi.tbl_betriebsmittel" => array("betriebsmittel_id","betriebsmitteltyp","oe_kurzbz", "ort_kurzbz", "beschreibung", "nummer", "hersteller","seriennummer", "bestellung_id","bestelldetail_id", "afa","verwendung","anmerkung","reservieren","updateamum","updatevon","insertamum","insertvon","ext_id","inventarnummer","leasing_bis","inventuramum","inventurvon","anschaffungsdatum","anschaffungswert","hoehe","breite","tiefe","nummer2","verplanen"),
"wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"),
"wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
"wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
"wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
"wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
"wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
"wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum"),
"wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
"wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
"wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
"wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz"),
"wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
"wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
"wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
"wawi.tbl_buchung" => array("buchung_id","konto_id","kostenstelle_id","buchungstyp_kurzbz","buchungsdatum","buchungstext","betrag","insertamum","insertvon","updateamum","updatevon","ext_id"),
"wawi.tbl_buchungstyp" => array("buchungstyp_kurzbz","bezeichnung"),
"wawi.tbl_rechnungstyp" => array("rechnungstyp_kurzbz","beschreibung","berechtigung_kurzbz"),
"wawi.tbl_rechnung" => array("rechnung_id","bestellung_id","buchungsdatum","rechnungsnr","rechnungsdatum","transfer_datum","buchungstext","insertamum","insertvon","updateamum","updatevon","rechnungstyp_kurzbz","freigegeben","freigegebenvon","freigegebenamum"),
"wawi.tbl_rechnungsbetrag" => array("rechnungsbetrag_id","rechnung_id","mwst","betrag","bezeichnung","ext_id"),
"wawi.tbl_aufteilung" => array("aufteilung_id","bestellung_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
"wawi.tbl_aufteilung_default" => array("aufteilung_id","kostenstelle_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
);
$tabs=array_keys($tabellen);
//print_r($tabs);
$i=0;
foreach ($tabellen AS $attribute)
{
$sql_attr='';
foreach($attribute AS $attr)
$sql_attr.=$attr.',';
$sql_attr=substr($sql_attr, 0, -1);
if (!@$db->db_query('SELECT '.$sql_attr.' FROM '.$tabs[$i].' LIMIT 1;'))
echo '<BR><strong>'.$tabs[$i].': '.$db->db_last_error().' </strong><BR>';
else
echo $tabs[$i].': OK - ';
flush();
$i++;
}
echo '<H2>Gegenpruefung!</H2>';
$error=false;
$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon' AND schemaname != 'reports';";
if (!$result=@$db->db_query($sql_query))
echo '<BR><strong>'.$db->db_last_error().' </strong><BR>';
else
while ($row=$db->db_fetch_object($result))
{
$fulltablename=$row->schemaname.'.'.$row->tablename;
if (!isset($tabellen[$fulltablename]))
{
echo 'Tabelle '.$fulltablename.' existiert in der DB, aber nicht in diesem Skript!<BR>';
$error=true;
}
else
if (!$result_fields=@$db->db_query("SELECT * FROM $fulltablename LIMIT 1;"))
echo '<BR><strong>'.$db->db_last_error().' </strong><BR>';
else
for ($i=0; $i<$db->db_num_fields($result_fields); $i++)
{
$found=false;
$fieldnameDB=$db->db_field_name($result_fields,$i);
foreach ($tabellen[$fulltablename] AS $fieldnameARRAY)
if ($fieldnameDB==$fieldnameARRAY)
{
$found=true;
break;
}
if (!$found)
{
echo 'Attribut '.$fulltablename.'.<strong>'.$fieldnameDB.'</strong> existiert in der DB, aber nicht in diesem Skript!<BR>';
$error=true;
}
}
}
if($error==false)
echo '<br>Gegenpruefung fehlerfrei';
?>
+1 -1
View File
@@ -21,6 +21,6 @@
**/
// Version
$fhcomplete_version = '3.2';
$fhcomplete_version = '3.3';
?>
+13 -6
View File
@@ -1067,7 +1067,7 @@ if(isset($_GET['type']) && $_GET['type']=='savertpunkte')
{
$rtperson = new reihungstest();
$rtperson->loadReihungstestPerson($_GET['rt_person_id']);
$rtperson->punkte = $rtpunkte;
$rtperson->punkte = str_replace(',','.',$rtpunkte);
$rtperson->new=false;
if(!$rtperson->savePersonReihungstest())
{
@@ -1112,7 +1112,7 @@ if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte')
$rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $reihungstest->reihungstest_id);
else
$rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id);
$reihungstest->punkte = $rtpunkte;
$reihungstest->punkte = str_replace(',','.',$rtpunkte);
$reihungstest->reihungstestangetreten=true;
$reihungstest->save(false);
$reihungstest->new=false;
@@ -1585,16 +1585,23 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
<select id='studiensemester_dropdown' name='studiensemester_kurzbz'>
<option value=''>-- keine Auswahl --</option>
<?php
$stsem_zukuenftig = new Studiensemester();
$stsem_zukuenftig->getPlusMinus(5,1);
if($neu)
$stsem_zukuenftig->getPlusMinus(5,1);
else
$stsem_zukuenftig->getAll();
foreach ($stsem_zukuenftig->studiensemester as $row)
{
if($row->studiensemester_kurzbz == $studiensemester_kurzbz)
$selected='selected';
if((!$neu && $row->studiensemester_kurzbz == $reihungstest->studiensemester_kurzbz)
||
($neu && $row->studiensemester_kurzbz == $studiensemester_kurzbz))
$selected='selected="selected"';
else
$selected='';
echo '<OPTION value="'.$row->studiensemester_kurzbz.'" '.$selected.'>'.$db->convert_html_chars($row->studiensemester_kurzbz).'</OPTION>'.'\n';
echo '<OPTION value="'.$row->studiensemester_kurzbz.'" '.$selected.'>'.$db->convert_html_chars($row->studiensemester_kurzbz).'</OPTION>'."\n";
}
?>
</select>