reihungstest: max. teilnehmer, anmeldung durch bewerber

This commit is contained in:
Robert Hofer
2015-01-08 11:42:15 +00:00
parent 877bd6bfb0
commit f86191f825
6 changed files with 5700 additions and 5539 deletions
+84 -47
View File
@@ -96,9 +96,9 @@ if($method=='delete')
if(isset($_GET['rt_id'])) if(isset($_GET['rt_id']))
{ {
$rt_id = isset($_GET['rt_id'])?$_GET['rt_id']:''; $rt_id = filter_input(INPUT_GET, 'rt_id', FILTER_VALIDATE_INT);
$pre_id = isset($_GET['pre'])?$_GET['pre']:''; $pre_id = filter_input(INPUT_GET, 'pre', FILTER_VALIDATE_INT);
if(isset($_GET['delete'])) if(isset($_GET['delete']))
{ {
@@ -123,6 +123,14 @@ if(isset($_GET['rt_id']))
} }
else else
{ {
$reihungstest = new reihungstest;
$reihungstest->load($rt_id);
if($reihungstest->max_teilnehmer && $reihungstest->getTeilnehmerAnzahl($rt_id) >= $reihungstest->max_teilnehmer)
{
die("max. Teilnehmeranzahl erreicht.");
}
$timestamp = time(); $timestamp = time();
$prestudent = new prestudent(); $prestudent = new prestudent();
@@ -545,31 +553,31 @@ function activeTab(tab_nr)
function checkKontakt() function checkKontakt()
{ {
if($("#telefonnummer").val() == '') if($("#telefonnummer").val() === '')
{ {
alert("Telefonnummer darf nicht leer sein!"); alert("Telefonnummer darf nicht leer sein!");
return false; return false;
} }
if($("#email").val() == '') if($("#email").val() === '')
{ {
alert("Email-Adresse darf nicht leer sein!"); alert("Email-Adresse darf nicht leer sein!");
return false; return false;
} }
if($("#strasse").val() == '') if($("#strasse").val() === '')
{ {
alert("Strasse darf nicht leer sein!"); alert("Strasse darf nicht leer sein!");
return false; return false;
} }
if($("#plz").val() == '') if($("#plz").val() === '')
{ {
alert("Postleitzahl darf nicht leer sein!"); alert("Postleitzahl darf nicht leer sein!");
return false; return false;
} }
if($("#ort").val() == '') if($("#ort").val() === '')
{ {
alert("Ort darf nicht leer sein!"); alert("Ort darf nicht leer sein!");
return false; return false;
@@ -580,24 +588,24 @@ function checkKontakt()
function checkPerson() function checkPerson()
{ {
if($("#nachname").val() == '') if($("#nachname").val() === '')
{ {
alert("Ungültiger Nachname!"); alert("Ungültiger Nachname!");
return false; return false;
} }
if($("#vorname").val() == '') if($("#vorname").val() === '')
{ {
alert("Ungültiger Vorname!"); alert("Ungültiger Vorname!");
return false; return false;
} }
if($("#staatsbuergerschaft").val() == '') if($("#staatsbuergerschaft").val() === '')
{ {
alert("Bitte Staatsbürgerschaft auswählen"); alert("Bitte Staatsbürgerschaft auswählen");
return false; return false;
} }
if($("#gebdatum").val() != '') if($("#gebdatum").val() !== '')
{ {
var patt1=new RegExp("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})"); var patt1=new RegExp("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})");
if(!patt1.test($("#gebdatum").val())) if(!patt1.test($("#gebdatum").val()))
@@ -608,9 +616,9 @@ function checkPerson()
} }
// Berechnung der Sozialversicherungsnummer wenn AT // Berechnung der Sozialversicherungsnummer wenn AT
if($("#staatsbuergerschaft").val() == 'A') if($("#staatsbuergerschaft").val() === 'A')
{ {
if($("#svnr").val().length != '10') if($("#svnr").val().length !== '10')
{ {
alert("Ungültige Sozialversicherungsnummer!"); alert("Ungültige Sozialversicherungsnummer!");
return false; return false;
@@ -619,10 +627,10 @@ function checkPerson()
var checksum = 0; var checksum = 0;
var soz_nr = $("#svnr").val(); var soz_nr = $("#svnr").val();
checksum = (3*soz_nr[0])+(7*soz_nr[1])+(9*soz_nr[2])+(5*soz_nr[4])+(8*soz_nr[5])+(4*soz_nr[6])+(2*soz_nr[7])+(1*soz_nr[8])+(6*soz_nr[9]) checksum = (3*soz_nr[0])+(7*soz_nr[1])+(9*soz_nr[2])+(5*soz_nr[4])+(8*soz_nr[5])+(4*soz_nr[6])+(2*soz_nr[7])+(1*soz_nr[8])+(6*soz_nr[9]);
checksum = checksum%11; checksum = checksum%11;
if(checksum != soz_nr[3]) if(checksum !== soz_nr[3])
{ {
alert("Ungültige Sozialversicherungsnummer!"); alert("Ungültige Sozialversicherungsnummer!");
return false; return false;
@@ -724,23 +732,23 @@ padding: 5px;
</style> </style>
</head> </head>
<body> <body class="bewerbung">
<div id="tabs" style="width:auto"> <div id="tabs" style="width:auto">
<div id="tabs-0" style="width:100%"> <div id="tabs-0" style="width:100%">
<ul> <ul>
<li><a href="#tabs-1">&gt;|1| Allgemein <br> </a></li> <li><a href="#tabs-1">&gt;|1| Allgemein <br> </a></li>
<li><a href="#tabs-2">&gt;|2| Persönliche Daten <br> <?php echo $status_person_text;?></a></li> <li><a href="#tabs-2">&gt;|2| Persönliche Daten <br> <?php echo $status_person_text;?></a></li>
<!--<li><a href="#tabs-3">&gt;|3| Zugangsvoraussetzungen<br> <?php echo $status_zgv_text; ?></a></li>--> <!--<li><a href="#tabs-3">&gt;|3| Zugangsvoraussetzungen<br> <?php //echo $status_zgv_text; ?></a></li>-->
<li><a href="#tabs-4">&gt;|3| Kontaktinformationen <br> <?php echo $status_kontakt_text;?></a></li> <li><a href="#tabs-4">&gt;|3| Kontaktinformationen <br> <?php echo $status_kontakt_text;?></a></li>
<li><a href="#tabs-5">&gt;|4| Dokumente <br> <?php echo $status_dokumente_text;?></a></li> <li><a href="#tabs-5">&gt;|4| Dokumente <br> <?php echo $status_dokumente_text;?></a></li>
<li><a href="#tabs-6">&gt;|5| Zahlungen <br> <?php echo $status_zahlungen_text;?></a></li> <li><a href="#tabs-6">&gt;|5| Zahlungen <br> <?php echo $status_zahlungen_text;?></a></li>
<li><a href="#tabs-7">&gt;|6| Aufnahmeverfahren <br> <?php echo $status_aufnahmeverfahren_text;?></a></li> <li><a href="#tabs-7">&gt;|6| Aufnahmeverfahren <br> <?php echo $status_aufnahmeverfahren_text;?></a></li>
<li><a href="#tabs-8">&gt;|7| Bewerbung abschicken <br> </a></li> <li><a href="#tabs-8">&gt;|7| Bewerbung abschicken <br> </a></li>
</ul> </ul>
</div> </div>
<div id="tabs-1"> <div id="tabs-1">
<h2>Allgemein</h2> <h2>Allgemein</h2>
<p>Wir freuen uns dass Sie sich für einen oder mehrere unserer Studiengänge bewerben. <br><br> <p>Wir freuen uns dass Sie sich für einen oder mehrere unserer Studiengänge bewerben. <br><br>
Bitte füllen Sie das Formular vollständig aus und schicken Sie es danach ab.<br><br> Bitte füllen Sie das Formular vollständig aus und schicken Sie es danach ab.<br><br>
<b>Bewerbungsmodus:</b><br> <b>Bewerbungsmodus:</b><br>
<p style="text-align:justify;">Füllen Sie alle Punkte aus. Sind alle Werte vollständig eingetragen, können Sie unter "Bewerbung abschicken" Ihre Bewerbung and die zuständige Assistenz schicken.<br> <p style="text-align:justify;">Füllen Sie alle Punkte aus. Sind alle Werte vollständig eingetragen, können Sie unter "Bewerbung abschicken" Ihre Bewerbung and die zuständige Assistenz schicken.<br>
@@ -1352,33 +1360,65 @@ $studiengang = new studiengang();
$reihungstest = new reihungstest(); $reihungstest = new reihungstest();
if(!$reihungstest->getStgZukuenftige($row->studiengang_kz)) if(!$reihungstest->getStgZukuenftige($row->studiengang_kz))
echo "Fehler aufgetreten"; echo "Fehler aufgetreten";
$stg = new studiengang(); $stg = new studiengang();
$stg->load($row->studiengang_kz); $stg->load($row->studiengang_kz); ?>
echo "<h3>Studiengang ".$stg->bezeichnung."</h3>"; <h3>Studiengang <?php echo $stg->bezeichnung ?></h3>
echo "<table border='1' width='150%'> <table class="reihungstest">
<tr> <tr>
<th width='10%'>ID</th><th>Datum</th><th>Uhrzeit</th><th>Ort</th><th width='90%'>Studiengang</th><th>&nbsp;</th> <th>angemeldet / Plätze</th>
</tr>"; <th>Datum</th>
<th>Uhrzeit</th>
<th>Ort</th>
<th title="<?php echo $row->studiengang_kz ?>">Studiengang</th>
<th>&nbsp;</th>
</tr>
<?php
foreach($reihungstest->result as $rt) foreach($reihungstest->result as $rt)
{ {
$teilnehmer_anzahl = $reihungstest->getTeilnehmerAnzahl($rt->reihungstest_id);
$spalte1 = $rt->max_teilnehmer ? $teilnehmer_anzahl . '/' . $rt->max_teilnehmer : '';
// bereits angenommen // bereits angenommen
if($row->reihungstest_id == $rt->reihungstest_id) if($row->reihungstest_id == $rt->reihungstest_id)
{ {
$rt_help = true; $rt_help = true; ?>
echo "<tr style='background-color:lightgrey;'> <tr style='background-color:lightgrey;'>
<td>".$rt->reihungstest_id."</td><td>".$rt->datum."</td><td>".$rt->uhrzeit."</td><td>".$rt->ort_kurzbz."</td><td>".$stg->bezeichnung."</td><td><input type='button' name='btn_stg' value='Stornieren' onclick='location.href=\"".$_SERVER['PHP_SELF']."?active=5&rt_id=".$rt->reihungstest_id."&pre=".$row->prestudent_id."&delete\" '></td> <td><?php echo $spalte1 ?></td>
</tr>"; <td><?php echo $rt->datum ?></td>
<td><?php echo $rt->uhrzeit ?></td>
<td><?php echo $rt->ort_kurzbz ?></td>
<td><?php echo $stg->bezeichnung ?></td>
<td>
<input type='button' name='btn_stg'
value='Stornieren'
onclick='location.href="<?php echo $_SERVER['PHP_SELF'] ?>?active=5&rt_id=<?php echo $rt->reihungstest_id ?>&pre=<?php echo $row->prestudent_id ?>&delete"'>
</td>
</tr>
<?php
} }
else else
{ {
echo "<tr> ?>
<td>".$rt->reihungstest_id."</td><td>".$rt->datum."</td><td>".$rt->uhrzeit."</td><td>".$rt->ort_kurzbz."</td><td>".$stg->bezeichnung."</td><td><input type='button' name='btn_stg' value='Anmelden' onclick='location.href=\"".$_SERVER['PHP_SELF']."?active=5&rt_id=".$rt->reihungstest_id."&pre=".$row->prestudent_id."\" '></td> <tr>
</tr>"; <td><?php echo $spalte1 ?></td>
<td><?php echo $rt->datum ?></td>
<td><?php echo $rt->uhrzeit ?></td>
<td><?php echo $rt->ort_kurzbz ?></td>
<td><?php echo $stg->bezeichnung ?></td>
<td>
<input type='button' name='btn_stg'
<?php echo isset($rt->max_teilnehmer) && $teilnehmer_anzahl >= $rt->max_teilnehmer ? 'disabled' : '' ?>
value='Anmelden'
onclick='location.href="<?php echo $_SERVER['PHP_SELF'] ?>?active=5&rt_id=<?php echo $rt->reihungstest_id ?>&pre=<?php echo $row->prestudent_id ?>"'>
</td>
</tr>
<?php
} }
} }
echo "</table><br>"; ?>
</table><br>
<?php
} }
?> ?>
@@ -1465,6 +1505,3 @@ function sendBewerbung($prestudent_id)
return true; return true;
} }
?>
File diff suppressed because it is too large Load Diff
+407 -375
View File
@@ -1,375 +1,407 @@
<?php <?php
/* Copyright (C) 2007 Technikum-Wien /* Copyright (C) 2007 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
/** /**
* Klasse Reihungstest * Klasse Reihungstest
* @create 10-01-2007 * @create 10-01-2007
*/ */
require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/basis_db.class.php');
class reihungstest extends basis_db class reihungstest extends basis_db
{ {
public $new; // boolean public $new; // boolean
public $done=false; // boolean public $done=false; // boolean
public $result = array(); public $result = array();
//Tabellenspalten //Tabellenspalten
public $reihungstest_id;// integer public $reihungstest_id;// integer
public $studiengang_kz; // integer public $studiengang_kz; // integer
public $ort_kurzbz; // string public $ort_kurzbz; // string
public $anmerkung; // string public $anmerkung; // string
public $datum; // date public $datum; // date
public $uhrzeit; // time without time zone public $uhrzeit; // time without time zone
public $ext_id; // integer public $ext_id; // integer
public $insertamum; // timestamp public $insertamum; // timestamp
public $insertvon; // bigint public $insertvon; // bigint
public $updateamum; // timestamp public $updateamum; // timestamp
public $updatevon; // bigint public $updatevon; // bigint
public $freigeschaltet=false; // boolean public $freigeschaltet=false; // boolean
public $oeffentlich=false; // boolean
/** public $max_teilnehmer; // integer
* Konstruktor
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null) /**
*/ * Konstruktor
public function __construct($reihungstest_id=null) * @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
{ */
parent::__construct(); public function __construct($reihungstest_id=null)
{
if(!is_null($reihungstest_id)) parent::__construct();
$this->load($reihungstest_id);
} if(!is_null($reihungstest_id))
$this->load($reihungstest_id);
/** }
* Laedt den Reihungstest mit der ID $reihungstest_id
* @param $sreihungstest_id ID des zu ladenden Reihungstests /**
* @return true wenn ok, false im Fehlerfall * Laedt den Reihungstest mit der ID $reihungstest_id
*/ * @param $reihungstest_id ID des zu ladenden Reihungstests
public function load($reihungstest_id) * @return true wenn ok, false im Fehlerfall
{ */
if(!is_numeric($reihungstest_id)) public function load($reihungstest_id)
{ {
$this->errormsg = 'Reihungstest_id ist ungueltig'; if(!is_numeric($reihungstest_id))
return false; {
} $this->errormsg = 'Reihungstest_id ist ungueltig';
return false;
$qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER, false); }
if($this->db_query($qry)) $qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER, false);
{
if($row = $this->db_fetch_object()) if($this->db_query($qry))
{ {
$this->reihungstest_id = $row->reihungstest_id; if($row = $this->db_fetch_object())
$this->studiengang_kz = $row->studiengang_kz; {
$this->ort_kurzbz = $row->ort_kurzbz; $this->reihungstest_id = $row->reihungstest_id;
$this->anmerkung = $row->anmerkung; $this->studiengang_kz = $row->studiengang_kz;
$this->datum = $row->datum; $this->ort_kurzbz = $row->ort_kurzbz;
$this->uhrzeit = $row->uhrzeit; $this->anmerkung = $row->anmerkung;
$this->ext_id = $row->ext_id; $this->datum = $row->datum;
$this->insertamum = $row->insertamum; $this->uhrzeit = $row->uhrzeit;
$this->insertvon = $row->insertvon; $this->ext_id = $row->ext_id;
$this->updateamum = $row->updateamum; $this->insertamum = $row->insertamum;
$this->updatevon = $row->updatevon; $this->insertvon = $row->insertvon;
$this->freigeschaltet = $this->db_parse_bool($row->freigeschaltet); $this->updateamum = $row->updateamum;
return true; $this->updatevon = $row->updatevon;
} $this->max_teilnehmer = $row->max_teilnehmer;
else $this->oeffentlich = $row->oeffentlich;
{ $this->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->errormsg = 'Reihungstest existiert nicht'; return true;
return false; }
} else
} {
else $this->errormsg = 'Reihungstest existiert nicht';
{ return false;
$this->errormsg = 'Fehler beim Laden der Reihungstests'; }
return false; }
} else
} {
$this->errormsg = 'Fehler beim Laden der Reihungstests';
/** return false;
* Liefert alle Reihungstests }
* wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem }
* Datum zurueckgeliefert
*/ /**
public function getAll($datum=null) * Liefert alle Reihungstests
{ * wenn ein Datum uebergeben wird, dann werden alle Reihungstests ab diesem
$qry = "SELECT * FROM public.tbl_reihungstest "; * Datum zurueckgeliefert
if($datum!=null) */
$qry.=" WHERE datum>=".$this->db_add_param($datum); public function getAll($datum=null)
$qry.=" ORDER BY datum DESC, uhrzeit"; {
$qry = "SELECT * FROM public.tbl_reihungstest ";
if($this->db_query($qry)) if($datum!=null)
{ $qry.=" WHERE datum>=".$this->db_add_param($datum);
while($row = $this->db_fetch_object()) $qry.=" ORDER BY datum DESC, uhrzeit";
{
$obj = new reihungstest(); if($this->db_query($qry))
{
$obj->reihungstest_id = $row->reihungstest_id; while($row = $this->db_fetch_object())
$obj->studiengang_kz = $row->studiengang_kz; {
$obj->ort_kurzbz = $row->ort_kurzbz; $obj = new reihungstest();
$obj->anmerkung = $row->anmerkung;
$obj->datum = $row->datum; $obj->reihungstest_id = $row->reihungstest_id;
$obj->uhrzeit = $row->uhrzeit; $obj->studiengang_kz = $row->studiengang_kz;
$obj->ext_id = $row->ext_id; $obj->ort_kurzbz = $row->ort_kurzbz;
$obj->insertamum = $row->insertamum; $obj->anmerkung = $row->anmerkung;
$obj->insertvon = $row->insertvon; $obj->datum = $row->datum;
$obj->updateamum = $row->updateamum; $obj->uhrzeit = $row->uhrzeit;
$obj->updatevon = $row->updatevon; $obj->ext_id = $row->ext_id;
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet); $obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj; $obj->updateamum = $row->updateamum;
} $obj->updatevon = $row->updatevon;
return true; $obj->max_teilnehmer = $row->max_teilnehmer;
} $obj->oeffentlich = $row->oeffentlich;
else $obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
{
$this->errormsg = 'Fehler beim Laden der Reihungstests'; $this->result[] = $obj;
return false; }
} return true;
} }
else
/** {
* Prueft die Variablen auf Gueltigkeit $this->errormsg = 'Fehler beim Laden der Reihungstests';
* @return true wenn ok, false im Fehlerfall return false;
*/ }
private function validate() }
{
//Zahlenfelder pruefen /**
if(!is_numeric($this->studiengang_kz)) * Prueft die Variablen auf Gueltigkeit
{ * @return true wenn ok, false im Fehlerfall
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen'; */
return false; private function validate()
} {
//Gesamtlaenge pruefen //Zahlenfelder pruefen
if(mb_strlen($this->ort_kurzbz)>32) if(!is_numeric($this->studiengang_kz))
{ {
$this->errormsg = 'Ort_kurzbz darf nicht länger als 16 Zeichen sein'; $this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
return false; return false;
} }
if(mb_strlen($this->anmerkung)>64) //Gesamtlaenge pruefen
{ if(mb_strlen($this->ort_kurzbz)>32)
$this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein'; {
return false; $this->errormsg = 'Ort_kurzbz darf nicht länger als 16 Zeichen sein';
} return false;
}
$this->errormsg = ''; if(mb_strlen($this->anmerkung)>64)
return true; {
} $this->errormsg = 'Anmerkung darf nicht länger als 64 Zeichen sein';
return false;
/** }
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt $this->errormsg = '';
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert return true;
* @return true wenn ok, false im Fehlerfall }
*/
public function save() /**
{ * Speichert den aktuellen Datensatz in die Datenbank
if(!$this->validate()) * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
return false; * andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
* @return true wenn ok, false im Fehlerfall
if($this->new) */
{ public function save()
//Neuen Datensatz einfuegen {
if(!$this->validate())
$qry='BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit, return false;
ext_id, insertamum, insertvon, updateamum, updatevon, freigeschaltet) VALUES('.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. if($this->new)
$this->db_add_param($this->ort_kurzbz).', '. {
$this->db_add_param($this->anmerkung).', '. //Neuen Datensatz einfuegen
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->uhrzeit).', '. $qry='BEGIN; INSERT INTO public.tbl_reihungstest (studiengang_kz, ort_kurzbz, anmerkung, datum, uhrzeit,
$this->db_add_param($this->ext_id, FHC_INTEGER).', now(), '. ext_id, insertamum, insertvon, updateamum, updatevon, max_teilnehmer, oeffentlich, freigeschaltet) VALUES('.
$this->db_add_param($this->insertvon).', now(), '. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->updatevon).','. $this->db_add_param($this->ort_kurzbz).', '.
$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).');'; $this->db_add_param($this->anmerkung).', '.
} $this->db_add_param($this->datum).', '.
else $this->db_add_param($this->uhrzeit).', '.
{ $this->db_add_param($this->ext_id, FHC_INTEGER).', now(), '.
$qry='UPDATE public.tbl_reihungstest SET '. $this->db_add_param($this->insertvon).', now(), '.
'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. $this->db_add_param($this->updatevon).','.
'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '. $this->db_add_param($this->max_teilnehmer).','.
'anmerkung='.$this->db_add_param($this->anmerkung).', '. $this->db_add_param($this->oeffentlich).','.
'datum='.$this->db_add_param($this->datum).', '. $this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).');';
'uhrzeit='.$this->db_add_param($this->uhrzeit).', '. }
'ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).', '. else
'updateamum= now(), '. {
'updatevon='.$this->db_add_param($this->updatevon).', '. $qry='UPDATE public.tbl_reihungstest SET '.
'freigeschaltet='.$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).' '. 'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';'; 'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '.
} 'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'datum='.$this->db_add_param($this->datum).', '.
if($this->db_query($qry)) 'uhrzeit='.$this->db_add_param($this->uhrzeit).', '.
{ 'ext_id='.$this->db_add_param($this->ext_id, FHC_INTEGER).', '.
if($this->new) 'updateamum= now(), '.
{ 'updatevon='.$this->db_add_param($this->updatevon).', '.
$qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id"; 'max_teilnehmer='.$this->db_add_param($this->max_teilnehmer).', '.
if($this->db_query($qry)) 'oeffentlich='.$this->db_add_param($this->oeffentlich).', '.
{ 'freigeschaltet='.$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).' '.
if($row = $this->db_fetch_object()) 'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
{ }
$this->reihungstest_id = $row->id;
$this->db_query('COMMIT'); if($this->db_query($qry))
return true; {
} if($this->new)
else {
{ $qry = "SELECT currval('public.tbl_reihungstest_reihungstest_id_seq') as id";
$this->errormsg = 'Fehler beim Auslesen der Sequence'; if($this->db_query($qry))
$this->db_query('ROLLBACK'); {
return false; if($row = $this->db_fetch_object())
} {
} $this->reihungstest_id = $row->id;
else $this->db_query('COMMIT');
{ return true;
$this->errormsg = 'Fehler beim Auslesen der Sequence'; }
$this->db_query('ROLLBACK'); else
return false; {
} $this->errormsg = 'Fehler beim Auslesen der Sequence';
} $this->db_query('ROLLBACK');
return true; return false;
} }
else }
{ else
$this->errormsg = 'Fehler beim Speichern der Daten'; {
return false; $this->errormsg = 'Fehler beim Auslesen der Sequence';
} $this->db_query('ROLLBACK');
} return false;
}
/** }
* Liefert die Reihungstests eines Studienganges return true;
* }
* @param $studiengang_kz else
* @param $order (optional) {
* @return true wenn ok, sonst false $this->errormsg = 'Fehler beim Speichern der Daten';
*/ return false;
public function getReihungstest($studiengang_kz,$order=null) }
{ }
$qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
/**
if ($order!=null) * Liefert die Reihungstests eines Studienganges
$qry .=" ORDER BY ".$order.";"; *
* @param $studiengang_kz
if($this->db_query($qry)) * @param $order (optional)
{ * @return true wenn ok, sonst false
while($row = $this->db_fetch_object()) */
{ public function getReihungstest($studiengang_kz,$order=null)
$obj = new reihungstest(); {
$qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz; if ($order!=null)
$obj->ort_kurzbz = $row->ort_kurzbz; $qry .=" ORDER BY ".$order.";";
$obj->anmerkung = $row->anmerkung;
$obj->datum = $row->datum; if($this->db_query($qry))
$obj->uhrzeit = $row->uhrzeit; {
$obj->ext_id = $row->ext_id; while($row = $this->db_fetch_object())
$obj->insertamum = $row->insertamum; {
$obj->insertvon = $row->insertvon; $obj = new reihungstest();
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon; $obj->reihungstest_id = $row->reihungstest_id;
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet); $obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
$this->result[] = $obj; $obj->anmerkung = $row->anmerkung;
} $obj->datum = $row->datum;
return true; $obj->uhrzeit = $row->uhrzeit;
} $obj->ext_id = $row->ext_id;
else $obj->insertamum = $row->insertamum;
{ $obj->insertvon = $row->insertvon;
$this->errormsg = 'Fehler beim Laden der Reihungstests'; $obj->updateamum = $row->updateamum;
return false; $obj->updatevon = $row->updatevon;
} $obj->max_teilnehmer = $row->max_teilnehmer;
} $obj->oeffentlich = $row->oeffentlich;
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
/**
* Liefert die Reihungstests der Zukunft und einer bestimmten ID $this->result[] = $obj;
* Und sortiert diese so, dass die des uebergebenen Studienganges zuerst geliefert werden }
* @param $include_id return true;
* @param $studiengang_kz }
* @return true wenn ok, sonst false else
*/ {
public function getZukuenftige($include_id, $studiengang_kz) $this->errormsg = 'Fehler beim Laden der Reihungstests';
{ return false;
$qry = "SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)." }
UNION }
SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
UNION /**
SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)." * Liefert die Reihungstests der Zukunft und einer bestimmten ID
ORDER BY sortierung, stg, datum"; * Und sortiert diese so, dass die des uebergebenen Studienganges zuerst geliefert werden
* @param $include_id
if($this->db_query($qry)) * @param $studiengang_kz
{ * @return true wenn ok, sonst false
while($row = $this->db_fetch_object()) */
{ public function getZukuenftige($include_id, $studiengang_kz)
$obj = new reihungstest(); {
$qry = "SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
$obj->reihungstest_id = $row->reihungstest_id; UNION
$obj->studiengang_kz = $row->studiengang_kz; SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
$obj->ort_kurzbz = $row->ort_kurzbz; UNION
$obj->anmerkung = $row->anmerkung; SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)."
$obj->datum = $row->datum; ORDER BY sortierung, stg, datum";
$obj->uhrzeit = $row->uhrzeit;
$obj->ext_id = $row->ext_id; if($this->db_query($qry))
$obj->insertamum = $row->insertamum; {
$obj->insertvon = $row->insertvon; while($row = $this->db_fetch_object())
$obj->updateamum = $row->updateamum; {
$obj->updatevon = $row->updatevon; $obj = new reihungstest();
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$obj->reihungstest_id = $row->reihungstest_id;
$this->result[] = $obj; $obj->studiengang_kz = $row->studiengang_kz;
} $obj->ort_kurzbz = $row->ort_kurzbz;
return true; $obj->anmerkung = $row->anmerkung;
} $obj->datum = $row->datum;
else $obj->uhrzeit = $row->uhrzeit;
{ $obj->ext_id = $row->ext_id;
$this->errormsg = 'Fehler beim Laden der Reihungstests'; $obj->insertamum = $row->insertamum;
return false; $obj->insertvon = $row->insertvon;
} $obj->updateamum = $row->updateamum;
} $obj->updatevon = $row->updatevon;
$obj->max_teilnehmer = $row->max_teilnehmer;
public function getStgZukuenftige($stg) $obj->oeffentlich = $row->oeffentlich;
{ $obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$qry = "SELECT * from public.tbl_reihungstest where studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." AND datum>=now()-'1 days'::interval;";
$this->result[] = $obj;
if($result = $this->db_query($qry)) }
{ return true;
while($row = $this->db_fetch_object($result)) }
{ else
$obj = new reihungstest(); {
$this->errormsg = 'Fehler beim Laden der Reihungstests';
$obj->reihungstest_id = $row->reihungstest_id; return false;
$obj->studiengang_kz = $row->studiengang_kz; }
$obj->ort_kurzbz = $row->ort_kurzbz; }
$obj->anmerkung = $row->anmerkung;
$obj->datum = $row->datum; public function getStgZukuenftige($stg)
$obj->uhrzeit = $row->uhrzeit; {
$obj->ext_id = $row->ext_id; $qry = "SELECT * "
$obj->insertamum = $row->insertamum; . "FROM public.tbl_reihungstest "
$obj->insertvon = $row->insertvon; . "WHERE studiengang_kz = ".$this->db_add_param($stg, FHC_INTEGER)." "
$obj->updateamum = $row->updateamum; . "AND datum>=now()-'1 days'::interval "
$obj->updatevon = $row->updatevon; . "AND oeffentlich;";
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
if($result = $this->db_query($qry))
$this->result[] = $obj; {
} while($row = $this->db_fetch_object($result))
return true; {
} $obj = new reihungstest();
else
return false; $obj->reihungstest_id = $row->reihungstest_id;
} $obj->studiengang_kz = $row->studiengang_kz;
} $obj->ort_kurzbz = $row->ort_kurzbz;
?> $obj->anmerkung = $row->anmerkung;
$obj->datum = $row->datum;
$obj->uhrzeit = $row->uhrzeit;
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->max_teilnehmer = $row->max_teilnehmer;
$obj->oeffentlich = $row->oeffentlich;
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
}
else
return false;
}
public function getTeilnehmerAnzahl($reihungstest_id) {
$qry = 'SELECT count(*) AS anzahl '
. 'FROM public.tbl_prestudent '
. 'WHERE reihungstest_id = ' . $reihungstest_id;
$result = $this->db_query($qry);
$obj = $this->db_fetch_object($result);
return $obj->anzahl;
}
}
+36
View File
@@ -971,3 +971,39 @@ table.hoverbox
border-color:grey; border-color:grey;
} }
*/ */
body.bewerbung table {
border-collapse: collapse;
width: 100%;
}
body.bewerbung table.reihungstest {
table-layout: fixed;
}
body.bewerbung table th,
body.bewerbung table td {
padding: 3px;
border: 1px solid black;
text-align: center;
}
body.bewerbung table.reihungstest td:nth-child(5) {
text-align: left;
}
body.bewerbung .ui-tabs-vertical .ui-tabs-panel {
width: 75em;
}
body.bewerbung table.reihungstest th:nth-child(1),
body.bewerbung table.reihungstest th:nth-child(2),
body.bewerbung table.reihungstest th:nth-child(3),
body.bewerbung table.reihungstest th:nth-child(4),
body.bewerbung table.reihungstest th:nth-child(6) {
width: 10%;
}
body.bewerbung table.reihungstest th:nth-child(5) {
width: 50%;
}
+13 -2
View File
@@ -2256,7 +2256,7 @@ if(!$result = @$db->db_query("SELECT anmerkung FROM lehre.tbl_pruefung LIMIT 1;"
echo ' lehre.tbl_pruefung: Spalte anmerkung hinzugefuegt!<br>'; echo ' lehre.tbl_pruefung: Spalte anmerkung hinzugefuegt!<br>';
} }
// Spalte max_teilnehmer in public.tbl_benutzerrolle // Spalte max_teilnehmer in public.tbl_reihungstest
if(!$result = @$db->db_query("SELECT max_teilnehmer FROM public.tbl_reihungstest LIMIT 1")) if(!$result = @$db->db_query("SELECT max_teilnehmer FROM public.tbl_reihungstest LIMIT 1"))
{ {
$qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN max_teilnehmer integer;"; $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN max_teilnehmer integer;";
@@ -2267,6 +2267,17 @@ if(!$result = @$db->db_query("SELECT max_teilnehmer FROM public.tbl_reihungstest
echo ' public.tbl_reihungstest: Spalte max_teilnehmer hinzugefuegt!<br>'; echo ' public.tbl_reihungstest: Spalte max_teilnehmer hinzugefuegt!<br>';
} }
// Spalte oeffentlich in public.tbl_reihungstest
if(!$result = @$db->db_query("SELECT oeffentlich FROM public.tbl_reihungstest LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN oeffentlich boolean NOT NULL DEFAULT FALSE;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_reihungstest '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_reihungstest: Spalte oeffentlich hinzugefuegt!<br>';
}
echo '<br><br><br>'; echo '<br><br><br>';
$tabellen=array( $tabellen=array(
@@ -2457,7 +2468,7 @@ $tabellen=array(
"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"), "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"),
"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"), "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"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich"),
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
File diff suppressed because it is too large Load Diff