mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 15:32:17 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -99,6 +99,8 @@ if(isset($_GET['uid']))
|
||||
else
|
||||
$getParam = "";
|
||||
}
|
||||
else
|
||||
$getParam='';
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
|
||||
@@ -483,7 +483,10 @@ function saveAnmeldung(lehrveranstaltung_id, termin_id)
|
||||
if(bemerkungen === undefined)
|
||||
bemerkungen = "von Lektor hinzugefügt";
|
||||
|
||||
var studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
|
||||
var studienverpflichtung_id = null;
|
||||
if($("#studienverpflichtung").length)
|
||||
studienverpflichtung_id = $("#studienverpflichtung option:selected").val();
|
||||
|
||||
console.log(studienverpflichtung_id);
|
||||
|
||||
$.ajax({
|
||||
|
||||
@@ -537,45 +537,58 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
}
|
||||
if($prestudent_id != "")
|
||||
{
|
||||
|
||||
$anrechnung->lehrveranstaltung_id = $lehrveranstaltung->lehrveranstaltung_id;
|
||||
$anrechnung->lehrveranstaltung_id_kompatibel = $lv_komp->lehrveranstaltung_id;
|
||||
$anrechnung->prestudent_id = $prestudent_id;
|
||||
$anrechnung->begruendung_id = "2";
|
||||
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
|
||||
$anrechnung->new = true;
|
||||
if($anrechnung->save())
|
||||
$anrechungSaveResult = false;
|
||||
if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true)
|
||||
{
|
||||
$anrechnung->lehrveranstaltung_id = $lehrveranstaltung->lehrveranstaltung_id;
|
||||
$anrechnung->lehrveranstaltung_id_kompatibel = $lv_komp->lehrveranstaltung_id;
|
||||
$anrechnung->prestudent_id = $prestudent_id;
|
||||
$anrechnung->begruendung_id = "2";
|
||||
$anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
|
||||
$anrechnung->new = true;
|
||||
$anrechungSaveResult = $anrechnung->save();
|
||||
}
|
||||
else
|
||||
{
|
||||
$anrechungSaveResult = true;
|
||||
}
|
||||
|
||||
if($anrechungSaveResult)
|
||||
{
|
||||
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
|
||||
if($anmeldung->save(true))
|
||||
{
|
||||
$pruefung = new pruefungCis($termin->pruefung_id);
|
||||
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
|
||||
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
|
||||
else
|
||||
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
|
||||
$from = "noreply@".DOMAIN;
|
||||
$subject = "Anmeldung zur Prüfung";
|
||||
$mail = new mail($to, $from, $subject, "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.");
|
||||
if($anrechnung->anrechnung_id == "")
|
||||
$anmeldung->anrechnung_id = null;
|
||||
else
|
||||
$anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
|
||||
|
||||
if($anmeldung->save(true))
|
||||
{
|
||||
$pruefung = new pruefungCis($termin->pruefung_id);
|
||||
if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== ""))
|
||||
$to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN;
|
||||
else
|
||||
$to = $pruefung->mitarbeiter_uid."@".DOMAIN;
|
||||
$from = "noreply@".DOMAIN;
|
||||
$subject = "Anmeldung zur Prüfung";
|
||||
$mail = new mail($to, $from, $subject, "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.");
|
||||
|
||||
$student = new student($uid);
|
||||
$datum = new datum();
|
||||
$student = new student($uid);
|
||||
$datum = new datum();
|
||||
|
||||
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
|
||||
$lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id);
|
||||
|
||||
$html = "StudentIn ".$student->vorname." ".$student->nachname." hat sich zur Prüfung ".$lv->bezeichnung." am ".$datum->formatDatum($termin->von, "m.d.Y")." von ".$datum->formatDatum($termin->von,"h:i")." Uhr bis ".$datum->formatDatum($termin->bis,"h:i")." Uhr angemeldet.";
|
||||
$mail->setHTMLContent($html);
|
||||
$mail->send();
|
||||
$html = "StudentIn ".$student->vorname." ".$student->nachname." hat sich zur Prüfung ".$lv->bezeichnung." am ".$datum->formatDatum($termin->von, "m.d.Y")." von ".$datum->formatDatum($termin->von,"h:i")." Uhr bis ".$datum->formatDatum($termin->bis,"h:i")." Uhr angemeldet.";
|
||||
$mail->setHTMLContent($html);
|
||||
$mail->send();
|
||||
|
||||
$data['result'] = "Anmeldung erfolgreich!";
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$anmeldung->errormsg;
|
||||
}
|
||||
$data['result'] = "Anmeldung erfolgreich!";
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$anmeldung->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -285,12 +285,14 @@ $studiensemester->getAll();
|
||||
<span type="text" id="terminBis" disabled="true"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<?php if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true): ?>
|
||||
<tr>
|
||||
<td style="vertical-align: top; font-weight: bold;">Studienverpflichtung:* </td>
|
||||
<td>
|
||||
<select id="studienverpflichtung"></select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<tr>
|
||||
<td style="vertical-align: top; font-weight: bold;">Bemerkung: </td>
|
||||
<td>
|
||||
|
||||
@@ -228,7 +228,9 @@ if($uid!='')
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?year=$year' class='Item'>Alle Mitarbeiter anzeigen</a><br></td>";
|
||||
echo '<td style="width:33%">';
|
||||
echo '</td><td style="width:33%">';
|
||||
|
||||
//echo '<div id="resturlaub"></div>';
|
||||
//echo '</td></tr></table>';
|
||||
|
||||
//Anzeige Resturlaubsberechnung
|
||||
|
||||
$resturlaub = new resturlaub();
|
||||
@@ -305,6 +307,7 @@ if($uid!='')
|
||||
echo '</div>';
|
||||
|
||||
echo '</td></tr></table>';
|
||||
|
||||
}
|
||||
|
||||
echo '<br><center>';
|
||||
|
||||
@@ -40,6 +40,7 @@ require_once('../../../include/betriebsmittelperson.class.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/bisverwendung.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
@@ -48,10 +49,22 @@ if (!$db = new basis_db())
|
||||
die($p->t("global/fehlerBeimOeffnenDerDatenbankverbindung"));
|
||||
|
||||
$user = get_uid();
|
||||
if ($user == 'raab' && isset($_GET["debuguser"]))
|
||||
$user = $_GET["debuguser"];
|
||||
|
||||
|
||||
//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeiaufzeichnung
|
||||
//des uebergebenen Users anzeigen
|
||||
if(isset($_GET['uid']))
|
||||
{
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
|
||||
{
|
||||
$user = $_GET['uid'];
|
||||
}
|
||||
else
|
||||
{
|
||||
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$datum = new datum();
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* 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>,
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>
|
||||
@@ -28,11 +28,11 @@ require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/gebiet.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
|
||||
if (!$user=get_uid())
|
||||
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zurück</a>');
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
@@ -42,18 +42,41 @@ echo '
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
|
||||
function deleteZuordnung(ablauf_id)
|
||||
{
|
||||
if(confirm("Wollen Sie dieses Zuordnung wirklich entfernen?"))
|
||||
{
|
||||
$("#data").html(\'<form action="edit_gebiet.php" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteZuordnung" /><input type="hidden" name="ablauf_id" value="\'+ablauf_id+\'" /></form>\');
|
||||
document.sendform.submit();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="data"></div>
|
||||
';
|
||||
|
||||
if(isset($_GET['gebiet_id']))
|
||||
$gebiet_id=$_GET['gebiet_id'];
|
||||
else
|
||||
else
|
||||
$gebiet_id='';
|
||||
|
||||
|
||||
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
|
||||
|
||||
|
||||
echo '<h1> Gebiet bearbeiten</h1>';
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/testtool'))
|
||||
@@ -72,13 +95,13 @@ foreach ($gebiet->result as $row)
|
||||
{
|
||||
if($gebiet_id=='')
|
||||
$gebiet_id=$row->gebiet_id;
|
||||
|
||||
|
||||
if($gebiet_id==$row->gebiet_id)
|
||||
$selected='selected';
|
||||
else
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<OPTION value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</OPTION>';
|
||||
|
||||
echo '<OPTION value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT>
|
||||
<!--<input type="submit" value="Bearbeiten">-->
|
||||
@@ -86,12 +109,53 @@ echo '</SELECT>
|
||||
|
||||
echo '<br /><br />';
|
||||
|
||||
// Ablaufzuordnung entfernen
|
||||
if(isset($_POST['action']) && $_POST['action']=='deleteZuordnung')
|
||||
{
|
||||
if(!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id']))
|
||||
die('ungueltige Parameteruebergabe');
|
||||
|
||||
$ablauf_id = $_POST['ablauf_id'];
|
||||
|
||||
$ablauf = new gebiet();
|
||||
if($ablauf->deleteAblaufZuordnung($ablauf_id))
|
||||
echo '<span class="ok">Ablauf wurde entfernt</span>';
|
||||
else
|
||||
echo '<span class="error">Fehler beim Entfernen:'.$ablauf->errormsg.'</span>';
|
||||
|
||||
}
|
||||
// Ablaufzuordnung hinzufügen
|
||||
if(isset($_POST['action']) && $_POST['action']=='saveAblauf')
|
||||
{
|
||||
$ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id'];
|
||||
$studiengang_kz = $_POST['studiengang_kz'];
|
||||
$reihung = $_POST['reihung'];
|
||||
$gewicht = $_POST['gewicht'];
|
||||
$semester = $_POST['semester'];
|
||||
|
||||
$ablauf = new gebiet();
|
||||
|
||||
$ablauf->ablauf_vorgaben_id = $ablauf_vorgaben_id;
|
||||
$ablauf->studiengang_kz = $studiengang_kz;
|
||||
$ablauf->reihung = $reihung;
|
||||
$ablauf->gewicht = $gewicht;
|
||||
$ablauf->semester = $semester;
|
||||
$ablauf->new = true;
|
||||
$ablauf->gebiet_id = $gebiet_id;
|
||||
|
||||
if($ablauf->saveAblauf())
|
||||
echo '<span class="ok">Ablauf gespeichert</span>';
|
||||
else
|
||||
echo '<span class="error">Fehler beim Speichern:'.$ablauf->errormsg.'</span>';
|
||||
|
||||
}
|
||||
|
||||
//Speichern der Daten
|
||||
if(isset($_POST['speichern']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$gebiet = new gebiet();
|
||||
if($gebiet->load($gebiet_id))
|
||||
{
|
||||
@@ -112,17 +176,17 @@ if(isset($_POST['speichern']))
|
||||
$gebiet->updateamum = date('Y-m-d H:i:s');
|
||||
$gebiet->updatevon = $user;
|
||||
$gebiet->antwortenprozeile = $_POST['antwortenprozeile'];
|
||||
|
||||
|
||||
if($gebiet->save(false))
|
||||
{
|
||||
echo 'Daten erfolgreich gespeichert';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim Speichern: '.$gebiet->errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim Laden des Gebiets</span>';
|
||||
}
|
||||
@@ -135,7 +199,7 @@ if($gebiet_id!='')
|
||||
echo "<hr />";
|
||||
echo '<form accept-charset="UTF-8" action="'.$_SERVER['PHP_SELF'].'?gebiet_id='.$gebiet_id.'&stg_kz='.$stg_kz.'" method="POST">';
|
||||
echo '<table>';
|
||||
|
||||
|
||||
echo '<tr>';
|
||||
//ID
|
||||
echo '<td>ID</td><td>'.$gebiet_id.'</td>';
|
||||
@@ -166,7 +230,7 @@ if($gebiet_id!='')
|
||||
$maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id);
|
||||
if($gebiet->maxpunkte!=$maximalpunkte)
|
||||
$hinweis = '<span class="error">empfohlene Maximalpunkteanzahl: '.$maximalpunkte.'</span>';
|
||||
else
|
||||
else
|
||||
$hinweis ='';
|
||||
echo '<td>Maximale Punkteanzahl</td><td><input type="text" size="5" maxlength="5" name="maxpunkte" value="'.$gebiet->maxpunkte.'">'.$hinweis.'</td>';
|
||||
echo '</tr><tr>';
|
||||
@@ -182,9 +246,74 @@ if($gebiet_id!='')
|
||||
echo '</tr><tr>';
|
||||
echo '<td></td><td><input type="submit" name="speichern" value="Speichern"></td>';
|
||||
echo '</tr></table>';
|
||||
|
||||
|
||||
echo '</form>';
|
||||
|
||||
echo '<hr />
|
||||
<h2>Zuordnung</h2>';
|
||||
|
||||
$gebiet = new gebiet();
|
||||
$gebiet->loadAblaufGebiet($gebiet_id);
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbz',false);
|
||||
|
||||
echo '<form action="edit_gebiet.php" method="POST">';
|
||||
echo '<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Studiengang</th>
|
||||
<th>Reihung</th>
|
||||
<th>Gewicht</th>
|
||||
<th>Semester</th>
|
||||
<th>Vorgaben</th>
|
||||
<th>Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
foreach($gebiet->result as $row)
|
||||
{
|
||||
echo '<tr>
|
||||
<td>'.$studiengang->kuerzel_arr[$row->studiengang_kz].'</td>
|
||||
<td>'.$row->reihung.'</td>
|
||||
<td>'.$row->gewicht.'</td>
|
||||
<td>'.$row->semester.'</td>
|
||||
<td>'.$row->ablauf_vorgaben_id.'</td>
|
||||
<td><a href="#loeschen" onclick="return deleteZuordnung(\''.$row->ablauf_id.'\');" ><img src="../../../skin/images/delete.png" height="15px" /></a></td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</tbody>';
|
||||
echo '<tfoot>
|
||||
<tr>
|
||||
<td><select name="studiengang_kz">';
|
||||
foreach($studiengang->kuerzel_arr as $stg_kz=>$row_stg)
|
||||
{
|
||||
echo '<option value="'.$stg_kz.'">'.$row_stg.'</option>';
|
||||
}
|
||||
echo '</select>
|
||||
</td>
|
||||
<td><input type="text" name="reihung" value="1" size="2" /></td>
|
||||
<td><input type="text" name="gewicht" value="1" size="2"/></td>
|
||||
<td><input type="text" name="semester" value="1" size="2"/></td>
|
||||
<td>
|
||||
<select name="ablauf_vorgaben_id">';
|
||||
|
||||
$ablauf_vorgabe = new gebiet();
|
||||
$ablauf_vorgabe->getAblaufVorgaben();
|
||||
|
||||
foreach($ablauf_vorgabe->result as $vorgabe)
|
||||
{
|
||||
echo '<option value="'.$vorgabe->ablauf_vorgaben_id.'">'.$studiengang->kuerzel_arr[$vorgabe->studiengang_kz].' - Sprache: '.$vorgabe->sprache.' Sprachwahl: '.($vorgabe->sprachwahl?'Ja':'Nein').' Content:'.$vorgabe->content_id.'</option>';
|
||||
}
|
||||
|
||||
echo '</select></td>
|
||||
<td>
|
||||
<input type="hidden" name="action" value="saveAblauf" />
|
||||
<input type="submit" value="speichern" /></td>
|
||||
</tr>';
|
||||
echo '</tfoot></table>';
|
||||
echo '</form>';
|
||||
}
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -31,7 +31,7 @@ require_once('../../../include/frage.class.php');
|
||||
require_once('../../../include/vorschlag.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
|
||||
|
||||
if (!$db = new basis_db())
|
||||
{
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -52,7 +52,7 @@ if(!$rechte->isBerechtigt('basis/testtool', null, 's'))
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbz', false);
|
||||
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1');
|
||||
|
||||
|
||||
if(isset($_GET['gebiet_id']))
|
||||
{
|
||||
$gebiet_id = $_GET['gebiet_id'];
|
||||
@@ -112,7 +112,7 @@ function previewvorschlag()
|
||||
{
|
||||
document.getElementById('vorschauvorschlag').innerHTML = document.getElementById('text_vorschlag').value;
|
||||
}
|
||||
function insertfrage(aTag, eTag)
|
||||
function insertfrage(aTag, eTag)
|
||||
{
|
||||
var input = document.forms['formular_frage'].elements['text'];
|
||||
input.focus();
|
||||
@@ -131,7 +131,7 @@ function insertfrage(aTag, eTag)
|
||||
input.selectionStart = pos;
|
||||
input.selectionEnd = pos;
|
||||
}
|
||||
function insertvorschlag(aTag, eTag)
|
||||
function insertvorschlag(aTag, eTag)
|
||||
{
|
||||
var input = document.forms['formular_vorschlag'].elements['text_vorschlag'];
|
||||
input.focus();
|
||||
@@ -150,6 +150,11 @@ function insertvorschlag(aTag, eTag)
|
||||
input.selectionStart = pos;
|
||||
input.selectionEnd = pos;
|
||||
}
|
||||
|
||||
function confirmDeleteFrage()
|
||||
{
|
||||
return confirm('Wollen Sie diese Frage wirklich löschen?');
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
|
||||
@@ -164,7 +169,7 @@ font-size: 10pt;
|
||||
|
||||
<h1>
|
||||
<div style="float:left">Testtool - Administrationsseite</div>
|
||||
<div style="text-align:right; padding-right: 5px;"><a href="uebersichtFragen.php" class="Item" target="blank">Fragenübersicht</a> | <a href="auswertung.php" class="Item">Auswertung</a> | <a href="Testtool.pdf" class="Item" target="_blank">Hilfe</a></div>
|
||||
<div style="text-align:right; padding-right: 5px;"><a href="uebersichtGebiete.php" class="Item" target="blank">Gebietübersicht</a> |<a href="uebersichtFragen.php" class="Item" target="blank">Fragenübersicht</a> | <a href="auswertung.php" class="Item">Auswertung</a> | <a href="Testtool.pdf" class="Item" target="_blank">Hilfe</a></div>
|
||||
</h1>
|
||||
<?php
|
||||
|
||||
@@ -176,7 +181,7 @@ if(isset($_GET['type']) && $_GET['type']=='changesprache')
|
||||
|
||||
if(!isset($_SESSION['sprache']))
|
||||
$_SESSION['sprache']=DEFAULT_LANGUAGE;
|
||||
|
||||
|
||||
$sprache = $_SESSION['sprache'];
|
||||
|
||||
//Bei Upload des Bildes
|
||||
@@ -270,7 +275,7 @@ if(isset($_POST['submitdata']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$frage = new frage();
|
||||
if($frage->load($_GET['frage_id']))
|
||||
{
|
||||
@@ -278,14 +283,14 @@ if(isset($_POST['submitdata']))
|
||||
$frage->nummer = $_POST['nummer'];
|
||||
$frage->level = $_POST['level'];
|
||||
$frage->new = false;
|
||||
|
||||
|
||||
if($frage->save())
|
||||
{
|
||||
if(!$frage->getFrageSprache($frage->frage_id, $sprache))
|
||||
{
|
||||
$frage->new=true;
|
||||
}
|
||||
|
||||
|
||||
$frage->text = $_POST['text'];
|
||||
$frage->sprache = $sprache;
|
||||
|
||||
@@ -298,14 +303,14 @@ if(isset($_POST['submitdata']))
|
||||
echo "<b>Daten gespeichert</b><br />";
|
||||
$nummer = $frage->nummer;
|
||||
}
|
||||
else
|
||||
else
|
||||
echo '<b>Fehler:'.$frage->errormsg.'</b><br />';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$frage_error_text = $frage->text;
|
||||
echo '<b>Fehler: Text ist kein gueltiges XML:<span class="error"><br />';
|
||||
foreach (libxml_get_errors() as $error)
|
||||
foreach (libxml_get_errors() as $error)
|
||||
{
|
||||
echo $error->message.'<br />';
|
||||
}
|
||||
@@ -324,7 +329,7 @@ if(isset($_POST['submitvorschlag']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$bildcontent='';
|
||||
if(isset($_FILES['bild']['tmp_name']) && is_uploaded_file($_FILES['bild']['tmp_name']))
|
||||
{
|
||||
@@ -347,7 +352,7 @@ if(isset($_POST['submitvorschlag']))
|
||||
else
|
||||
echo "<b>Datei ist kein Bild!</b><br />";
|
||||
}
|
||||
|
||||
|
||||
$audiocontent='';
|
||||
if(isset($_FILES['audio']['tmp_name']) && is_uploaded_file($_FILES['audio']['tmp_name']))
|
||||
{
|
||||
@@ -409,18 +414,18 @@ if(isset($_POST['submitvorschlag']))
|
||||
$vorschlag->sprache = $sprache;
|
||||
$vorschlag->updateamum = date('Y-m-d H:i:s');
|
||||
$vorschlag->updatevon = $user;
|
||||
|
||||
|
||||
$xml = '<?xml version="1.0" encoding="utf-8"?><root>'.$vorschlag->text.'</root>';
|
||||
libxml_use_internal_errors(true);
|
||||
if(simplexml_load_string($xml))
|
||||
{
|
||||
{
|
||||
if($vorschlag->save())
|
||||
{
|
||||
if($vorschlag->save_vorschlagsprache())
|
||||
{
|
||||
echo "<b>Vorschlag gespeichert</b><br />";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$save_vorschlag_error=true;
|
||||
echo "Fehler beim Speichern von Vorschlagsprache: $vorschlag->errormsg<br />";
|
||||
@@ -432,11 +437,11 @@ if(isset($_POST['submitvorschlag']))
|
||||
echo '<b>'.$vorschlag->errormsg.'</b><br />';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$vorschlag_error_text = $vorschlag->text;
|
||||
echo '<b>Fehler: Text ist kein gueltiges XML:<span class="error"><br />';
|
||||
foreach (libxml_get_errors() as $error)
|
||||
foreach (libxml_get_errors() as $error)
|
||||
{
|
||||
echo $error->message.'<br />';
|
||||
}
|
||||
@@ -451,21 +456,33 @@ if(isset($_GET['type']) && $_GET['type']=='delete' && isset($_GET['vorschlag_id'
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$vs = new vorschlag();
|
||||
if(!$vs->delete($_GET['vorschlag_id']))
|
||||
echo '<b>'.$vs->errormsg.'</b><br />';
|
||||
$vorschlag_id='';
|
||||
}
|
||||
|
||||
if(isset($_POST['type']) && $_POST['type']=='deleteFrage')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
$frage = new frage();
|
||||
if(!$frage->delete($_GET['frage_id']))
|
||||
{
|
||||
echo "Löschen fehlgeschlagen:".$frage->errormsg;
|
||||
}
|
||||
}
|
||||
|
||||
// anlegen einer neuen Frage
|
||||
if(isset($_GET['type']) && $_GET['type']=='neuefrage')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$frage_obj = new frage();
|
||||
|
||||
|
||||
$frage_obj->gebiet_id = $_GET['gebiet_id'];
|
||||
$frage_obj->nummer=999;
|
||||
$frage_obj->demo=false;
|
||||
@@ -480,12 +497,12 @@ if(isset($_GET['type']) && $_GET['type']=='neuefrage')
|
||||
echo 'Frage wurde erfolgreich angelegt';
|
||||
$nummer=999;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim Speichern der FrageSprache: '.$frage_obj->errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Fehler beim Speichern der Frage: '.$frage_obj->errormsg.'</span>';
|
||||
}
|
||||
@@ -495,18 +512,18 @@ if(isset($_GET['type']) && $_GET['type']=='neuefrage')
|
||||
if(isset($_GET['type']) && $_GET['type']=='gebietpruefen' && isset($_GET['gebiet_id']))
|
||||
{
|
||||
$gebiet = new gebiet($gebiet_id);
|
||||
|
||||
|
||||
if($gebiet->check_gebiet($gebiet_id))
|
||||
{
|
||||
echo "<b>Das Gebiet $gebiet->bezeichnung wurde erfolgreich ueberprueft</b>";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo "<b>Bei der Ueberpruefung des Gebiets '$gebiet->bezeichnung' sind folgende Fehler aufgetreten:<br /></b>";
|
||||
echo nl2br($gebiet->errormsg);
|
||||
echo '<br /><br />';
|
||||
}
|
||||
|
||||
|
||||
$maxpunkte = $gebiet->berechneMaximalpunkte($gebiet_id);
|
||||
if($gebiet->maxpunkte!=$maxpunkte)
|
||||
{
|
||||
@@ -519,63 +536,63 @@ echo '<table width="100%"><tr><td>';
|
||||
//Liste der Studiengänge
|
||||
echo 'Studiengang: <select onchange="window.location.href=this.value">';
|
||||
echo '<option value="'.$PHP_SELF.'?" >Alle Studiengänge</option>';
|
||||
foreach ($studiengang->result as $row)
|
||||
foreach ($studiengang->result as $row)
|
||||
{
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
|
||||
if($stg_kz=='')
|
||||
$stg_kz=$row->studiengang_kz;
|
||||
if($row->studiengang_kz==$stg_kz)
|
||||
$selected='selected="selected"';
|
||||
else
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<option value="'.$PHP_SELF.'?stg_kz='.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel).'</option>'."\n";
|
||||
}
|
||||
echo '</select>';
|
||||
|
||||
//Liste der Gebiete
|
||||
$qry= "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz."";
|
||||
$qry= "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz."";
|
||||
$anzahl = $db->db_num_rows($db->db_query($qry));
|
||||
|
||||
|
||||
if ($stg_kz!=="-1" && $anzahl!==0)
|
||||
$qry= "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$stg_kz." ORDER BY semester,reihung";
|
||||
else
|
||||
else
|
||||
$qry= "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung";
|
||||
|
||||
|
||||
if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
|
||||
{
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo ' Gebiet:<select onchange="window.location.href=\''.$PHP_SELF.'?stg_kz='.$stg_kz.'&gebiet_id=\'+this.value;">';
|
||||
//echo 'Gebiet: <select onchange="window.location.href=this.value">';
|
||||
|
||||
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($gebiet_id=='')
|
||||
$gebiet_id = $row->gebiet_id;
|
||||
|
||||
|
||||
if($gebiet_id==$row->gebiet_id)
|
||||
$selected='selected="selected"';
|
||||
else
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
if ($stg_kz=="-1")
|
||||
echo '<option value="'.$row->gebiet_id.'" '.$selected.'>'.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</option>'."\n";
|
||||
else
|
||||
else
|
||||
echo '<option value="'.$row->gebiet_id.'" '.$selected.'>('.$row->semester.') - '.$row->bezeichnung.' - '.$row->kurzbz.' - '.$row->zeit.'</option>'."\n";
|
||||
}
|
||||
echo '</select>';
|
||||
}
|
||||
|
||||
|
||||
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$nummer&type=gebietpruefen' class='Item'>Pruefen</a> | ";
|
||||
echo " <a href='edit_gebiet.php?gebiet_id=$gebiet_id&stg_kz=$stg_kz' class='Item'>Bearbeiten</a>";
|
||||
//echo " <br/>Gebiet_id=".$gebiet_id."";
|
||||
echo '</td><td align="right">';
|
||||
|
||||
|
||||
//Liste der Sprachen
|
||||
|
||||
|
||||
$qry = "SELECT sprache FROM public.tbl_sprache WHERE content ORDER BY sprache DESC";
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
@@ -584,17 +601,17 @@ if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
|
||||
$sprache = $row->sprache;
|
||||
if($sprache==$row->sprache)
|
||||
$selected='style="border:1px solid black;"';
|
||||
else
|
||||
else
|
||||
$selected='';
|
||||
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&nummer=$nummer&stg_kz=$stg_kz&type=changesprache&sprache=$row->sprache' class='Item' $selected><img src='../bild.php?src=flag&sprache=$row->sprache' alt='$row->sprache' title='$row->sprache'/></a>";
|
||||
}
|
||||
}
|
||||
echo '</td></tr></table>';
|
||||
echo '<br />';
|
||||
|
||||
|
||||
// Liste der Fragen
|
||||
$qry = "SELECT distinct nummer FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer";
|
||||
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
echo 'Nummer: ';
|
||||
@@ -602,7 +619,7 @@ if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
|
||||
{
|
||||
if($nummer=='')
|
||||
$nummer = $row->nummer;
|
||||
|
||||
|
||||
if($nummer==$row->nummer)
|
||||
echo " <a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$row->nummer' class='Item'><u>$row->nummer</u></a> -";
|
||||
else
|
||||
@@ -612,30 +629,30 @@ if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!==''))
|
||||
if($nummer<$db->db_num_rows($result)-1)
|
||||
echo " - <a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=".($nummer+1)."' class='Item'>Weiter >></a>";
|
||||
}
|
||||
|
||||
|
||||
echo "\n\n<br />";
|
||||
|
||||
|
||||
//Fragen holen
|
||||
$frage = new frage();
|
||||
$frage->getFragen($gebiet_id, $nummer);
|
||||
|
||||
|
||||
if(count($frage->result)==1)
|
||||
{
|
||||
$frage_id = $frage->result[0]->frage_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Wenn fuer diese Nummer mehrere Fragen vorhanden sind,
|
||||
//koennen diese extra ausgewaehlt werden
|
||||
echo 'FrageID: ';
|
||||
foreach ($frage->result as $row)
|
||||
foreach ($frage->result as $row)
|
||||
{
|
||||
if($frage_id=='')
|
||||
$frage_id=$row->frage_id;
|
||||
|
||||
|
||||
if($frage_id==$row->frage_id)
|
||||
echo "<a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$row->nummer&frage_id=$row->frage_id' class='Item'><u>$row->frage_id</u></a> -";
|
||||
else
|
||||
else
|
||||
echo "<a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$row->nummer&frage_id=$row->frage_id' class='Item'>$row->frage_id</a> -";
|
||||
}
|
||||
}
|
||||
@@ -650,9 +667,13 @@ if($frage_id!='')
|
||||
{
|
||||
$frage->load($frage_id);
|
||||
$frage->getFrageSprache($frage_id, $sprache);
|
||||
|
||||
|
||||
echo "<table><tr><td>";
|
||||
|
||||
|
||||
echo '<table><tr><td valign="top" align="right">';
|
||||
echo '<form action="'.$PHP_SELF.'?gebiet_id='.$gebiet_id.'&stg_kz='.$stg_kz.'&nummer='.$nummer.'&frage_id='.$frage->frage_id.'" method="POST" onsubmit="return confirmDeleteFrage()">
|
||||
<input type="hidden" name="type" value="deleteFrage" />
|
||||
<input type="submit" value="Frage löschen" />
|
||||
</form>';
|
||||
//Fragen
|
||||
echo "<table>";
|
||||
echo "<tr>";
|
||||
@@ -696,7 +717,7 @@ if($frage_id!='')
|
||||
echo "<table>";
|
||||
//Bei Aenderungen im Textfeld werden diese sofort in der Vorschau angezeigt
|
||||
//Wenn beim Speichern der Text kein Gueltiges XML ist, wird der vorige Text erneut angezeigt
|
||||
|
||||
|
||||
echo "<tr valign='top'><td colspan='2'>\n<textarea name='text' id='text' cols='50' rows='27' oninput='preview()'><![CDATA[".(isset($frage_error_text)?$frage_error_text:$frage->text)."]]></textarea>\n</td>";
|
||||
echo "<table><tr><td><input type='button' value='br' onclick='insertfrage(\"<br/>\", \"\")' />";
|
||||
echo "<input type='button' value='F' style='font-weight:bold' onclick='insertfrage(\"<strong>\", \"</strong>\")' />";
|
||||
@@ -790,7 +811,7 @@ if($frage_id!='')
|
||||
echo '<tr>';
|
||||
//Upload Feld fuer Audio
|
||||
echo "<td>Audio:</td><td><input type='file' name='audio' /></td></tr>";
|
||||
|
||||
|
||||
echo "<tr><td colspan='2' align='right'><input type='submit' name='submitvorschlag' value='Speichern' />".($vorschlag_id!=''?"<input type='button' value='Abbrechen' onclick=\"document.location.href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$nummer&frage_id=$frage->frage_id'\" />":'')."</td></tr>";
|
||||
//Vorschau fuer das Text-Feld
|
||||
echo "<tr><td colspan='2'>Vorschau:<br /><div id='vorschauvorschlag' style='border: 1px solid black' align='center'>$vorschlag->text</div></td></tr>";
|
||||
@@ -818,7 +839,7 @@ if($frage_id!='')
|
||||
else
|
||||
echo "<td align='right' style='color:#FF8204'>$vs->punkte";
|
||||
echo "</td><td>$vs->text</td>
|
||||
<td>".($vs->bild!=''?"<img src='../bild.php?src=vorschlag&vorschlag_id=$vs->vorschlag_id&sprache=$sprache' height='24' onmouseover='height=200' onmouseout='height=24'/>":"")."</td>
|
||||
<td>".($vs->bild!=''?"<img src='../bild.php?src=vorschlag&vorschlag_id=$vs->vorschlag_id&sprache=$sprache' height='24' onmouseover='height=200' onmouseout='height=24'/>":"")."</td>
|
||||
<td>";
|
||||
$a[] = $vs->punkte;
|
||||
if($vs->audio!='')
|
||||
@@ -833,9 +854,9 @@ if($frage_id!='')
|
||||
<td><a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$nummer&frage_id=$frage->frage_id&vorschlag_id=$vs->vorschlag_id'>edit</a></td>
|
||||
<td><a href='$PHP_SELF?gebiet_id=$gebiet_id&stg_kz=$stg_kz&nummer=$nummer&frage_id=$frage->frage_id&vorschlag_id=$vs->vorschlag_id&type=delete' onclick=\"return confirm('Wollen Sie diesen Eintrag wirklich loeschen?')\">delete</a></td>
|
||||
</tr>";
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
echo '<tr><td>Summe:</td><td align="left">'.number_format(array_sum($a),2, ".", "").' </td></tr>';
|
||||
echo '</table><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once("../../../config/cis.config.inc.php");
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once("../../../include/gebiet.class.php");
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once("../../../include/benutzerberechtigung.class.php");
|
||||
require_once("../../../include/studiengang.class.php");
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Testool Fragen Übersicht</title>
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
|
||||
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function deleteGebiet(id)
|
||||
{
|
||||
if(confirm("Wollen Sie dieses Gebiet wirklich löschen?"))
|
||||
{
|
||||
$("#data").html('<form action="uebersichtGebiete.php" name="sendform" id="sendform" method="POST"><input type="hidden" name="action" value="deleteGebiet" /><input type="hidden" name="id" value="'+id+'" /></form>');
|
||||
document.sendform.submit();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[3,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Gebiete Übersicht</h1>
|
||||
<div id="data"></div>
|
||||
<?php
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 's'))
|
||||
die('<span class="error">Sie haben keine Berechtigung für diese Seite</span>');
|
||||
|
||||
if(isset($_POST['action']) && $_POST['action']=='deleteGebiet')
|
||||
{
|
||||
if(!isset($_POST['id']) || !is_numeric($_POST['id']))
|
||||
die('Falsche Parameteruebergabe');
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/testtool', null, 'suid'))
|
||||
die('<span class="error">Sie haben keine Berechtigung für diesen Vorgang</span>');
|
||||
|
||||
$id = $_POST['id'];
|
||||
$gebiet = new gebiet();
|
||||
if(!$gebiet->delete($id))
|
||||
echo '<span class="error">'.$gebiet->errormsg.'</span>';
|
||||
}
|
||||
|
||||
$gebiet = new gebiet();
|
||||
$gebiet->getAll();
|
||||
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbz',false);
|
||||
|
||||
echo '<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Action</th>
|
||||
<th>ID</th>
|
||||
<th>Kurzbz</th>
|
||||
<th>Bezeichnung</th>
|
||||
<th>Beschreibung</th>
|
||||
<th>Zeit</th>
|
||||
<th>Multipleresonse</th>
|
||||
<th>Levelgleichverteilung</th>
|
||||
<th>Ablauf</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
foreach($gebiet->result as $row_gebiet)
|
||||
{
|
||||
$ablauf = new gebiet();
|
||||
$ablauf->loadAblaufGebiet($row_gebiet->gebiet_id);
|
||||
echo '<tr>
|
||||
<td>
|
||||
<a href="edit_gebiet.php?gebiet_id='.$row_gebiet->gebiet_id.'"><img src="../../../skin/images/edit.png" title="Edit" height="15px"/></a>
|
||||
<a href="#Delete" onclick="return deleteGebiet(\''.$row_gebiet->gebiet_id.'\');"><img src="../../../skin/images/delete.png" title="Delete" height="15px"/></a></td>
|
||||
<td>'.$row_gebiet->gebiet_id.'</td>
|
||||
<td>'.$row_gebiet->kurzbz.'</td>
|
||||
<td>'.$row_gebiet->bezeichnung.'</td>
|
||||
<td>'.$row_gebiet->beschreibung.'</td>
|
||||
<td>'.$row_gebiet->zeit.'</td>
|
||||
<td>'.($row_gebiet->multipleresponse?'Ja':'Nein').'</td>
|
||||
<td>'.($row_gebiet->levelgleichverteilung?'Ja':'Nein').'</td>
|
||||
<td>';
|
||||
|
||||
foreach($ablauf->result as $row_ablauf)
|
||||
{
|
||||
echo $studiengang->kuerzel_arr[$row_ablauf->studiengang_kz].'('.$row_ablauf->semester.') ';
|
||||
}
|
||||
echo '</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
?>
|
||||
|
||||
</body>
|
||||
@@ -212,6 +212,9 @@ define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN',true);
|
||||
//User, welcher für das Anlegen von Anrechnungen bei der Prüfungsanmeldung verwendet wird
|
||||
define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
|
||||
|
||||
// Soll für die Prüfungsanmeldungen eine Anrechnung erstellt werden
|
||||
define('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG', true);
|
||||
|
||||
//Gibt an, wie viele Semester aus der Vergangenheit unter Meine LV angezeigt werden
|
||||
define('CIS_MEINELV_ANZAHL_SEMESTER_PAST', 3);
|
||||
|
||||
|
||||
@@ -199,7 +199,4 @@ define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
|
||||
// Soll der Lageplan am Infoterminal angezeigt werden (true|false)
|
||||
define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN', true);
|
||||
|
||||
|
||||
//PHANTOM
|
||||
define('PHANTOM_SERVER','http://phantomjs.example.com:3003');
|
||||
?>
|
||||
|
||||
+16
-16
@@ -40,7 +40,7 @@ if(!$variable->loadVariables($user))
|
||||
//$benutzer = new benutzer($conn);
|
||||
//if(!$benutzer->loadVariables($user))
|
||||
// $error_msg = $benutzer->errormsg;
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
@@ -60,7 +60,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/fasoverlay.xul.php"?>';
|
||||
|
||||
<window
|
||||
id="fas"
|
||||
title="&window.title; - Version &window.version;"
|
||||
title="&window.title; - &window.version;"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
orient="vertical"
|
||||
@@ -110,8 +110,8 @@ foreach($addon_obj->result as $addon)
|
||||
<command id="menu-statistic-substatistik-studentenprosemester-excel:command" oncommand="StatistikPrintStudentenProSemester('xls');"/>
|
||||
<command id="menu-statistic-substatistik-studentenprosemester-html:command" oncommand="StatistikPrintStudentenProSemester('');"/>
|
||||
<command id="menu-statistic-substatistik-alvsstatistik-excel:command" oncommand="StatistikPrintALVSStatistik('xls');"/>
|
||||
<command id="menu-statistic-substatistik-alvsstatistik-html:command" oncommand="StatistikPrintALVSStatistik('');"/>
|
||||
<command id="menu-statistic-substatistik-lvplanunggesamtsj-excel:command" oncommand="StatistikPrintLvPlanungGesamtSJ();"/>
|
||||
<command id="menu-statistic-substatistik-alvsstatistik-html:command" oncommand="StatistikPrintALVSStatistik('');"/>
|
||||
<command id="menu-statistic-substatistik-lvplanunggesamtsj-excel:command" oncommand="StatistikPrintLvPlanungGesamtSJ();"/>
|
||||
<command id="menu-statistic-absolventenstatistik:command" oncommand="StatistikPrintAbsolventenstatistik();"/>
|
||||
<command id="menu-statistic-absolventenzahlen:command" oncommand="StatistikPrintAbsolventenZahlen();"/>
|
||||
<command id="menu-statistic-studentenstatistik:command" oncommand="StatistikPrintStudentenstatistik();"/>
|
||||
@@ -133,7 +133,7 @@ foreach($addon_obj->result as $addon)
|
||||
<command id="menu-dokumente-studienerfolgeng-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','finanzamt');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-normal:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','finanzamt', '', 'true');"/>
|
||||
<command id="menu-dokumente-accountinfoblatt:command" oncommand="PrintAccountInfoBlatt(event);"/>
|
||||
<command id="menu-dokumente-accountinfoblatt:command" oncommand="PrintAccountInfoBlatt(event);"/>
|
||||
<command id="menu-dokumente-zutrittskarte:command" oncommand="PrintZutrittskarte();"/>
|
||||
<command id="menu-dokumente-studienblatt:command" oncommand="PrintStudienblatt(event);"/>
|
||||
<command id="menu-dokumente-studienblatt_englisch:command" oncommand="PrintStudienblattEnglisch(event);"/>
|
||||
@@ -529,16 +529,16 @@ foreach($addon_obj->result as $addon)
|
||||
</menupopup>
|
||||
</menu>
|
||||
<?php
|
||||
|
||||
|
||||
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 5";
|
||||
$db = new basis_db();
|
||||
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$stsem_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
|
||||
echo '
|
||||
<menu id="menu-dokumente-studienerfolg-menu" label="'.$stsem_kurzbz.'">
|
||||
<menupopup id="menu-dokumente-studienerfolg-menu-popup">
|
||||
@@ -546,13 +546,13 @@ foreach($addon_obj->result as $addon)
|
||||
id = "menu-dokumente-studienerfolg-menu-normal"
|
||||
key = "menu-dokumente-studienerfolg-normal:key"
|
||||
label = "&menu-dokumente-studienerfolg-normal.label;"
|
||||
oncommand = "StudentCreateStudienerfolg(\'Studienerfolg\',null, \''.$stsem_kurzbz.'\');"
|
||||
oncommand = "StudentCreateStudienerfolg(event,\'Studienerfolg\',null, \''.$stsem_kurzbz.'\');"
|
||||
accesskey = "&menu-dokumente-studienerfolg-normal.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-dokumente-studienerfolg-finanzamt"
|
||||
key = "menu-dokumente-studienerfolg-finanzamt:key"
|
||||
label = "&menu-dokumente-studienerfolg-finanzamt.label;"
|
||||
oncommand = "StudentCreateStudienerfolg(\'Studienerfolg\',\'finanzamt\', \''.$stsem_kurzbz.'\');"
|
||||
oncommand = "StudentCreateStudienerfolg(event,\'Studienerfolg\',\'finanzamt\', \''.$stsem_kurzbz.'\');"
|
||||
accesskey = "&menu-dokumente-studienerfolg-finanzamt.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>';
|
||||
@@ -592,16 +592,16 @@ foreach($addon_obj->result as $addon)
|
||||
</menupopup>
|
||||
</menu>
|
||||
<?php
|
||||
|
||||
|
||||
$qry = "SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE ende<now() ORDER BY ende DESC LIMIT 5";
|
||||
$db = new basis_db();
|
||||
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object())
|
||||
{
|
||||
$stsem_kurzbz = $row->studiensemester_kurzbz;
|
||||
|
||||
|
||||
echo '
|
||||
<menu id="menu-dokumente-studienerfolg-menu" label="'.$stsem_kurzbz.'">
|
||||
<menupopup id="menu-dokumente-studienerfolg-menu-popup">
|
||||
@@ -609,13 +609,13 @@ foreach($addon_obj->result as $addon)
|
||||
id = "menu-dokumente-studienerfolgeng-menu-normal"
|
||||
key = "menu-dokumente-studienerfolgeng-normal:key"
|
||||
label = "&menu-dokumente-studienerfolgeng-normal.label;"
|
||||
oncommand = "StudentCreateStudienerfolg(\'StudienerfolgEng\',null, \''.$stsem_kurzbz.'\');"
|
||||
oncommand = "StudentCreateStudienerfolg(event,\'StudienerfolgEng\',null, \''.$stsem_kurzbz.'\');"
|
||||
accesskey = "&menu-dokumente-studienerfolgeng-normal.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-dokumente-studienerfolgeng-finanzamt"
|
||||
key = "menu-dokumente-studienerfolgeng-finanzamt:key"
|
||||
label = "&menu-dokumente-studienerfolgeng-finanzamt.label;"
|
||||
oncommand = "StudentCreateStudienerfolg(\'StudienerfolgEng\',\'finanzamt\', \''.$stsem_kurzbz.'\');"
|
||||
oncommand = "StudentCreateStudienerfolg(event,\'StudienerfolgEng\',\'finanzamt\', \''.$stsem_kurzbz.'\');"
|
||||
accesskey = "&menu-dokumente-studienerfolgeng-finanzamt.accesskey;"/>
|
||||
</menupopup>
|
||||
</menu>';
|
||||
@@ -776,7 +776,7 @@ foreach($addon_obj->result as $addon)
|
||||
key = "menu-extras-projektarbeitsabgaben:key"
|
||||
label = "&menu-extras-projektarbeitsabgaben.label;"
|
||||
command = "menu-extras-projektarbeitsabgaben:command"
|
||||
accesskey = "&menu-extras-projektarbeitsabgaben.accesskey;"/>
|
||||
accesskey = "&menu-extras-projektarbeitsabgaben.accesskey;"/>
|
||||
<menuitem
|
||||
id = "menu-extras-projektarbeitsbenotung"
|
||||
key = "menu-extras-projektarbeitsbenotung:key"
|
||||
|
||||
@@ -47,7 +47,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
|
||||
<window
|
||||
id="planner"
|
||||
title="&window.title; &window.version;"
|
||||
title="&window.title; - &window.version;"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
orient="vertical"
|
||||
|
||||
@@ -47,7 +47,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
|
||||
<window
|
||||
id="tempus"
|
||||
title="&window.title; &window.version;"
|
||||
title="&window.title; - &window.version;"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
orient="vertical"
|
||||
|
||||
@@ -0,0 +1,393 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 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> and
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/vorlage.class.php');
|
||||
require_once(dirname(__FILE__).'/addon.class.php');
|
||||
require_once(dirname(__FILE__).'/studiengang.class.php');
|
||||
|
||||
class dokument_export
|
||||
{
|
||||
private $content_xsl; // XSL Vorlage fuer content.xml
|
||||
private $styles_xsl; // XSL Vorlage fuer styles.xml
|
||||
private $xml_data; // XML Daten
|
||||
private $vorlage; // Vorlage Objekt
|
||||
private $vorlage_file; // Vorlage ODT/ODS in das hineingezippt wird
|
||||
private $outputformat; // Datentyp des Ausgabefiles
|
||||
private $filename; // Dateiname des Ausgabefiles
|
||||
private $temp_filename;
|
||||
private $temp_folder;
|
||||
private $images=array();
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
public function __construct($vorlage, $oe_kurzbz=0, $version=null)
|
||||
{
|
||||
//Vorlage aus der Datenbank holen
|
||||
$this->vorlage = new vorlage();
|
||||
if(!$this->vorlage->getAktuelleVorlage($oe_kurzbz, $vorlage, $version))
|
||||
die('Keine Dokumentenvorlage gefunden');
|
||||
|
||||
$this->content_xsl = new DOMDocument;
|
||||
if(!$this->content_xsl->loadXML($this->vorlage->text))
|
||||
die('unable to load xsl');
|
||||
|
||||
// Style Vorlage laden falls vorhanden
|
||||
if($this->vorlage->style!='')
|
||||
{
|
||||
$this->styles_xsl = new DOMDocument;
|
||||
if(!$this->styles_xsl->loadXML($vorlage->style))
|
||||
die('unable to load styles xsl');
|
||||
}
|
||||
|
||||
switch($this->vorlage->mimetype)
|
||||
{
|
||||
case 'application/vnd.oasis.opendocument.text':
|
||||
$this->outputformat = 'odt';
|
||||
$this->vorlage_file = $this->vorlage->vorlage_kurzbz.'.odt';
|
||||
break;
|
||||
case 'application/vnd.oasis.opendocument.spreadsheet':
|
||||
$this->outputformat = 'ods';
|
||||
$this->vorlage_file = $this->vorlage->vorlage_kurzbz.'.ods';
|
||||
break;
|
||||
default:
|
||||
$this->outputformat = 'pdf';
|
||||
$this->vorlage_file = $this->vorlage->vorlage_kurzbz.'.odt';
|
||||
}
|
||||
|
||||
if($this->vorlage->bezeichnung!='')
|
||||
$this->filename = $this->vorlage->bezeichnung;
|
||||
else
|
||||
$this->filename = $this->vorlage->vorlage_kurzbz;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die XML Daten fuer die XSL Transformation anhand eines Arrays
|
||||
* @param $data Array mit Daten
|
||||
* @param $root Bezeichnung des Root Nodes
|
||||
* @return boolean true
|
||||
*/
|
||||
public function addDataArray($data, $root)
|
||||
{
|
||||
$this->xml_data = new DOMDocument;
|
||||
$this->xml_data->loadXML($this->ConvertArrayToXML($data,$root));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* XML Daten fuer die XSL Transformation
|
||||
* @param $xml
|
||||
* @return boolean true
|
||||
*/
|
||||
public function addDataXML($xml)
|
||||
{
|
||||
$this->xml_data = new DOMDocument;
|
||||
$this->xml_data->loadXML($xml);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* URL zu XML Datei die fuer XSLTransformation verwendet werden soll
|
||||
* @param $xml URL zu XML
|
||||
* @param $params GET Parameter die an XML URL uebergeben werden
|
||||
* @return boolean true
|
||||
*/
|
||||
public function addDataURL($xml, $params)
|
||||
{
|
||||
$xml_found = false;
|
||||
$addons = new addon();
|
||||
|
||||
foreach($addons->aktive_addons as $addon)
|
||||
{
|
||||
$xmlfile = DOC_ROOT.'addons/'.$addon.'/rdf/'.$xml;
|
||||
if(file_exists($xmlfile))
|
||||
{
|
||||
$xml_found = true;
|
||||
$xml_url = XML_ROOT.'../addons/'.$addon.'/rdf/'.$xml.'?'.$params;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!$xml_found)
|
||||
$xml_url=XML_ROOT.$xml.'?'.$params;
|
||||
|
||||
|
||||
// Load the XML source
|
||||
$this->xml_data = new DOMDocument;
|
||||
|
||||
if(!$this->xml_data->load($xml_url))
|
||||
die('unable to load xml: '.$xml_url);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Bild zum Dokument hinzu
|
||||
* @param $path Pfad zum Bild im Filesystem
|
||||
* @param $name Name des Bildes das es im Dokument haben soll ohne Pfad (zB 1.png)
|
||||
* @param $contenttype Contenttype des Bilds (zB image/png)
|
||||
*/
|
||||
public function addImage($path, $name, $contenttype)
|
||||
{
|
||||
$this->images[]=array('path'=>$path,'name'=>$name,'contenttype'=>$contenttype);
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt das ODT Dokument inklusive Bilder und konvertiert es ins gewuenschte Format
|
||||
* @param $outputformat ODT, PDF, DOC
|
||||
* @return true wenn ok
|
||||
*/
|
||||
public function create($outputformat=null)
|
||||
{
|
||||
if(!is_null($outputformat))
|
||||
$this->outputformat=$outputformat;
|
||||
|
||||
// content.xml erstellen
|
||||
$proc = new XSLTProcessor;
|
||||
$proc->importStyleSheet($this->content_xsl);
|
||||
|
||||
$contentbuffer = $proc->transformToXml($this->xml_data);
|
||||
|
||||
$this->temp_folder = '/tmp/fhcunoconv-'.uniqid();
|
||||
mkdir($this->temp_folder);
|
||||
chdir($this->temp_folder);
|
||||
file_put_contents('content.xml', $contentbuffer);
|
||||
|
||||
// styles.xml erstellen
|
||||
if(!is_null($this->styles_xsl))
|
||||
{
|
||||
$style_proc = new XSLTProcessor;
|
||||
$style_proc->importStyleSheet($this->styles_xsl);
|
||||
|
||||
$stylesbuffer = $style_proc->transformToXml($this->xml_data);
|
||||
|
||||
file_put_contents('styles.xml', $stylesbuffer);
|
||||
}
|
||||
|
||||
// Template holen
|
||||
$vorlage_found=false;
|
||||
$addons = new addon();
|
||||
|
||||
foreach($addons->aktive_addons as $addon)
|
||||
{
|
||||
$zipfile = DOC_ROOT.'addons/'.$addon.'/system/vorlage_zip/'.$this->vorlage_file;
|
||||
|
||||
if(file_exists($zipfile))
|
||||
{
|
||||
$vorlage_found=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(!$vorlage_found)
|
||||
$zipfile = DOC_ROOT.'system/vorlage_zip/'.$this->vorlage_file;
|
||||
|
||||
$tempname_zip = 'out.zip';
|
||||
if(!copy($zipfile, $tempname_zip))
|
||||
die('copy failed');
|
||||
|
||||
exec("zip $tempname_zip content.xml");
|
||||
if(!is_null($this->styles_xsl))
|
||||
exec("zip $tempname_zip styles.xml");
|
||||
|
||||
// bilder hinzufuegen
|
||||
if(count($this->images)>0)
|
||||
{
|
||||
// Unterordner fuer die Bilder erstellen
|
||||
mkdir('Pictures');
|
||||
|
||||
// Manifest Datei holen
|
||||
exec('unzip '.$tempname_zip.' META-INF/manifest.xml');
|
||||
|
||||
// Bild zur Manifest Datei hinzufuegen
|
||||
$manifest = file_get_contents('META-INF/manifest.xml');
|
||||
|
||||
$manifest_xml = new DOMDocument;
|
||||
if(!$manifest_xml->loadXML($manifest))
|
||||
die('Manifest File ungueltig');
|
||||
|
||||
//root-node holen
|
||||
$root = $manifest_xml->getElementsByTagName('manifest')->item(0);
|
||||
|
||||
foreach($this->images as $bild)
|
||||
{
|
||||
copy($bild['path'], 'Pictures/'.$bild['name']);
|
||||
|
||||
//Neues Element unterhalb des Root Nodes anlegen
|
||||
$node = $manifest_xml->createElement("manifest:file-entry");
|
||||
$node->setAttribute("manifest:full-path",'Pictures/'.$bild['name']);
|
||||
$node->setAttribute("manifest:media-type",$bild['contenttype']);
|
||||
$root->appendChild($node);
|
||||
}
|
||||
|
||||
$out = $manifest_xml->saveXML();
|
||||
|
||||
//geaenderte Manifest Datei speichern und wieder ins Zip packen
|
||||
file_put_contents('META-INF/manifest.xml', $out);
|
||||
exec('zip '.$tempname_zip.' META-INF/*');
|
||||
|
||||
// Bilder zum ZIP-File hinzufuegen
|
||||
exec("zip $tempname_zip Pictures/*");
|
||||
}
|
||||
|
||||
clearstatcache();
|
||||
|
||||
switch($this->outputformat)
|
||||
{
|
||||
case 'pdf':
|
||||
$this->temp_filename='out.pdf';
|
||||
exec("unoconv -e IsSkipEmptyPages=false --stdout -f pdf $tempname_zip > ".$this->temp_filename, $out, $ret);
|
||||
if($ret!=0)
|
||||
{
|
||||
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte informieren Sie den Administrator';
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'doc':
|
||||
$this->temp_filename='out.doc';
|
||||
exec("unoconv -e IsSkipEmptyPages=false --stdout -f doc $tempname_zip > ".$this->temp_filename, $out, $ret);
|
||||
if($ret!=0)
|
||||
{
|
||||
$this->errormsg = 'Dokumentenkonvertierung ist derzeit nicht möglich. Bitte informieren Sie den Administrator';
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'odt':
|
||||
default:
|
||||
$this->temp_filename = $tempname_zip;
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert das Dokument mit den passenden Headern zum Download oder als ReturnValue
|
||||
* @param $download wenn true werden Header gesendet und das Dokument ausgeliefert
|
||||
* wenn false wird es als Returnwert zurueckgeliefert
|
||||
* @return boolean true oder Dokument
|
||||
*/
|
||||
public function output($download=true)
|
||||
{
|
||||
|
||||
$fsize = filesize($this->temp_filename);
|
||||
if(!$handle = fopen($this->temp_filename,'r'))
|
||||
die('load failed');
|
||||
|
||||
if($download)
|
||||
{
|
||||
switch($this->outputformat)
|
||||
{
|
||||
case 'pdf':
|
||||
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);
|
||||
break;
|
||||
|
||||
case 'odt':
|
||||
header('Content-type: application/vnd.oasis.opendocument.text');
|
||||
header('Content-Disposition: attachment; filename="'.$this->filename.'.odt"');
|
||||
header('Content-Length: '.$fsize);
|
||||
break;
|
||||
}
|
||||
|
||||
while (!feof($handle))
|
||||
{
|
||||
echo fread($handle, 8192);
|
||||
}
|
||||
fclose($handle);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$data = fread($handle, filesize($file));
|
||||
fclose($handle);
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht die Temporaeren Dateien die angelegt wurden
|
||||
* @return boolean true
|
||||
*/
|
||||
public function close()
|
||||
{
|
||||
unlink('content.xml');
|
||||
if($this->styles_xsl!='')
|
||||
unlink('styles.xml');
|
||||
|
||||
unlink('out.zip');
|
||||
unlink($this->temp_filename);
|
||||
|
||||
if(count($this->images)>0)
|
||||
{
|
||||
unlink('META-INF/manifest.xml');
|
||||
|
||||
foreach($this->images as $bild)
|
||||
unlink('Pictures/'.$bild['name']);
|
||||
rmdir('Pictures');
|
||||
rmdir('META-INF');
|
||||
}
|
||||
|
||||
|
||||
rmdir($this->temp_folder);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Konvertiert das Array in ein XML
|
||||
* @param $data PHP Array mit den Daten
|
||||
* @param $rootElement Bezeichnung des XML Wurzelelements
|
||||
* @param $xml_data SimpleXMLElement fuer Rekursionsaufloesung
|
||||
* @return xml
|
||||
*/
|
||||
private function ConvertArrayToXML($data, $rootElement=null, $xml_data=null )
|
||||
{
|
||||
$_xml_data = $xml_data;
|
||||
if ($_xml_data === null)
|
||||
$_xml_data = new SimpleXMLElement($rootElement !== null ? '<'.$rootElement.' />' : '<root/>');
|
||||
|
||||
foreach( $data as $key => $value )
|
||||
{
|
||||
if( is_array($value) )
|
||||
{
|
||||
if( is_numeric($key) )
|
||||
{
|
||||
$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);
|
||||
}
|
||||
}
|
||||
else
|
||||
$_xml_data->addChild("$key",htmlspecialchars("$value"));
|
||||
}
|
||||
return $_xml_data->asXML();
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,238 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 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: Stefan Puraner <stefan.puraner@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Reihungstest
|
||||
* @create 10-01-2007
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class foerdervertrag extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $foerdervertag_id;// integer
|
||||
public $studiengang_kz; // integer
|
||||
public $foerdergeber; // string
|
||||
public $foerdersatz; // integer
|
||||
public $foerdergruppe; // string
|
||||
public $gueltigvon; // string
|
||||
public $gueltigbis; // string
|
||||
public $erlaeuterungen; // string
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // bigint
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // bigint
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($foerdervertag_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($foerdervertag_id))
|
||||
$this->load($foerdervertag_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Fördervertrag mit der ID $foerdervertag_id
|
||||
* @param $foerdervertag_id ID des zu ladenden Fördervertrags
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($foerdervertag_id)
|
||||
{
|
||||
if(!is_numeric($foerdervertag_id))
|
||||
{
|
||||
$this->errormsg = 'Foerdervertag_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_foerdervertrag WHERE foerdervertag_id=".$this->db_add_param($foerdervertag_id, FHC_INTEGER, false);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->foerdervertag_id = $row->foerdervertag_id;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->foerdergeber = $row->foerdergeber;
|
||||
$this->foerdersatz = $row->foerdersatz;
|
||||
$this->foerdergruppe = $row->foerdergruppe;
|
||||
$this->gueltigvon = $row->gueltigvon;
|
||||
$this->gueltigbis = $row->gueltigbis;
|
||||
$this->erlaeuterungen = $row->erlaeuterungen;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Foerdervertrag existiert nicht';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Reihungstests';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Förderverträge
|
||||
*/
|
||||
public function getAll($stg_kz=null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_foerdervertrag ";
|
||||
if($stg_kz!=null)
|
||||
$qry.=" WHERE studiengang_kz=".$this->db_add_param($stg_kz);
|
||||
$qry.=";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new foerdervertrag();
|
||||
|
||||
$obj->foerdervertrag_id = $row->foerdervertrag_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->foerdergeber = $row->foerdergeber;
|
||||
$obj->foerdersatz = $row->foerdersatz;
|
||||
$obj->foerdergruppe = $row->foerdergruppe;
|
||||
$obj->gueltigvon = $row->gueltigvon;
|
||||
$obj->gueltigbis = $row->gueltigbis;
|
||||
$obj->erlaeuterungen = $row->erlaeuterungen;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Förderverträge.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
private function validate()
|
||||
{
|
||||
//Zahlenfelder pruefen
|
||||
if(!is_numeric($this->studiengang_kz))
|
||||
{
|
||||
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN; INSERT INTO public.tbl_foerdervertrag (studiengang_kz, foerdergeber, foerdersatz, foerdergruppe, gueltigvon, gueltigbis, erlaeuterungen,
|
||||
insertamum, insertvon) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->foerdergeber).', '.
|
||||
$this->db_add_param($this->foerdersatz).', '.
|
||||
$this->db_add_param($this->foerdergruppe).', '.
|
||||
$this->db_add_param($this->gueltigvon).', '.
|
||||
$this->db_add_param($this->gueltigbis).', '.
|
||||
$this->db_add_param($this->erlaeuterungen).', now(),'.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
// $qry='UPDATE public.tbl_reihungstest SET '.
|
||||
// 'studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
// 'ort_kurzbz='.$this->db_add_param($this->ort_kurzbz).', '.
|
||||
// 'anmerkung='.$this->db_add_param($this->anmerkung).', '.
|
||||
// 'datum='.$this->db_add_param($this->datum).', '.
|
||||
// 'uhrzeit='.$this->db_add_param($this->uhrzeit).', '.
|
||||
// 'updateamum= now(), '.
|
||||
// 'updatevon='.$this->db_add_param($this->updatevon).', '.
|
||||
// 'max_teilnehmer='.$this->db_add_param($this->max_teilnehmer).', '.
|
||||
// 'oeffentlich='.$this->db_add_param($this->oeffentlich, FHC_BOOLEAN).', '.
|
||||
// 'freigeschaltet='.$this->db_add_param($this->freigeschaltet, FHC_BOOLEAN).', '.
|
||||
// 'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).' '.
|
||||
// 'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "SELECT currval('public.seq_foerdervertrag_foerdervertrag_id') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->foerdervertrag_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+128
-96
@@ -36,7 +36,7 @@ class frage extends basis_db
|
||||
public $demo;
|
||||
public $level;
|
||||
public $kategorie_kurzbz;
|
||||
|
||||
|
||||
public $sprache;
|
||||
public $audio;
|
||||
public $text;
|
||||
@@ -45,12 +45,12 @@ class frage extends basis_db
|
||||
public $prueflingfrage_id;
|
||||
public $begintime;
|
||||
public $endtime;
|
||||
|
||||
|
||||
public $insertamum;
|
||||
public $updateamum;
|
||||
public $insertvon;
|
||||
public $updatevon;
|
||||
|
||||
|
||||
// ErgebnisArray
|
||||
public $result=array();
|
||||
public $num_rows=0;
|
||||
@@ -63,7 +63,7 @@ class frage extends basis_db
|
||||
public function __construct($frage_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if(!is_null($frage_id))
|
||||
$this->load($frage_id);
|
||||
}
|
||||
@@ -73,13 +73,13 @@ class frage extends basis_db
|
||||
* @param $frage_id ID der Frage die geladen werden soll
|
||||
*/
|
||||
public function load($frage_id)
|
||||
{
|
||||
{
|
||||
if(!is_numeric($frage_id) || $frage_id=='')
|
||||
{
|
||||
$this->errormsg = 'Frage_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_frage WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -96,7 +96,7 @@ class frage extends basis_db
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->level = $row->level;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -136,7 +136,7 @@ class frage extends basis_db
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
{
|
||||
$qry = 'BEGIN;INSERT INTO testtool.tbl_frage (kategorie_kurzbz, gebiet_id, level, nummer, demo,
|
||||
$qry = 'BEGIN;INSERT INTO testtool.tbl_frage (kategorie_kurzbz, gebiet_id, level, nummer, demo,
|
||||
insertamum, insertvon, updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->kategorie_kurzbz).','.
|
||||
$this->db_add_param($this->gebiet_id, FHC_INTEGER).','.
|
||||
@@ -159,7 +159,7 @@ class frage extends basis_db
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false).";";
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -173,21 +173,21 @@ class frage extends basis_db
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -229,7 +229,7 @@ class frage extends basis_db
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
" WHERE frage_id=".$this->db_add_param($this->frage_id, FHC_INTEGER, false)." AND sprache=".$this->db_add_param($this->sprache).";";
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -250,7 +250,7 @@ class frage extends basis_db
|
||||
*/
|
||||
public function getFragen($gebiet_id, $nummer)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_frage
|
||||
$qry = "SELECT * FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND nummer=".$this->db_add_param($nummer);
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -258,18 +258,18 @@ class frage extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new frage();
|
||||
|
||||
|
||||
$obj->frage_id = $row->frage_id;
|
||||
$obj->kategorie_kurzbz = $row->kategorie_kurzbz;
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->level = $row->level;
|
||||
$obj->nummer = $row->nummer;
|
||||
$obj->demo = $this->db_parse_bool($row->demo);
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -277,7 +277,7 @@ class frage extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Fragen eines Gebietes
|
||||
*
|
||||
@@ -286,7 +286,7 @@ class frage extends basis_db
|
||||
*/
|
||||
public function getFragenGebiet($gebiet_id)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_frage
|
||||
$qry = "SELECT * FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." ORDER BY nummer";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -294,18 +294,18 @@ class frage extends basis_db
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new frage();
|
||||
|
||||
|
||||
$obj->frage_id = $row->frage_id;
|
||||
$obj->kategorie_kurzbz = $row->kategorie_kurzbz;
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->level = $row->level;
|
||||
$obj->nummer = $row->nummer;
|
||||
$obj->demo = $this->db_parse_bool($row->demo);
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -328,26 +328,26 @@ class frage extends basis_db
|
||||
{
|
||||
if($demo)
|
||||
{
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_frage
|
||||
WHERE tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_frage
|
||||
WHERE tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
AND demo ";
|
||||
if(!is_null($frage_id))
|
||||
$qry.=" AND nummer<(SELECT nummer FROM testtool.tbl_frage WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER).")";
|
||||
$qry .= " ORDER BY nummer DESC LIMIT 1";
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE
|
||||
tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE
|
||||
tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
|
||||
tbl_pruefling_frage.pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)." AND
|
||||
NOT demo ";
|
||||
|
||||
|
||||
if(!is_null($frage_id))
|
||||
$qry.=" AND tbl_pruefling_frage.nummer>(SELECT nummer FROM testtool.tbl_pruefling_frage WHERE pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)." AND frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." LIMIT 1)";
|
||||
elseif(is_null($frage_id) && $levelgebiet)
|
||||
$qry.=" AND tbl_pruefling_frage.endtime is null ";
|
||||
|
||||
|
||||
$qry.="ORDER BY tbl_pruefling_frage.nummer ASC LIMIT 1";
|
||||
}
|
||||
|
||||
@@ -361,7 +361,7 @@ class frage extends basis_db
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Frage in der angegebenen Sprache
|
||||
*
|
||||
@@ -373,7 +373,7 @@ class frage extends basis_db
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_frage_sprache JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER)." AND sprache=".$this->db_add_param($sprache);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -387,26 +387,26 @@ class frage extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
|
||||
|
||||
$this->level = $row->level;
|
||||
$this->demo = $this->db_parse_bool($row->demo);
|
||||
$this->nummer = $row->nummer;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert das naechste Level zu dem noch Fragen fehlen
|
||||
*
|
||||
@@ -420,10 +420,10 @@ class frage extends basis_db
|
||||
if($row>0)
|
||||
return $key;
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generiert den Fragenpool fuer den Pruefling bzw
|
||||
* die naechste Frage bei gelevelten Gebieten
|
||||
@@ -434,7 +434,7 @@ class frage extends basis_db
|
||||
public function generateFragenpool($pruefling_id, $gebiet_id)
|
||||
{
|
||||
$gebiet = new gebiet($gebiet_id);
|
||||
|
||||
|
||||
//Bei Levelgesteuerten Fragen wird nur die erste Frage angelegt
|
||||
if($gebiet->level_start!='')
|
||||
{
|
||||
@@ -454,10 +454,10 @@ class frage extends basis_db
|
||||
}
|
||||
$maxfragen=1;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$maxfragen = $gebiet->maxfragen;
|
||||
|
||||
|
||||
// Wie viele Fragen gibt es in diesem Gebiet
|
||||
$qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage WHERE NOT demo AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
if($this->db_query($qry))
|
||||
@@ -467,23 +467,23 @@ class frage extends basis_db
|
||||
$fragengesamt = $row->anzahl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Wenn im Gebiet keine Maximalzahl angegeben ist, dann kommen alle Fragen in den Pool
|
||||
if($maxfragen=='')
|
||||
{
|
||||
$maxfragen = $fragengesamt;
|
||||
}
|
||||
|
||||
|
||||
$level = array();
|
||||
|
||||
|
||||
// Bei Levelgleichverteilung die Anzahl der Fragen pro level ermitteln
|
||||
if($gebiet->levelgleichverteilung)
|
||||
{
|
||||
$qry = "SELECT level, count(*) as anzahl FROM testtool.tbl_frage
|
||||
$qry = "SELECT level, count(*) as anzahl FROM testtool.tbl_frage
|
||||
WHERE NOT demo AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
GROUP BY level
|
||||
ORDER BY level";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -491,7 +491,7 @@ class frage extends basis_db
|
||||
$level[$row->level]=round(($row->anzahl/$fragengesamt)*$maxfragen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Von jedem Gebiet muss mindestens eine Frage kommen
|
||||
foreach ($level as $key=>$row)
|
||||
{
|
||||
@@ -502,9 +502,9 @@ class frage extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$this->db_query('BEGIN;');
|
||||
|
||||
|
||||
while($maxfragen>0)
|
||||
{
|
||||
//Bei levelgleichverteilung das Level der naechsten Frage holen
|
||||
@@ -518,20 +518,20 @@ class frage extends basis_db
|
||||
{
|
||||
$nextlevel=null;
|
||||
}
|
||||
|
||||
|
||||
$this->frage_id=$this->getNewFrage($gebiet_id, $pruefling_id, $nextlevel);
|
||||
|
||||
|
||||
if($this->frage_id=='')
|
||||
break;
|
||||
|
||||
|
||||
$this->pruefling_id=$pruefling_id;
|
||||
|
||||
|
||||
//hoechste Nummer holen
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
tbl_pruefling_frage.nummer
|
||||
FROM
|
||||
testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE
|
||||
WHERE
|
||||
tbl_frage.gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
|
||||
tbl_pruefling_frage.pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)."
|
||||
ORDER BY nummer DESC LIMIT 1;";
|
||||
@@ -539,7 +539,7 @@ class frage extends basis_db
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
$this->nummer = $row->nummer+1;
|
||||
else
|
||||
else
|
||||
$this->nummer = 1;
|
||||
}
|
||||
else
|
||||
@@ -548,7 +548,7 @@ class frage extends basis_db
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$this->begintime='';
|
||||
$this->endtime='';
|
||||
|
||||
@@ -558,14 +558,14 @@ class frage extends basis_db
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$maxfragen--;
|
||||
}
|
||||
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt eine Prueflingfrage
|
||||
*
|
||||
@@ -579,7 +579,7 @@ class frage extends basis_db
|
||||
$this->errormsg = 'prueflingfrage_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE prueflingfrage_id=".$this->db_add_param($prueflingfrage_id, FHC_INTEGER);
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -591,22 +591,22 @@ class frage extends basis_db
|
||||
$this->nummer = $row->nummer;
|
||||
$this->begintime = $row->begintime;
|
||||
$this->endtime = $row->endtime;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde keine PrueflingFrage mit der uebergebenen ID gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der PrueflingFrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt eine Prueflingfrage
|
||||
*
|
||||
@@ -621,15 +621,15 @@ class frage extends basis_db
|
||||
$this->errormsg = 'Pruefling_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($frage_id) || $frage_id=='')
|
||||
{
|
||||
$this->errormsg = 'Frage_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling_frage WHERE pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)." AND frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -640,21 +640,21 @@ class frage extends basis_db
|
||||
$this->nummer = $row->nummer;
|
||||
$this->begintime = $row->begintime;
|
||||
$this->endtime = $row->endtime;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der PrueflingFrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Daten vor dem Speichern in die Tabelle tbl_pruefling_frage
|
||||
*
|
||||
@@ -666,13 +666,13 @@ class frage extends basis_db
|
||||
$this->errormsg = 'Pruefling_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($this->frage_id) || $this->frage_id=='')
|
||||
{
|
||||
$this->errormsg = 'Frage_id ist ungueltig';
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($this->nummer))
|
||||
{
|
||||
$this->errormsg = 'Nummer ist ungueltig';
|
||||
@@ -680,7 +680,7 @@ class frage extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert einen Eintrag in der Tabelle tbl_pruefling_frage
|
||||
*
|
||||
@@ -695,7 +695,7 @@ class frage extends basis_db
|
||||
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'INSERT INTO testtool.tbl_pruefling_frage(pruefling_id, frage_id, nummer, begintime, endtime) VALUES('.
|
||||
@@ -705,7 +705,7 @@ class frage extends basis_db
|
||||
$this->db_add_param($this->begintime).','.
|
||||
$this->db_add_param($this->endtime).');';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE testtool.tbl_pruefling_frage SET'.
|
||||
' pruefling_id='.$this->db_add_param($this->pruefling_id, FHC_INTEGER).','.
|
||||
@@ -715,18 +715,18 @@ class frage extends basis_db
|
||||
' endtime='.$this->db_add_param($this->endtime).
|
||||
" WHERE prueflingfrage_id=".$this->db_add_param($this->prueflingfrage_id, FHC_INTEGER, false);
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern in tbl_pruefling_frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sucht eine neue Frage fuer einen Pruefling
|
||||
*
|
||||
@@ -738,35 +738,35 @@ class frage extends basis_db
|
||||
{
|
||||
$gebiet = new gebiet($gebiet_id);
|
||||
$pruefling = new pruefling();
|
||||
|
||||
|
||||
|
||||
|
||||
//Frage suchen die dem pruefling noch nicht zugeordnet ist
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
|
||||
frage_id NOT IN (SELECT frage_id FROM testtool.tbl_pruefling_frage
|
||||
$qry = "SELECT frage_id FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND
|
||||
frage_id NOT IN (SELECT frage_id FROM testtool.tbl_pruefling_frage
|
||||
WHERE pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER, false)."
|
||||
)
|
||||
AND NOT demo";
|
||||
|
||||
|
||||
// Wenn die Frage abhaengig vom level sein soll, dann den aktuellen Level ermitteln und dazuhaengen
|
||||
if($gebiet->level_start!='')
|
||||
{
|
||||
$level2 = $pruefling->getPrueflingLevel($pruefling_id, $gebiet_id);
|
||||
$level2 = $pruefling->getPrueflingLevel($pruefling_id, $gebiet_id);
|
||||
$qry.=" AND level=".$this->db_add_param($level2);
|
||||
}
|
||||
|
||||
|
||||
// Bei Levelgleichverteilung wird der Level mituebergeben
|
||||
if(!is_null($level))
|
||||
{
|
||||
$qry.=" AND level=".$this->db_add_param($level);
|
||||
}
|
||||
|
||||
|
||||
//Sortierung
|
||||
if($gebiet->zufallfrage)
|
||||
$qry .= " ORDER BY random()";
|
||||
else
|
||||
else
|
||||
$qry .= " ORDER BY nummer ASC";
|
||||
|
||||
|
||||
$qry .= " LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -775,17 +775,49 @@ class frage extends basis_db
|
||||
{
|
||||
return $row->frage_id;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es gibt keine Fragen die den Kriterien entsprechen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Holen der Frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function delete($frage_id)
|
||||
{
|
||||
$qry = "SELECT * FROM
|
||||
testtool.tbl_antwort
|
||||
JOIN testtool.tbl_vorschlag USING(vorschlag_id)
|
||||
WHERE tbl_vorschlag.frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
{
|
||||
$this->errormsg = 'Frage kann nicht gelöscht werden da bereits Antworten vorhanden sind';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "
|
||||
DELETE FROM testtool.tbl_vorschlag_sprache WHERE vorschlag_id IN (SELECT vorschlag_id FROM testtool.tbl_vorschlag WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER).");
|
||||
DELETE FROM testtool.tbl_vorschlag WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER).";
|
||||
DELETE FROM testtool.tbl_frage_sprache WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER).";
|
||||
DELETE FROM testtool.tbl_frage WHERE frage_id=".$this->db_add_param($frage_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim loeschen der Frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+226
-77
@@ -26,7 +26,7 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class gebiet extends basis_db
|
||||
class gebiet extends basis_db
|
||||
{
|
||||
//Tabellenspalten
|
||||
public $gebiet_id;
|
||||
@@ -48,7 +48,7 @@ class gebiet extends basis_db
|
||||
public $insertvon;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
|
||||
|
||||
// ErgebnisArray
|
||||
public $result=array();
|
||||
public $new;
|
||||
@@ -60,7 +60,7 @@ class gebiet extends basis_db
|
||||
public function __construct($gebiet_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if(!is_null($gebiet_id))
|
||||
$this->load($gebiet_id);
|
||||
}
|
||||
@@ -98,7 +98,7 @@ class gebiet extends basis_db
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->antwortenprozeile = $row->antwortenprozeile;
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -113,7 +113,7 @@ class gebiet extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* auf Gueltigkeit.
|
||||
@@ -184,15 +184,15 @@ class gebiet extends basis_db
|
||||
{
|
||||
if(is_null($new))
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
$qry = 'BEGIN;INSERT INTO testtool.tbl_gebiet (kurzbz, bezeichnung, beschreibung, zeit, multipleresponse,
|
||||
kategorien, maxfragen, zufallfrage, zufallvorschlag, level_start, level_sprung_auf, level_sprung_ab,
|
||||
$qry = 'BEGIN;INSERT INTO testtool.tbl_gebiet (kurzbz, bezeichnung, beschreibung, zeit, multipleresponse,
|
||||
kategorien, maxfragen, zufallfrage, zufallvorschlag, level_start, level_sprung_auf, level_sprung_ab,
|
||||
levelgleichverteilung, maxpunkte, antwortenprozeile, insertamum, insertvon , updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->kurzbz).','.
|
||||
$this->db_add_param($this->bezeichnung).','.
|
||||
@@ -235,7 +235,7 @@ class gebiet extends basis_db
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
" WHERE gebiet_id=".$this->db_add_param($this->gebiet_id, FHC_INTEGER, false).";";
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
//aktuelle ID aus der Sequence holen
|
||||
@@ -250,14 +250,14 @@ class gebiet extends basis_db
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
@@ -273,7 +273,7 @@ class gebiet extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* prueft das Gebiet auf Gueltigkeit
|
||||
* (diverse Plausichecks)
|
||||
@@ -284,19 +284,19 @@ class gebiet extends basis_db
|
||||
{
|
||||
$this->errormsg = '';
|
||||
$this->load($gebiet_id);
|
||||
|
||||
|
||||
//wenn levels verwendet werden muss maxfragen gesetzt sein
|
||||
if($this->level_start!='' && $this->maxfragen=='')
|
||||
{
|
||||
$this->errormsg .= "Wenn Levels verwendet werden, muss die maximale Fragenanzahl gesetzt sein.\n";
|
||||
}
|
||||
|
||||
|
||||
//Levelgleichverteilung gibt es nur bei nicht geleveltem ablauf
|
||||
if($this->level_start!='' && $this->levelgleichverteilung)
|
||||
{
|
||||
$this->errormsg .= "Levelgleichverteilung ist nur dann erlaubt, wenn der Ablauf nicht gelevelt ist.\n";
|
||||
}
|
||||
|
||||
|
||||
//Von jedem level muessen mindestens maxfragen vorhanden sein wenn levels aktiv ist
|
||||
if($this->level_start!='')
|
||||
{
|
||||
@@ -312,9 +312,9 @@ class gebiet extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Pruefen ob jede Fragen mindestens 2 Vorschlaege hat
|
||||
$qry = "SELECT frage_id, nummer FROM testtool.tbl_frage
|
||||
$qry = "SELECT frage_id, nummer FROM testtool.tbl_frage
|
||||
WHERE (SELECT count(*) as anzahl FROM testtool.tbl_vorschlag WHERE frage_id=tbl_frage.frage_id)<2
|
||||
AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND NOT demo;";
|
||||
if($this->db_query($qry))
|
||||
@@ -337,7 +337,7 @@ class gebiet extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Wenn Levelgleichverteilung true ist, muss maxfragen mindestens so gross wie die Anzahl der level sein
|
||||
if($this->levelgleichverteilung)
|
||||
{
|
||||
@@ -351,13 +351,13 @@ class gebiet extends basis_db
|
||||
if($row->anzahl>$this->maxfragen)
|
||||
{
|
||||
$this->errormsg .= "Wenn Levelgleichverteilung gesetzt ist, muss maxfragen groesser als die Anzahl der verwendeten Levels sein\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn zufallsfrage=true und level_start!='' oder levelgleichverteilung
|
||||
|
||||
// Wenn zufallsfrage=true und level_start!='' oder levelgleichverteilung
|
||||
// dann darf die punkteanzahl pro level/Frage sich nicht unterscheiden
|
||||
if($this->zufallfrage && ($this->level_start!='' || $this->levelgleichverteilung))
|
||||
{
|
||||
@@ -365,10 +365,10 @@ class gebiet extends basis_db
|
||||
SELECT level, count(*) as anzahl FROM (
|
||||
SELECT level, punkte, count(*) as anzahl FROM (
|
||||
SELECT level, sum(punkte) as punkte
|
||||
FROM testtool.tbl_frage JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
FROM testtool.tbl_frage JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
WHERE punkte>0 AND not demo AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
GROUP BY frage_id, level) as a
|
||||
GROUP BY level, punkte ) as b
|
||||
GROUP BY frage_id, level) as a
|
||||
GROUP BY level, punkte ) as b
|
||||
GROUP BY level) as c
|
||||
WHERE c.anzahl>1";
|
||||
if($this->db_query($qry))
|
||||
@@ -379,33 +379,33 @@ class gebiet extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// kein Multipleresponse bei gelevelten Gebieten
|
||||
if($this->level_start!='' && $this->level_start!=0 && $this->multipleresponse)
|
||||
{
|
||||
$this->errormsg .= "Bei gelevelten Gebieten ist Multipleresponse nicht erlaubt\n";
|
||||
}
|
||||
|
||||
|
||||
// maxpunkte muss eingetragen sein
|
||||
if($this->maxpunkte=='' || $this->maxpunkte==0)
|
||||
{
|
||||
$this->errormsg = "Es wurden keine Maximalpunkte fuer dieses Gebiet eingetragen\n";
|
||||
}
|
||||
|
||||
|
||||
// Pruefung, ob eine Frage mehrere gleiche Antworten oder gleiche Bilder hat
|
||||
$qry = "SELECT text AS antwort, sprache, frage_id, tbl_frage.nummer, COUNT(text) AS Anz
|
||||
FROM testtool.tbl_vorschlag_sprache
|
||||
FROM testtool.tbl_vorschlag_sprache
|
||||
JOIN testtool.tbl_vorschlag USING (vorschlag_id)
|
||||
JOIN testtool.tbl_frage USING (frage_id)
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
AND (bild IS NULL AND audio IS NULL)
|
||||
GROUP BY antwort,frage_id,tbl_frage.nummer,sprache
|
||||
HAVING ( COUNT(text) > 1 )
|
||||
|
||||
|
||||
UNION
|
||||
|
||||
|
||||
SELECT bild AS antwort, sprache, frage_id, tbl_frage.nummer, COUNT(bild) AS Anz
|
||||
FROM testtool.tbl_vorschlag_sprache
|
||||
FROM testtool.tbl_vorschlag_sprache
|
||||
JOIN testtool.tbl_vorschlag USING (vorschlag_id)
|
||||
JOIN testtool.tbl_frage USING (frage_id)
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
@@ -419,13 +419,13 @@ class gebiet extends basis_db
|
||||
$this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) Sprache $row->sprache hat mehrere gleiche Antworten.\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($this->errormsg=='')
|
||||
return true;
|
||||
else
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Holt alle Gebiete aus der DB
|
||||
*
|
||||
@@ -434,13 +434,13 @@ class gebiet extends basis_db
|
||||
public function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new gebiet();
|
||||
|
||||
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->kurzbz = $row->kurzbz;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
@@ -461,19 +461,19 @@ class gebiet extends basis_db
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->antwortenprozeile = $row->antwortenprozeile;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler in Fkt getAll()';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Berechnet die maxpunkte fuer das Gebiet
|
||||
*
|
||||
@@ -483,10 +483,10 @@ class gebiet extends basis_db
|
||||
{
|
||||
if(!$this->load($gebiet_id))
|
||||
return false;
|
||||
|
||||
|
||||
if(!$this->levelgleichverteilung && ($this->level_start=='' || $this->level_start==0))
|
||||
{
|
||||
$qry = "SELECT sum(punkte) as max
|
||||
$qry = "SELECT sum(punkte) as max
|
||||
FROM testtool.tbl_vorschlag JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND punkte>0 AND NOT demo";
|
||||
if($this->maxfragen!='' && $this->maxfragen>0)
|
||||
@@ -500,11 +500,11 @@ class gebiet extends basis_db
|
||||
SELECT round((anz::decimal/fragengesamt::decimal)*$this->maxfragen*punkte) as punkteprolevel
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
level, punkte, count(*) as anz,
|
||||
(SELECT count(*) FROM testtool.tbl_frage
|
||||
SELECT
|
||||
level, punkte, count(*) as anz,
|
||||
(SELECT count(*) FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER).") as fragengesamt
|
||||
FROM
|
||||
FROM
|
||||
testtool.tbl_frage
|
||||
JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
WHERE
|
||||
@@ -522,11 +522,11 @@ class gebiet extends basis_db
|
||||
SELECT round((anz::decimal/fragengesamt::decimal)*$this->maxfragen*punkte) as punkteprolevel
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
level, punkte, count(*) as anz,
|
||||
(SELECT count(*) FROM testtool.tbl_frage
|
||||
SELECT
|
||||
level, punkte, count(*) as anz,
|
||||
(SELECT count(*) FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER).") as fragengesamt
|
||||
FROM
|
||||
FROM
|
||||
testtool.tbl_frage
|
||||
JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
WHERE
|
||||
@@ -539,19 +539,19 @@ class gebiet extends basis_db
|
||||
elseif($this->level_start!='')
|
||||
{
|
||||
//Maximalpunkte fuer geleveltes Gebiet ermitteln
|
||||
|
||||
|
||||
//Punkte pro Level holen
|
||||
$qry = "
|
||||
SELECT level, punkte
|
||||
SELECT level, punkte
|
||||
FROM
|
||||
(
|
||||
SELECT level, frage_id, sum(punkte) as punkte
|
||||
SELECT level, frage_id, sum(punkte) as punkte
|
||||
FROM testtool.tbl_frage JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND punkte>0 AND level>=".$this->db_add_param($this->level_start)." AND NOT demo
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND punkte>0 AND level>=".$this->db_add_param($this->level_start)." AND NOT demo
|
||||
GROUP BY level, frage_id
|
||||
) as a
|
||||
) as a
|
||||
GROUP by level, punkte ORDER BY level";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$maxfragen = $this->maxfragen;
|
||||
@@ -572,26 +572,26 @@ class gebiet extends basis_db
|
||||
return $maxpunkte;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
return $row->max;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Maximalpunkte';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Maximalpunkte';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft ob das Gebiet bereits gestartet wurde. Wahlweise pruefling_id oder prestudent_id
|
||||
*
|
||||
@@ -603,7 +603,7 @@ class gebiet extends basis_db
|
||||
public function isGestartet($gebiet_id, $pruefling_id=null, $prestudent_id=null)
|
||||
{
|
||||
$this->errormsg='';
|
||||
|
||||
|
||||
if(!is_numeric($gebiet_id) || $gebiet_id=='')
|
||||
{
|
||||
$this->errormsg = 'Gebiet_id muss eine gueltige Zahl sein';
|
||||
@@ -619,40 +619,189 @@ class gebiet extends basis_db
|
||||
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = ' SELECT
|
||||
begintime
|
||||
FROM
|
||||
|
||||
$qry = ' SELECT
|
||||
begintime
|
||||
FROM
|
||||
testtool.tbl_pruefling_frage
|
||||
JOIN
|
||||
JOIN
|
||||
testtool.tbl_pruefling USING (pruefling_id)
|
||||
JOIN
|
||||
JOIN
|
||||
testtool.tbl_frage USING (frage_id)
|
||||
WHERE ';
|
||||
if (!is_null($pruefling_id))
|
||||
$qry.=' pruefling_id='.$this->db_add_param($pruefling_id, FHC_INTEGER);
|
||||
else
|
||||
$qry.=' prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
|
||||
$qry.=' AND
|
||||
|
||||
$qry.=' AND
|
||||
gebiet_id='.$this->db_add_param($gebiet_id, FHC_INTEGER).'
|
||||
AND
|
||||
AND
|
||||
begintime IS NOT NULL';
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_fetch_object($result))
|
||||
return true;
|
||||
return true;
|
||||
else
|
||||
{
|
||||
return false;
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Ablaufe die zu einem Gebiet zugeordnet sind
|
||||
* @param $gebiet_id
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadAblaufGebiet($gebiet_id)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->ablauf_id = $row->ablauf_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->gebiet_id = $row->gebiet_id;
|
||||
$obj->reihung = $row->reihung;
|
||||
$obj->gewicht = $row->gewicht;
|
||||
$obj->semester = $row->semester;
|
||||
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht ein Gebiet und den zugeordneten Ablauf
|
||||
* @param $gebiet_id
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($gebiet_id)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_frage WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
{
|
||||
$this->errormsg = 'Bitte entfernen Sie zuerst alle Fragen aus dem Gebiet';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "
|
||||
DELETE FROM testtool.tbl_ablauf WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)."
|
||||
DELETE FROM testtool.tbl_gebiet WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen des Gebiets';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Ablauf
|
||||
* @param $ablauf_id
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function deleteAblaufZuordnung($ablauf_id)
|
||||
{
|
||||
$qry = "DELETE FROM testtool.tbl_ablauf WHERE ablauf_id=".$this->db_add_param($ablauf_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Entfernen des Ablaufs';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle AblaufVorabe Eintraege
|
||||
* @return boolean true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAblaufVorgaben()
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_ablauf_vorgaben ORDER BY studiengang_kz";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
|
||||
$obj->ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->sprachwahl = $this->db_parse_bool($row->sprachwahl);
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den Ablauf
|
||||
*/
|
||||
public function saveAblauf()
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO testtool.tbl_ablauf (studiengang_kz, gebiet_id, reihung,gewicht,semester,ablauf_vorgaben_id, insertamum, insertvon) VALUES(".
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->gebiet_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->reihung, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->gewicht, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->semester, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->ablauf_vorgaben_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='not implemented';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1908,7 +1908,7 @@ class lehrveranstaltung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT uid FROM campus.vw_student_lehrveranstaltung WHERE '
|
||||
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
|
||||
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
|
||||
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
@@ -2193,5 +2193,44 @@ class lehrveranstaltung extends basis_db
|
||||
|
||||
return $oe;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist,
|
||||
* wird der erstbeste Lektor geliefert
|
||||
* @param $lehrveranstaltung_id ID der Lehrveranstaltung
|
||||
* @param $studiensemester_kurzbz Studiensemester
|
||||
* @return UID des Mitarbeiters
|
||||
*/
|
||||
public function getLVLeitung($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
mitarbeiter_uid,
|
||||
CASE WHEN lehrfunktion_kurzbz='LV-Leitung' THEN 1 ELSE 2 END as sort
|
||||
FROM
|
||||
lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY sort LIMIT 1";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
return $row->mitarbeiter_uid;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Keine Eintrag gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -217,16 +217,17 @@ class studienordnung extends basis_db
|
||||
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->ects))
|
||||
{
|
||||
$this->errormsg='ects enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
if(!is_numeric($this->akadgrad_id))
|
||||
{
|
||||
$this->errormsg='akadgrad_id enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
//changes for addon Studiengangsverwaltung; ECTS and akadgrad_id are optional
|
||||
// if(!is_numeric($this->ects))
|
||||
// {
|
||||
// $this->errormsg='ects enthaelt ungueltige Zeichen';
|
||||
// return false;
|
||||
// }
|
||||
// if(!is_numeric($this->akadgrad_id))
|
||||
// {
|
||||
// $this->errormsg='akadgrad_id enthaelt ungueltige Zeichen';
|
||||
// return false;
|
||||
// }
|
||||
|
||||
//Gesamtlaenge pruefen
|
||||
if(mb_strlen($this->version)>256)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!ENTITY window.title "FAS">
|
||||
<!ENTITY window.version "3.0">
|
||||
<!ENTITY window.version "3.2a">
|
||||
|
||||
<!-- MENUE -->
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!ENTITY window.title "Planner">
|
||||
<!ENTITY window.version "0.1 vom 12.April.2011">
|
||||
<!ENTITY window.version "3.2a">
|
||||
|
||||
|
||||
<!ENTITY menu-file.label "Datei">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!ENTITY window.title "Tempus">
|
||||
<!ENTITY window.version "3.0">
|
||||
<!ENTITY window.version "3.2a">
|
||||
|
||||
|
||||
<!ENTITY menu-file.label "Datei">
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
// touched by Christian Paminger
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3780,50 +3780,6 @@ if(!$result = @$db->db_query("SELECT studiensemester_kurzbz FROM public.tbl_reih
|
||||
else
|
||||
echo 'public.tbl_reihungstest: Spalte studiensemester_kurzbz hinzugefuegt';
|
||||
}
|
||||
|
||||
//Tabelle public.tbl_foerdervertrag
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_foerdervertrag LIMIT 1;"))
|
||||
{
|
||||
$qry = "CREATE TABLE public.tbl_foerdervertrag
|
||||
(
|
||||
foerdervertrag_id integer NOT NULL,
|
||||
studiengang_kz integer NOT NULL,
|
||||
foerdergeber varchar(256),
|
||||
foerdersatz numeric(8,2),
|
||||
foerdergruppe varchar(256),
|
||||
gueltigvon varchar(16),
|
||||
gueltigbis varchar(16),
|
||||
erlaeuterungen text,
|
||||
insertamum timestamp,
|
||||
insertvon varchar(32),
|
||||
updateamum timestamp,
|
||||
updatevon varchar(32)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.seq_foerdervertrag_foerdervertrag_id
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT pk_foerdervertrag PRIMARY KEY (foerdervertrag_id);
|
||||
ALTER TABLE public.tbl_foerdervertrag ALTER COLUMN foerdervertrag_id SET DEFAULT nextval('public.seq_foerdervertrag_foerdervertrag_id');
|
||||
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiensemester_gueltigvon FOREIGN KEY (gueltigvon) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiensemester_gueltigbis FOREIGN KEY (gueltigbis) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
GRANT SELECT ON public.tbl_foerdervertrag TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_foerdervertrag TO vilesci;
|
||||
GRANT SELECT, UPDATE ON public.seq_foerdervertrag_foerdervertrag_id TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_foerdervertrag: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_foerdervertrag: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
|
||||
@@ -3781,49 +3781,6 @@ if(!$result = @$db->db_query("SELECT studiensemester_kurzbz FROM public.tbl_reih
|
||||
echo 'public.tbl_reihungstest: Spalte studiensemester_kurzbz hinzugefuegt';
|
||||
}
|
||||
|
||||
//Tabelle public.tbl_foerdervertrag
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_foerdervertrag LIMIT 1;"))
|
||||
{
|
||||
$qry = "CREATE TABLE public.tbl_foerdervertrag
|
||||
(
|
||||
foerdervertrag_id integer NOT NULL,
|
||||
studiengang_kz integer NOT NULL,
|
||||
foerdergeber varchar(256),
|
||||
foerdersatz numeric(8,2),
|
||||
foerdergruppe varchar(256),
|
||||
gueltigvon varchar(16),
|
||||
gueltigbis varchar(16),
|
||||
erlaeuterungen text,
|
||||
insertamum timestamp,
|
||||
insertvon varchar(32),
|
||||
updateamum timestamp,
|
||||
updatevon varchar(32)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.seq_foerdervertrag_foerdervertrag_id
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT pk_foerdervertrag PRIMARY KEY (foerdervertrag_id);
|
||||
ALTER TABLE public.tbl_foerdervertrag ALTER COLUMN foerdervertrag_id SET DEFAULT nextval('public.seq_foerdervertrag_foerdervertrag_id');
|
||||
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiensemester_gueltigvon FOREIGN KEY (gueltigvon) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
ALTER TABLE public.tbl_foerdervertrag ADD CONSTRAINT fk_foerdervertrag_studiensemester_gueltigbis FOREIGN KEY (gueltigbis) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
GRANT SELECT ON public.tbl_foerdervertrag TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_foerdervertrag TO vilesci;
|
||||
GRANT SELECT, UPDATE ON public.seq_foerdervertrag_foerdervertrag_id TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_foerdervertrag: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_foerdervertrag: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
|
||||
+369
-3
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 FH Technikum-Wien
|
||||
/* Copyright (C) 2015 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
|
||||
@@ -20,7 +20,373 @@
|
||||
* Beschreibung:
|
||||
* Dieses Skript prueft die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
|
||||
*/
|
||||
|
||||
|
||||
echo "keine Updates vorhanden!";
|
||||
|
||||
|
||||
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokument
|
||||
if(!@$db->db_query("SELECT dokumentbeschreibung_mehrsprachig FROM public.tbl_dokument LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE public.tbl_dokument ADD COLUMN dokumentbeschreibung_mehrsprachig text[];
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_dokument '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte dokumentbeschreibung_mehrsprachig in public.tbl_dokument hinzugefügt';
|
||||
}
|
||||
|
||||
// Neue Spalte beschreibung_mehrsprachig bei tbl_dokumentstudiengang
|
||||
if(!@$db->db_query("SELECT beschreibung_mehrsprachig FROM public.tbl_dokumentstudiengang LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN beschreibung_mehrsprachig text[];
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_dokumentstudiengang '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte beschreibung_mehrsprachig in public.tbl_dokumentstudiengang hinzugefügt';
|
||||
}
|
||||
|
||||
// Berechtigungen fuer web User erteilen
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_frage' AND table_schema='testtool' AND grantee='web' AND privilege_type='DELETE'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
|
||||
$qry = "GRANT DELETE ON testtool.tbl_frage TO web;
|
||||
GRANT DELETE ON testtool.tbl_gebiet TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON testtool.tbl_ablauf TO web;
|
||||
GRANT SELECT, UPDATE ON testtool.tbl_ablauf_ablauf_id_seq TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Testtool Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Löschrechte fuer Testtool Tabellen fuer web user gesetzt ';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
"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_hauptberuf" => array("hauptberufcode","bezeichnung"),
|
||||
"bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung","lgart_biscode"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"kommune.tbl_match" => array("match_id","team_sieger","wettbewerb_kurzbz","team_gefordert","team_forderer","gefordertvon","gefordertamum","matchdatumzeit","matchort","matchbestaetigtvon","matchbestaetigtamum","ergebniss","bestaetigtvon","bestaetigtamum"),
|
||||
"kommune.tbl_team" => array("team_kurzbz","bezeichnung","beschreibung","logo"),
|
||||
"kommune.tbl_teambenutzer" => array("uid","team_kurzbz"),
|
||||
"kommune.tbl_wettbewerb" => array("wettbewerb_kurzbz","regeln","forderungstage","teamgroesse","wbtyp_kurzbz","uid","icon"),
|
||||
"kommune.tbl_wettbewerbteam" => array("team_kurzbz","wettbewerb_kurzbz","rang","punkte"),
|
||||
"kommune.tbl_wettbewerbtyp" => array("wbtyp_kurzbz","bezeichnung","farbe"),
|
||||
"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","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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon","ext_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.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"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"),
|
||||
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email"),
|
||||
"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_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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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_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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
|
||||
"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","r","gruppe","sql","php","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_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"),
|
||||
"public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz","style","berechtigung","anmerkung_vorlagestudiengang","aktiv"),
|
||||
"testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_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"),
|
||||
"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"),
|
||||
"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"),
|
||||
"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_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_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';";
|
||||
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
@@ -21,6 +21,6 @@
|
||||
**/
|
||||
|
||||
// Version
|
||||
$fhcomplete_version = '3.1';
|
||||
$fhcomplete_version = '3.2';
|
||||
|
||||
?>
|
||||
|
||||
@@ -102,6 +102,16 @@ if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$stgart=$row->typ;
|
||||
$lgartcode = $row->lgartcode;
|
||||
$qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode);
|
||||
if($result_lgartcode = $db->db_query($qrylgart))
|
||||
{
|
||||
if($row_lgartcode = $db->db_fetch_object($result_lgartcode))
|
||||
{
|
||||
$lgartcode=$row_lgartcode->lgart_biscode;
|
||||
}
|
||||
}
|
||||
|
||||
$stgemail=$row->email;
|
||||
if(strlen(trim($row->erhalter_kz))==1)
|
||||
{
|
||||
@@ -256,7 +266,7 @@ if($result = $db->db_query($qry))
|
||||
$error_log.=(!empty($error_log)?', ':'')."ZugangDatum ('".$row->zgvdatum."') kleiner als Geburtsdatum ('".$row->gebdatum."')";
|
||||
}
|
||||
}
|
||||
if($stgart==2)
|
||||
if($lgartcode==1)
|
||||
{
|
||||
if($row->zgvmas_code=='' || $row->zgvmas_code==null)
|
||||
{
|
||||
@@ -469,21 +479,30 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
//<HeimatStrasse><![CDATA[".$strasse."]]></HeimatStrasse>
|
||||
|
||||
if($row->zgvmanation!='')
|
||||
$ausstellungsstaat = $row->zgvmanation;
|
||||
elseif($row->zgvnation!='')
|
||||
$ausstellungsstaat = $row->zgvnation;
|
||||
else
|
||||
$ausstellungsstaat = $row->ausstellungsstaat;
|
||||
$datei.="
|
||||
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
|
||||
<HeimatPLZ>".$plz."</HeimatPLZ>
|
||||
<HeimatGemeinde>".$gemeinde."</HeimatGemeinde>
|
||||
<HeimatNation>".$nation."</HeimatNation>
|
||||
<ZugangCode>".$row->zgv_code."</ZugangCode>
|
||||
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>
|
||||
<Ausstellungsstaat>".$row->ausstellungsstaat."</Ausstellungsstaat>";
|
||||
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>";
|
||||
|
||||
if($stgart==2)
|
||||
if($lgartcode==1)
|
||||
{
|
||||
$datei.="
|
||||
<ZugangMasterCode>".$row->zgvmas_code."</ZugangMasterCode>
|
||||
<ZugangMasterDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvmadatum))."</ZugangMasterDatum>";
|
||||
}
|
||||
|
||||
$datei.="
|
||||
<Ausstellungsstaat>".$ausstellungsstaat."</Ausstellungsstaat>";
|
||||
|
||||
$qryad="SELECT
|
||||
*
|
||||
@@ -550,4 +569,4 @@ if($result = $db->db_query($qry))
|
||||
echo "<a href=$ddd>XML-Datei für BIS-Meldung Lehrgang ".$lehrgangsname.' ('.$lehrgangsnummer.")</a><br>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -868,7 +868,15 @@ function GenerateXMLStudentBlock($row)
|
||||
else
|
||||
$beginndatum='';
|
||||
}
|
||||
if($row->ausstellungsstaat=='' && ($datumobj->mktime_fromdate($beginndatum) > $datumobj->mktime_fromdate('2011-04-15')) && !$ausserordentlich)
|
||||
$ausstellungsstaat='';
|
||||
if($row->zgvmanation!='')
|
||||
$ausstellungsstaat = $row->zgvmanation;
|
||||
elseif($row->zgvnation!='')
|
||||
$ausstellungsstaat = $row->zgvnation;
|
||||
else
|
||||
$ausstellungsstaat = $row->ausstellungsstaat;
|
||||
|
||||
if($ausstellungsstaat=='' && ($datumobj->mktime_fromdate($beginndatum) > $datumobj->mktime_fromdate('2011-04-15')) && !$ausserordentlich)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Ausstellungsstaat ist nicht eingetragen";
|
||||
}
|
||||
@@ -954,10 +962,17 @@ function GenerateXMLStudentBlock($row)
|
||||
|
||||
if($aktstatus!='Incoming' && !$ausserordentlich)
|
||||
{
|
||||
if($row->ausstellungsstaat!='' && ($datumobj->mktime_fromdate($beginndatum) > $datumobj->mktime_fromdate('2011-04-15')))
|
||||
if($row->zgvmanation!='')
|
||||
$ausstellungsstaat = $row->zgvmanation;
|
||||
elseif($row->zgvnation!='')
|
||||
$ausstellungsstaat = $row->zgvnation;
|
||||
else
|
||||
$ausstellungsstaat = $row->ausstellungsstaat;
|
||||
|
||||
if($ausstellungsstaat!='' && ($datumobj->mktime_fromdate($beginndatum) > $datumobj->mktime_fromdate('2011-04-15')))
|
||||
{
|
||||
$datei.='
|
||||
<Ausstellungsstaat>'.$row->ausstellungsstaat.'</Ausstellungsstaat>';
|
||||
<Ausstellungsstaat>'.$ausstellungsstaat.'</Ausstellungsstaat>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
|
||||
if($person->foto_sperre)
|
||||
$sql_query_upd1.="UPDATE public.tbl_person SET foto_sperre=true WHERE person_id=".$db->db_add_param($radio_2, FHC_INTEGER).";";
|
||||
|
||||
// Wenn die zu loeschende Person ein Foto hat, und die andere nicht,
|
||||
// Wenn die zu loeschende Person ein Foto hat, und die andere nicht,
|
||||
// dann wird das Foto uebernommen
|
||||
if($person->foto!='')
|
||||
{
|
||||
@@ -114,10 +114,11 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0)
|
||||
$sql_query_upd1.="UPDATE public.tbl_adresse SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_akte SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_bankverbindung SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_kontakt SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_preinteressent SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_personfunktionstandort SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE public.tbl_notizzuordnung SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="UPDATE wawi.tbl_konto SET person_id=".$db->db_add_param($radio_2, FHC_INTEGER)." WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
$sql_query_upd1.="DELETE FROM public.tbl_person WHERE person_id=".$db->db_add_param($radio_1, FHC_INTEGER).";";
|
||||
|
||||
if($db->db_query($sql_query_upd1))
|
||||
@@ -156,19 +157,19 @@ if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2))
|
||||
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
|
||||
<link href="../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#t1').tablesorter(
|
||||
{
|
||||
sortList: [[1,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
$('#t2').tablesorter(
|
||||
{
|
||||
sortList: [[2,0]],
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
function enable(id)
|
||||
@@ -179,7 +180,7 @@ if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2))
|
||||
var radios = document.getElementsByName('radio_1');
|
||||
for (var i=0, iLen=radios.length; i<iLen; i++) {
|
||||
radios[i].disabled = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
function disable(id)
|
||||
{
|
||||
|
||||
+3
-3
@@ -162,7 +162,7 @@ if(isset($_POST['save']))
|
||||
{
|
||||
$firma_oe->firma_id = $firma->firma_id;
|
||||
$firma_oe->new = true;
|
||||
$firma_oe->oe_kurzbz='etw';
|
||||
$firma_oe->oe_kurzbz='gst';
|
||||
$firma_oe->insertamum = date('Y-m-d H:i:s');
|
||||
$firma_oe->insertvon = $user;
|
||||
}
|
||||
@@ -410,7 +410,7 @@ if($method=='new' || $method=='update')
|
||||
$firma_id = $firma->firma_id;
|
||||
|
||||
$firma_oe = new firma();
|
||||
$firma_oe->get_firmaorganisationseinheit($firma_id,'etw');
|
||||
$firma_oe->get_firmaorganisationseinheit($firma_id,'gst');
|
||||
if(isset($firma_oe->result[0]))
|
||||
{
|
||||
$kundennummer_erhalter = $firma_oe->result[0]->kundennummer;
|
||||
@@ -631,4 +631,4 @@ if($method=='search')
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user