Merge branch 'master' into messages

This commit is contained in:
Paolo
2019-02-05 18:13:06 +01:00
40 changed files with 1008 additions and 313 deletions
+1
View File
@@ -33,3 +33,4 @@ tests/codeception/tests/unit.suite.yml
/sparks/*
/webdav/google.php
system/sql/
.ptp-sync*
@@ -78,6 +78,7 @@ class InfoCenter extends Auth_Controller
'showDetails' => 'infocenter:r',
'unlockPerson' => 'infocenter:rw',
'saveFormalGeprueft' => 'infocenter:rw',
'getPrestudentData' => 'infocenter:r',
'getLastPrestudentWithZgvJson' => 'infocenter:r',
'getZgvInfoForPrestudent' => 'infocenter:r',
'saveBewPriorisierung' => 'infocenter:rw',
@@ -263,6 +264,17 @@ class InfoCenter extends Auth_Controller
$this->output->set_content_type('application/json')->set_output(json_encode($json));
}
/**
* Gets prestudent data for a person in json format
* @param $person_id
*/
public function getPrestudentData($person_id)
{
$prestudentdata = $this->_loadPrestudentData($person_id);
$this->output->set_content_type('application/json')->set_output(json_encode($prestudentdata['zgvpruefungen']));
}
/**
* Gets prestudent that was last modified in json format, for ZGV übernehmen
* @param $person_id
@@ -7,6 +7,7 @@
'bootstrap' => true,
'fontawesome' => true,
'jqueryui' => true,
'dialoglib' => true,
'ajaxlib' => true,
'tablesorter' => true,
'tinymce' => true,
@@ -98,9 +98,6 @@
<form method="post"
action="#" class="zgvform">
<input type="hidden" name="prestudentid" value="<?php echo $zgvpruefung->prestudent_id ?>" class="prestudentidinput">
<input type="hidden" name="studiensemester" value="<?php echo $studiensemester ?>" id="studiensemester_<?php echo $zgvpruefung->prestudent_id ?>">
<input type="hidden" name="isfreigegeben" class="isfreigegeben"
value="<?php echo isset($zgvpruefung->prestudentstatus->bestaetigtam) && $zgvpruefung->prestudentstatus->status_kurzbz === 'Interessent' && $zgvpruefung->studiengangtyp === 'b' ? 1 : 0 ?>" id="isfreigegeben_<?php echo $zgvpruefung->prestudent_id ?>">
<div class="row">
<div class="col-lg-<?php echo $columns[0] ?>">
<div class="form-group">
+32 -22
View File
@@ -18,15 +18,16 @@
$addons = isset($addons) ? $addons : false;
$ajaxlib = isset($ajaxlib) ? $ajaxlib : false;
$bootstrap = isset($bootstrap) ? $bootstrap : false;
$dialoglib = isset($dialoglib) ? $dialoglib : false;
$filterwidget = isset($filterwidget) ? $filterwidget : false;
$fontawesome = isset($fontawesome) ? $fontawesome : false;
$jquery = isset($jquery) ? $jquery : false;
$jqueryui = isset($jqueryui) ? $jqueryui : false;
$jquerytreetable = isset($jquerytreetable) ? $jquerytreetable : false;
$navigationwidget = isset($navigationwidget) ? $navigationwidget : false;
$pivotui = isset($pivotui) ? $pivotui : false;
$sbadmintemplate = isset($sbadmintemplate) ? $sbadmintemplate : false;
$tablesorter = isset($tablesorter) ? $tablesorter : false;
$pivotui = isset($pivotui) ? $pivotui : false;
$tinymce = isset($tinymce) ? $tinymce : false;
?>
@@ -51,16 +52,12 @@
// Bootstrap CSS
if ($bootstrap === true) generateCSSsInclude('vendor/twbs/bootstrap/dist/css/bootstrap.min.css');
// jQuery treetable
if ($jquerytreetable === true) generateCSSsInclude('vendor/ludo/jquery-treetable/css/jquery.treetable.css');
// Font Awesome CSS
if ($fontawesome === true) generateCSSsInclude('vendor/components/font-awesome/css/font-awesome.min.css');
// Table sorter CSS
if ($tablesorter === true)
{
generateCSSsInclude('vendor/mottie/tablesorter/dist/css/theme.default.min.css');
generateCSSsInclude('vendor/mottie/tablesorter/dist/css/jquery.tablesorter.pager.min.css');
}
// PivotUI CSS
if ($pivotui === true)
{
@@ -74,8 +71,12 @@
generateCSSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/css/sb-admin-2.min.css');
}
// jQuery treetable
if ($jquerytreetable === true) generateCSSsInclude('vendor/ludo/jquery-treetable/css/jquery.treetable.css');
// Table sorter CSS
if ($tablesorter === true)
{
generateCSSsInclude('vendor/mottie/tablesorter/dist/css/theme.default.min.css');
generateCSSsInclude('vendor/mottie/tablesorter/dist/css/jquery.tablesorter.pager.min.css');
}
// --------------------------------------------------------------------------------------------------------
// From public folder
@@ -83,6 +84,9 @@
// AjaxLib CSS
if ($ajaxlib === true) generateCSSsInclude('public/css/AjaxLib.css');
// DialogLib CSS
if ($dialoglib === true) generateCSSsInclude('public/css/DialogLib.css');
// FilterWidget CSS
if ($filterwidget === true) generateCSSsInclude('public/css/FilterWidget.css');
@@ -120,6 +124,16 @@
// Bootstrap JS
if ($bootstrap === true) generateJSsInclude('vendor/twbs/bootstrap/dist/js/bootstrap.min.js');
// jQuery treetable
// NOTE: keep it after jQuery includes
if ($jquerytreetable === true) generateJSsInclude('vendor/ludo/jquery-treetable/jquery.treetable.js');
// PivotUI CSS
if ($pivotui === true)
{
generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
}
// Table sorter JS
if ($tablesorter === true)
{
@@ -128,12 +142,6 @@
generateJSsInclude('vendor/mottie/tablesorter/dist/js/extras/jquery.tablesorter.pager.min.js');
}
// PivotUI CSS
if ($pivotui === true)
{
generateJSsInclude('vendor/nicolaskruchten/pivottable/dist/pivot.min.js');
}
// Tinymce JS
if ($tinymce === true) generateJSsInclude('vendor/tinymce/tinymce/tinymce.min.js');
@@ -146,29 +154,31 @@
generateBackwardCompatibleJSMsIe('vendor/scottjehl/Respond/dest/respond.min.js');
}
// jQuery treetable
if ($jquerytreetable === true) generateJSsInclude('vendor/ludo/jquery-treetable/jquery.treetable.js');
// --------------------------------------------------------------------------------------------------------
// From public folder
// DialogLib JS
if ($dialoglib === true) generateJSsInclude('public/js/DialogLib.js');
// AjaxLib JS
// NOTE: must be called before including others JS libraries that use it
if ($ajaxlib === true) generateJSsInclude('public/js/AjaxLib.js');
// PhrasesLib JS
if ($phrases != null) generateJSsInclude('public/js/PhrasesLib.js');
// FilterWidget JS
if ($filterwidget === true) generateJSsInclude('public/js/FilterWidget.js');
// NavigationWidget JS
if ($navigationwidget === true) generateJSsInclude('public/js/NavigationWidget.js');
// PhrasesLib JS
if ($phrases != null) generateJSsInclude('public/js/PhrasesLib.js');
// Load addon hooks JS
// NOTE: keep it as the latest but one
if ($addons === true) generateAddonsJSsInclude($calledPath.'/'.$calledMethod);
// Eventually required JS
// NOTE: keep it as the latest
generateJSsInclude($customJSs);
?>
+5 -1
View File
@@ -109,7 +109,11 @@ $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tb
LEFT JOIN public.tbl_studiengang USING(studiengang_kz)
LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz)
WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom')
AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter')
AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer'
OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter'
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer'
OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter'
OR tbl_projektbetreuer.betreuerart_kurzbz='Zweitbegutachter')
AND tbl_projektarbeit.student_uid=".$db->db_add_param($uid)."
AND public.tbl_benutzer.aktiv
AND lehre.tbl_projektarbeit.note IS NULL
+142 -19
View File
@@ -50,35 +50,142 @@ echo '<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
?>
<script src="../../vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#table").tablesorter(
{
sortList: [[0,0]],
widgets: [\'zebra\'],
sortList: [[1,0]],
widgets: ["zebra", "filter", "stickyHeaders"],
headers: { 0: {sorter: false, filter: false}},
widgetOptions : {filter_saveFilters : false,
filter_functions : {
// Add select menu to this column
3 : {
"M" : function(e, n, f, i, $r, c, data) { return /M/.test(e); },
"W" : function(e, n, f, i, $r, c, data) { return /W/.test(e); }
},
4 : {
" - " : function(e, n, f, i, $r, c, data) { return /-/.test(e); },
"Ja" : function(e, n, f, i, $r, c, data) { return /Ja/.test(e); },
"Nein" : function(e, n, f, i, $r, c, data) { return /Nein/.test(e); }
}
}
}
})
// Set number of result rows after filtering
.bind("filterEnd",function(e, t)
{
var rows = $('table.hasFilters tbody tr:visible').length;
$("#rowCounter").html(rows);
});
$("#toggle").on("click", function(e)
{
$("#table").checkboxes("toggle");
e.preventDefault();
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
$("#uncheck").on("click", function(e)
{
$("#table").checkboxes("uncheck");
e.preventDefault();
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
$("#table").checkboxes("range", true);
$('.chkbox').change(function()
{
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
}
);
function SendMail()
{
// Wenn Checkboxen markiert sind, an diese senden, sonst an alle
if ($("input.chkbox:checked").length > 0)
{
var elements = $("input.chkbox:checked");
}
else
{
var elements = $("input.chkbox:visible");
}
var mailadressen = "";
var adresse = "";
var counter = 0;
// Schleife ueber die einzelnen Elemente
// Aus Spamgründen dürfen je Nachricht maximal 100 Empfänger enthalten sein
// Deshalb wird nach 100 Einträgen ein neues window.location.href erzeugt
// Außerdem darf die URL nicht länger als 2048 Zeichen sein
$.each(elements, function(index, item)
{
adresse = $(this).closest("tr").find("td.clm_email a:first").attr("href");
adresse = adresse.replace(/^mailto?:/, "") + ";";
if (counter > 0 && (counter % 100 === 0) || (mailadressen.length + adresse.length > 2048))
{
window.location.href = "mailto:?bcc="+mailadressen;
mailadressen = "";
counter = 0;
}
mailadressen += adresse;
counter ++;
});
window.location.href = "mailto:?bcc="+mailadressen;
}
</script>
<title>' . $p->t('mailverteiler/personenImVerteiler') . '</title>
<style type="text/css">
.buttongreen, a.buttongreen
{
cursor: pointer;
color: #FFFFFF;
margin: 0 5px 5px 0;
text-decoration: none;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
background-color: #5cb85c;
border-top: 3px solid #5cb85c;
border-bottom: 3px solid #5cb85c;
border-right: 8px solid #5cb85c;
border-left: 8px solid #5cb85c;
display: inline-block;
vertical-align: middle;
}
</style>
<?php
echo ' <title>' . $p->t('mailverteiler/personenImVerteiler') . '</title>
</head>
<body id="inhalt">';
$qry = "SELECT
uid, vorname, nachname
uid, vorname, nachname, geschlecht, fixangestellt
FROM
campus.vw_benutzer
JOIN
tbl_benutzergruppe USING (uid)
LEFT JOIN
public.tbl_mitarbeiter ON (uid = mitarbeiter_uid)
WHERE
gruppe_kurzbz=".$db->db_add_param($gruppe_kurzbz);
@@ -96,16 +203,29 @@ $qry = "SELECT
$qry .= " ORDER BY
nachname, vorname";
echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>';
echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>';
if ($result = $db->db_query($qry))
{
echo '<p>' . $row = $db->db_num_rows($result) . ' ' . $p->t('mailverteiler/personen');
echo '<p><span id="rowCounter">' . $row = $db->db_num_rows($result) . '</span> ' . $p->t('mailverteiler/personen') . '</p>';
}
echo '<table class="tablesorter" id="table">
echo '
<table class="tablesorter" id="table">
<thead>
<tr>
<th style="text-align: center; width: 80px">
<nobr>
<a href="#" data-toggle="checkboxes" data-action="toggle" id="toggle" title="Alle markieren / Invertieren"><img src="../../skin/images/checkbox_toggle.png" name="toggle"></a>&nbsp;&nbsp;
<a href="#" data-toggle="checkboxes" data-action="uncheck" id="uncheck" title="Keine markieren"><img src="../../skin/images/checkbox_uncheck.png" name="toggle"></a>
</nobr>
</th>
<th>' . $p->t('global/nachname') . '</th>
<th>' . $p->t('global/vorname') . '</th>
<th>' . $p->t('global/geschlecht') . '</th>
<th>' . $p->t('global/fixangestellt') . '</th>
<th>' . $p->t('global/mail') . '</th>
</tr></thead><tbody>';
@@ -113,11 +233,14 @@ if ($result = $db->db_query($qry))
{
while ($row = $db->db_fetch_object($result))
{
echo "<tr>";
echo " <td>$row->nachname</td>";
echo " <td>$row->vorname</td>";
echo " <td><a href='mailto:$row->uid@" . DOMAIN . "' class='Item'>$row->uid@" . DOMAIN . "</a></td>";
echo "</tr>";
echo '<tr>';
echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>';
echo ' <td>'.$row->nachname.'</td>';
echo ' <td>'.$row->vorname.'</td>';
echo ' <td>'.strtoupper($row->geschlecht).'</td>';
echo ' <td>'.($row->fixangestellt != '' ? ($row->fixangestellt == 't' ? 'Ja' : 'Nein') :'-').'</td>';
echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>';
echo '</tr>';
}
}
echo '
+124 -15
View File
@@ -32,26 +32,124 @@ echo '<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">';
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
?>
<script type="text/javascript">
$(document).ready(function()
{
$("#table").tablesorter(
{
sortList: [[0,0]],
widgets: [\'zebra\'],
sortList: [[1,0]],
widgets: ["zebra", "filter", "stickyHeaders"],
headers: { 0: {sorter: false, filter: false}},
widgetOptions : {filter_saveFilters : false,
filter_functions : {
// Add select menu to this column
3 : {
"M" : function(e, n, f, i, $r, c, data) { return /M/.test(e); },
"W" : function(e, n, f, i, $r, c, data) { return /W/.test(e); }
}
}
}
})
// Set number of result rows after filtering
.bind("filterEnd",function(e, t)
{
var rows = $('table.hasFilters tbody tr:visible').length;
$("#rowCounter").html(rows);
});
$("#toggle").on("click", function(e)
{
$("#table").checkboxes("toggle");
e.preventDefault();
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
$("#uncheck").on("click", function(e)
{
$("#table").checkboxes("uncheck");
e.preventDefault();
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
$("#table").checkboxes("range", true);
$('.chkbox').change(function()
{
if ($("input.chkbox:checked").length > 0)
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnMarkierteSenden'); ?>');
else
$("#mailSendButton").html('<?php echo $p->t('mailverteiler/mailAnAlleSenden'); ?>');
});
}
);
function SendMail()
{
// Wenn Checkboxen markiert sind, an diese senden, sonst an alle
if ($("input.chkbox:checked").length > 0)
{
var elements = $("input.chkbox:checked");
}
else
{
var elements = $("input.chkbox:visible");
}
var mailadressen = "";
var adresse = "";
var counter = 0;
// Schleife ueber die einzelnen Elemente
// Aus Spamgründen dürfen je Nachricht maximal 100 Empfänger enthalten sein
// Deshalb wird nach 100 Einträgen ein neues window.location.href erzeugt
// Außerdem darf die URL nicht länger als 2048 Zeichen sein
$.each(elements, function(index, item)
{
adresse = $(this).closest("tr").find("td.clm_email a:first").attr("href");
adresse = adresse.replace(/^mailto?:/, "") + ";";
if (counter > 0 && (counter % 100 === 0) || (mailadressen.length + adresse.length > 2048))
{
window.location.href = "mailto:?bcc="+mailadressen;
mailadressen = "";
counter = 0;
}
mailadressen += adresse;
counter ++;
});
window.location.href = "mailto:?bcc="+mailadressen;
}
</script>
<style type="text/css">
.buttongreen, a.buttongreen
{
cursor: pointer;
color: #FFFFFF;
margin: 0 5px 5px 0;
text-decoration: none;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
background-color: #5cb85c;
border-top: 3px solid #5cb85c;
border-bottom: 3px solid #5cb85c;
border-right: 8px solid #5cb85c;
border-left: 8px solid #5cb85c;
display: inline-block;
vertical-align: middle;
}
</style>
</head>
<?php echo '
<title>'.$p->t('mailverteiler/personenImVerteiler').'</title>
<body>';
@@ -64,7 +162,7 @@ if (!isset($_GET['kz']))
if (isset($_GET['all']))
{
$qry = "SELECT
vorname, nachname, uid
vorname, nachname, uid, geschlecht
FROM
campus.vw_student
WHERE
@@ -95,16 +193,25 @@ else
$qry.= ' ORDER BY nachname, vorname';
}
echo '<p>'.$p->t('mailverteiler/anleitungstextMailPersInGroup').'<p>';
echo '<a class="buttongreen" href="#" onclick="SendMail()" id="mailSendButton">' . $p->t('mailverteiler/mailAnAlleSenden') . '</a>';
if ($result = $db->db_query($qry))
{
echo '<p>'.$row=$db->db_num_rows($result).' '.$p->t('mailverteiler/personen');
echo '<p><span id="rowCounter">'.$row=$db->db_num_rows($result).'</span> '.$p->t('mailverteiler/personen').'</p>';
}
echo '
<table class="tablesorter" id="table">
<thead>
<tr>
<th style="text-align: center; width: 80px">
<nobr>
<a href="#" data-toggle="checkboxes" data-action="toggle" id="toggle" title="Alle markieren / Invertieren"><img src="../../skin/images/checkbox_toggle.png" name="toggle"></a>&nbsp;&nbsp;
<a href="#" data-toggle="checkboxes" data-action="uncheck" id="uncheck" title="Keine markieren"><img src="../../skin/images/checkbox_uncheck.png" name="toggle"></a>
</nobr>
</th>
<th>'.$p->t('global/nachname').'</th>
<th>'.$p->t('global/vorname').'</th>
<th>' . $p->t('global/geschlecht') . '</th>
<th>'.$p->t('global/mail').'</th>
</tr>
</thead><tbody>';
@@ -114,9 +221,11 @@ if ($result = $db->db_query($qry))
while ($row = $db->db_fetch_object($result))
{
echo "<tr>";
echo ' <td style="text-align: center"><input type="checkbox" class="chkbox" id="checkbox_'.$row->uid.'" name="checkbox['.$row->uid.']"></td>';
echo " <td>$row->nachname</td>";
echo " <td>$row->vorname</td>";
echo " <td><a href='mailto:$row->uid@".DOMAIN."' class='Item'>$row->uid@".DOMAIN."</a></td>";
echo ' <td>'.strtoupper($row->geschlecht).'</td>';
echo ' <td class="clm_email"><a href="mailto:'.$row->uid.'@' . DOMAIN . '" class="Item">'.$row->uid .'@' . DOMAIN . '</a></td>';
echo "</tr>";
}
}
View File
+2 -1
View File
@@ -144,7 +144,8 @@ if(isset($_POST['NewContent']))
protect: [ /\<\/?(audio[^>]+|audio)\>/g, // Protect <audio...> und </audio>],
/\<\/?(source[^>]+)\>/g, // Protect <source...>],
/\<\/?(video[^>]+|video)\>/g // Protect <video...> und </video>],
],
],
valid_elements: "*[*]", // Allow all attributes in all Tags. Documentation see: https://www.tiny.cloud/docs-3x/reference/configuration/Configuration3x@valid_elements/
file_browser_callback: "FHCFileBrowser",
+19 -6
View File
@@ -164,6 +164,11 @@ if($typ=='xls')
$format_bold_center->setAlign('center');
$format_bold_center->setBorder(1);
$format_bold_left =& $workbook->addFormat();
$format_bold_left->setBold();
$format_bold_left->setAlign('left');
$format_bold_left->setBorder(1);
$format_number =& $workbook->addFormat();
$format_number->setNumFormat('0.00');
$format_number->setBorder(1);
@@ -208,9 +213,13 @@ if($typ=='xls')
$maxlength[$spalte]=10;
$worksheet->write($zeile,++$spalte,'Vorname', $format_bold);
$maxlength[$spalte]=10;
$worksheet->write($zeile, ++$spalte, 'V', $format_bold);
$maxlength[$spalte] = 2;
$worksheet->write($zeile, ++$spalte, 'G', $format_bold);
$maxlength[$spalte] = 2;
$worksheet->write($zeile,++$spalte,'Personenkennzeichen', $format_bold);
$maxlength[$spalte]=20;
$maxheaderheight=20;
$maxlength[$spalte] = 20;
$maxheaderheight = 20;
while($row_lva = $db->db_fetch_object($result_lva))
{
@@ -252,7 +261,9 @@ if($typ=='xls')
$worksheet->write($zeile,++$spalte,$row_student->vorname, $format_bold);
if($maxlength[$spalte]<strlen($row_student->vorname))
$maxlength[$spalte]=strlen($row_student->vorname);
$worksheet->write($zeile,++$spalte,$row_student->matrikelnr, $format_bold);
$worksheet->write($zeile, ++$spalte, $row_student->verband, $format_bold);
$worksheet->write($zeile, ++$spalte, $row_student->gruppe, $format_bold_left);
$worksheet->write($zeile, ++$spalte,$row_student->matrikelnr, $format_bold);
//Alle Zeugnisnoten des Studierenden holen
$noten = array();
@@ -341,7 +352,7 @@ if($typ=='xls')
}
$zeile++;
$spalte=2;
$spalte = 4;
$worksheet->write($zeile,$spalte,'Notendurchschnitt', $format_bold);
$summe_schnitt=0;
@@ -385,8 +396,10 @@ if($typ=='xls')
//Zellen der 1. Zeile verbinden
$worksheet->setMerge(0,0,0,$spalte);
//Hoehe der 2. Zeile anpassen damit die LVs alle sichtbar sind
$worksheet->setRow(1,$maxheaderheight*5);
//Hoehe der 2. Zeile anpassen damit die LVs alle sichtbar sind, aber nicht größer als 300
if ($maxheaderheight * 5 > 300)
$maxheaderheight = 60;
$worksheet->setRow(1, $maxheaderheight * 5);
//Ausdruck auf 1 Seite anpassen
$worksheet->fitToPages(1,1);
+19 -5
View File
@@ -236,6 +236,11 @@ if ($typ == 'xls')
$format_bold_center->setBold();
$format_bold_center->setAlign('center');
$format_bold_center->setBorder(1);
$format_bold_left =& $workbook->addFormat();
$format_bold_left->setBold();
$format_bold_left->setAlign('left');
$format_bold_left->setBorder(1);
$format_bold_noborder =& $workbook->addFormat();
$format_bold_noborder->setBold();
@@ -306,8 +311,13 @@ if ($typ == 'xls')
$maxlength[$spalte] = 10;
$worksheet->write($zeile, ++$spalte, 'Vorname', $format_bold);
$maxlength[$spalte] = 10;
$worksheet->write($zeile, ++$spalte, 'V', $format_bold);
$maxlength[$spalte] = 2;
$worksheet->write($zeile, ++$spalte, 'G', $format_bold);
$maxlength[$spalte] = 2;
$worksheet->write($zeile, ++$spalte, 'Personenkennzeichen', $format_bold);
$maxlength[$spalte] = 32;
$maxlength[$spalte] = 35;
$maxheaderheight = 20;
while ($row_lva = $db->db_fetch_object($result_lva))
@@ -351,6 +361,8 @@ if ($typ == 'xls')
$worksheet->write($zeile, ++$spalte, $row_student->vorname, $format_bold);
if ($maxlength[$spalte] < strlen($row_student->vorname))
$maxlength[$spalte] = strlen($row_student->vorname);
$worksheet->write($zeile, ++$spalte, $row_student->verband, $format_bold);
$worksheet->write($zeile, ++$spalte, $row_student->gruppe, $format_bold_left);
$worksheet->write($zeile, ++$spalte, $row_student->matrikelnr, $format_bold);
//Alle Zeugnisnoten des Studierenden holen
@@ -479,7 +491,7 @@ if ($typ == 'xls')
}
}
$zeile++;
$spalte = 2;
$spalte = 4;
$worksheet->write($zeile, $spalte, 'Notendurchschnitt', $format_bold);
$summe_schnitt = 0;
@@ -517,7 +529,7 @@ if ($typ == 'xls')
$zeile += 5;
$legendzeile = $zeile;
$startcolumn = 2;
$startcolumn = 4;
//Farblegende
$bezeichnungen = array();
@@ -563,7 +575,7 @@ if ($typ == 'xls')
for($i = 1; $i <= $totalmergefarb; $i++)
$worksheet->write($legendzeile, $startcolumn + $i, "", $format_colored_nichtzugeteilt);
$startcolumn = $currentcolumn = 9;
$startcolumn = $currentcolumn = 11;
//Notenlegende
//optimale Länge in kleinsten Einheiten - Notenspalten
@@ -651,7 +663,9 @@ if ($typ == 'xls')
for($i = 1; $i <= $spalte; $i++)
$worksheet->write(0, $i, "", $format_bold_center);
//Hoehe der 2. Zeile anpassen damit die LVs alle sichtbar sind
//Hoehe der 2. Zeile anpassen damit die LVs alle sichtbar sind, aber nicht größer als 300
if ($maxheaderheight * 5 > 300)
$maxheaderheight = 60;
$worksheet->setRow(1, $maxheaderheight * 5);
//Ausdruck auf 1 Seite anpassen
@@ -260,6 +260,8 @@ function draw_content($row)
$prestudent->getLastStatus($row->prestudent_id);
$status = $prestudent->status_kurzbz;
$orgform = $prestudent->orgform_kurzbz;
$prio_relativ = new prestudent();
$prio_relativ = $prio_relativ->getRelativePriorisierungFromAbsolut($row->prestudent_id, $row->priorisierung);
$i = 0;
@@ -647,10 +649,11 @@ function draw_content($row)
$worksheet->write($zeile, $i, $row->rt_gesamtpunkte);
$i++;
//RT_Gesamtpunkte
if (mb_strlen($row->priorisierung) > $maxlength[$i])
$maxlength[$i] = mb_strlen($row->priorisierung);
$worksheet->write($zeile, $i, $row->priorisierung);
//Priorisierung
$prio = $prio_relativ.' ('.$row->priorisierung.')';
if (mb_strlen($prio) > $maxlength[$i])
$maxlength[$i] = mb_strlen($prio);
$worksheet->write($zeile, $i, $prio);
$i++;
// UDF
+12 -5
View File
@@ -176,10 +176,17 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst
// Lehreinheit ermitteln
$error = false;
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
. "ORDER BY lehreinheit_id ASC "
. "LIMIT 1";
$qry = "
SELECT
lehreinheit_id
FROM
campus.vw_student_lehrveranstaltung
WHERE
uid=".$db->db_add_param($student_uid)."
AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)."
AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)."
ORDER BY lehreinheit_id ASC
LIMIT 1";
if($result = $db->db_query($qry))
{
@@ -1209,7 +1216,7 @@ if(!$error)
$rolle->bestaetigtam = $_POST['bestaetigtam'];
if($_POST['bestaetigtam']=='')
$rolle->bestaetigtvon = null;
$rolle->bewerbung_abgeschicktamum = $_POST['bewerbung_abgeschicktamum'];
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
$rolle->studienplan_id = $_POST['studienplan_id'];
+6 -6
View File
@@ -365,14 +365,14 @@ else
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#aufnahmegruppe_kurzbz" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-rt_datum" label="RT Datum" flex="1" hidden="true" persist="hidden, width, ordinal"
<!--<treecol id="student-treecol-rt_datum" label="RT Datum" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-rt_anmeldung" label="RT Anmeldung" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<splitter class="tree-splitter"/>-->
<treecol id="student-treecol-dual" label="Dual" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" onclick="StudentTreeSort()"/>
@@ -391,7 +391,7 @@ else
<splitter class="tree-splitter"/>
<treecol id="student-treecol-priorisierung" label="Priorität" flex="1" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#priorisierung" onclick="StudentTreeSort()"/>
sort="rdf:http://www.technikum-wien.at/student/rdf#priorisierung_realtiv" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-mentor" label="Mentor" flex="1" hidden="true" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
@@ -446,13 +446,13 @@ else
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#punkte3" />
-->
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#aufnahmegruppe_kurzbz" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" />
<!--<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_datum" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#rt_anmeldung" />-->
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#dual_bezeichnung" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#matr_nr" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#studienplan_bezeichnung" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#priorisierung" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#priorisierung_realtiv" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#mentor" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#aktiv" />
<treecell properties="Aktiv_rdf:http://www.technikum-wien.at/student/rdf#aktiv" label="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum_iso" />
+15 -3
View File
@@ -279,7 +279,7 @@ function StudentProjektarbeitTreeSelectID()
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentProjektarbeitSelectID!=null)
{
for(var i=0;i<items;i++)
for(var i = 0;i < items; i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-projektarbeit-tree-projektarbeit_id"] : "student-projektarbeit-tree-projektarbeit_id";
@@ -727,7 +727,7 @@ function StudentProjektbetreuerTreeSelectID()
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentProjektbetreuerSelectPersonID!=null)
{
for(var i=0;i<items;i++)
for(var i = 0;i < items; i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-projektbetreuer-tree-projektarbeit_id"] : "student-projektbetreuer-tree-projektarbeit_id";
@@ -864,19 +864,31 @@ function StudentProjektbetreuerDetailReset()
document.getElementById('student-projektbetreuer-textbox-faktor').value='1';
document.getElementById('student-projektbetreuer-textbox-name').value='';
document.getElementById('student-projektbetreuer-menulist-note').value='';
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Betreuer';
document.getElementById('student-projektbetreuer-textbox-punkte').value='0.0';
if(document.getElementById('student-projektarbeit-menulist-projekttyp').value=='Diplom')
{
document.getElementById('student-projektbetreuer-textbox-stunden').value='5.0';
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Erstbegutachter';
}
else if(document.getElementById('student-projektarbeit-menulist-projekttyp').value=='Bachelor')
{
document.getElementById('student-projektbetreuer-textbox-stunden').value='3.0';
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Begutachter';
}
else if(document.getElementById('student-projektarbeit-menulist-projekttyp').value=='Praktikum')
{
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='BetreuerPraktik';
}
else if(document.getElementById('student-projektarbeit-menulist-projekttyp').value=='Projekt')
{
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='BetreuerProjekt';
}
else
{
document.getElementById('student-projektbetreuer-textbox-stunden').value='0.0';
document.getElementById('student-projektbetreuer-menulist-betreuerart').value='Begutachter';
}
document.getElementById('student-projektbetreuer-textbox-stundensatz').value='80.0';
document.getElementById('student-projektbetreuer-menulist-person').value='';
@@ -182,14 +182,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row>
<label value="Typ" control="student-projektarbeit-menulist-projekttyp"/>
<menulist id="student-projektarbeit-menulist-projekttyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/projekttyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/projekttyp/liste" >
xmlns:TYP="http://www.technikum-wien.at/projekttyp/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/projekttyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/projekttyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/projekttyp/rdf#projekttyp_kurzbz"
label="rdf:http://www.technikum-wien.at/projekttyp/rdf#bezeichnung"
uri="rdf:*"/>
<rule TYP:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/projekttyp/rdf#projekttyp_kurzbz"
label="rdf:http://www.technikum-wien.at/projekttyp/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/projekttyp/rdf#projekttyp_kurzbz"
label="rdf:http://www.technikum-wien.at/projekttyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -437,14 +447,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row>
<label value="Art" control="student-projektbetreuer-menulist-betreuerart"/>
<menulist id="student-projektbetreuer-menulist-betreuerart" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/betreuerart.rdf.php" flex="1"
ref="http://www.technikum-wien.at/betreuerart" >
xmlns:BETREUERART="http://www.technikum-wien.at/betreuerart/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/betreuerart.rdf.php" flex="1"
ref="http://www.technikum-wien.at/betreuerart" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betreuerart/rdf#betreuerart_kurzbz"
label="rdf:http://www.technikum-wien.at/betreuerart/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
<rule BETREUERART:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betreuerart/rdf#betreuerart_kurzbz"
label="rdf:http://www.technikum-wien.at/betreuerart/rdf#beschreibung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betreuerart/rdf#betreuerart_kurzbz"
label="rdf:http://www.technikum-wien.at/betreuerart/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
+58
View File
@@ -1982,4 +1982,62 @@ class prestudent extends person
}
}
/**
* Liefert die relative Priorität (zB 1, 2, 3) eines PreStudenten Anhand seiner absoluten Priorität (zB 9, 10, 11)
* @param integer $prestudent_id PrestudentID deren relative Priorität ermittelt werden soll
* @param string $priorisierungAbsolut Absolute Priorität deren relative Platzierung ermittelt werden soll
* @return integer Relative Platzierung des PreStudenten oder false im Fehlerfall
*/
public function getRelativePriorisierungFromAbsolut($prestudent_id, $priorisierungAbsolut)
{
$qry = "SELECT count(*) AS prio_relativ
FROM (
SELECT *,
(
SELECT status_kurzbz
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = pss.prestudent_id
ORDER BY datum DESC,
tbl_prestudentstatus.insertamum DESC LIMIT 1
) AS laststatus
FROM PUBLIC.tbl_prestudent pss
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
WHERE person_id = (
SELECT person_id
FROM PUBLIC.tbl_prestudent
WHERE prestudent_id = ".$this->db_add_param($prestudent_id, FHC_INTEGER)."
)
AND studiensemester_kurzbz = (
SELECT studiensemester_kurzbz
FROM PUBLIC.tbl_prestudentstatus
WHERE prestudent_id = ".$this->db_add_param($prestudent_id, FHC_INTEGER)."
AND status_kurzbz = 'Interessent' LIMIT 1
)
AND status_kurzbz = 'Interessent'
) prest
WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent')
AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
return $row->prio_relativ;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
<!ENTITY window.title "FAS">
<!ENTITY window.version "3.2a">
<!ENTITY window.version "3.3">
<!-- MENUE -->
+1
View File
@@ -144,6 +144,7 @@ $this->phrasen['global/hilfe']='Hilfe';
$this->phrasen['global/benutzer']='Benutzer';
$this->phrasen['global/anleitung']='Anleitung';
$this->phrasen['global/bericht']='Bericht';
$this->phrasen['global/fixangestellt']='Fixangestellt';
// Statusmeldungen
$this->phrasen['global/erfolgreichgespeichert']='Erfolgreich gespeichert';
+5
View File
@@ -30,4 +30,9 @@ $this->phrasen['mailverteiler/bestaetige']='Bestätige';
$this->phrasen['mailverteiler/personenImVerteiler']='Personen im Mailverteiler';
$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Beim Freischalten des Verteilers ist ein Fehler aufgetreten.<br>Bitte informieren Sie den Administrator';
$this->phrasen['mailverteiler/verteilerGenerieren']='Verteiler für Gruppe <b>%1$s</b> generieren';
$this->phrasen['mailverteiler/anleitungstextMailPersInGroup']='Hier haben Sie die Möglichkeit, eine E-Mail an eine Teilmenge des Mailverteilers zu schicken. <br>
Sie können die Liste mit den Textfeldern und Dropdowns bei den Überschriften filtern. Markieren Sie danach jene Personen, denen Sie eine E-Mail schicken wollen.
<br><br><b>Hinweis:</b> Aus technischen Gründen werden die Empfänger ab einer bestimmten Anzahl auf mehrere E-Mail-Fenster aufgeteilt';
$this->phrasen['mailverteiler/mailAnMarkierteSenden']='Mail an alle markierten senden';
$this->phrasen['mailverteiler/mailAnAlleSenden']='Mail an alle senden';
?>
+1
View File
@@ -143,6 +143,7 @@ $this->phrasen['global/hilfe']='Help';
$this->phrasen['global/benutzer']='User';
$this->phrasen['global/anleitung']='Manual';
$this->phrasen['global/bericht']='Report';
$this->phrasen['global/fixangestellt']='Salaried';
// Statusmeldungen
$this->phrasen['global/erfolgreichgespeichert']='Successfully saved';
+3
View File
@@ -29,4 +29,7 @@ $this->phrasen['mailverteiler/bestaetige']='Confirm';
$this->phrasen['mailverteiler/personenImVerteiler']='People in this mailing list';
$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Failed to open mailing list.<br>Please inform your administrator.';
$this->phrasen['mailverteiler/verteilerGenerieren']='Generate mailing list for <b>%1$s</b>';
$this->phrasen['mailverteiler/anleitungstextMailPersInGroup']='You have the option to filter the list and send an e-mail to the selected persons then.';
$this->phrasen['mailverteiler/mailAnMarkierteSenden']='Send e-mail to selected persons';
$this->phrasen['mailverteiler/mailAnAlleSenden']='Send e-mail to all persons';
?>
+1 -1
View File
@@ -16,7 +16,7 @@ $this->phrasen['tools/alleStudiensemester']='All semester';
$this->phrasen['tools/abschlussdokumente']='Final documents/Transcripts';
$this->phrasen['tools/nochKeineAbschlussdokumenteVorhanden']='No final documents available yet';
$this->phrasen['tools/keinStatusImStudiensemester']='No status found for %1$s. Please select a valid semester from the dropdown.';
$this->phrasen['tools/warnungDruckDigitaleSignatur']='<b>Warning!</b> Digitally signed documents are not displayed correctly in some browsers or PDF-readers. <br/>Please use <a href="https://get.adobe.com/de/reader/" target="_blank">Adobe Acrobat Reader</a>, if you want to print out the doument.'; // Nur grob übersetzt
$this->phrasen['tools/warnungDruckDigitaleSignatur']='<b>Note!</b> Digitally signed documents are not displayed correctly in some browsers and PDF readers. <br/>Please use the <a href="https://get.adobe.com/de/reader/" target="_blank">Adobe Acrobat Reader</a> if you want to print the document.';
//Leistungsbeurteilung
$this->phrasen['tools/leistungsbeurteilung']='Performance Assessment ';
+11
View File
@@ -0,0 +1,11 @@
.dialogmessage
{
text-align: center;
font-size: 1.1em;
margin: 12px 0 10px 0;
}
.dialogmessage .glyphicon
{
top: 3px;
}
+95
View File
@@ -0,0 +1,95 @@
/**
* FH-Complete
*
* @package
* @author
* @copyright Copyright (c) 2016 fhcomplete.org
* @license GPLv3
* @link https://fhcomplete.org
* @since Version 1.0.0
*/
var FHC_DialogLib = {
/**
* Show success message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertSuccess: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-ok-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Success', html);
$(".ui-dialog-titlebar").addClass("alert-success text-center");
$(".glyphicon-ok-sign").css("color", "#3c763d");
FHC_DialogLib._formatShortDialog();
},
/**
* Show error message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertError: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-warning-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Error occured', html);
$(".ui-dialog-titlebar").addClass("alert-danger text-center");
$(".glyphicon-warning-sign").css("color", "#a94442");
FHC_DialogLib._formatShortDialog();
},
/**
* Show info message as jQueryUI alert. Works only with bootstrap.
* @param message
*/
alertInfo: function(message)
{
var html = "<p class='dialogmessage'><i class='glyphicon glyphicon-info-sign'></i>&nbsp;&nbsp;"+message+"</p>";
FHC_DialogLib.alertDefault('Info', html);
$(".ui-dialog-titlebar").addClass("alert-info text-center");
$(".glyphicon-info-sign").css("color", "#245269");
FHC_DialogLib._formatShortDialog();
},
/**
* Default jQueryUI alert
* @param title shown as message box heading
* @param html shown inside message box
* @param width of the message box
*/
alertDefault: function(title, html, width)
{
var strDivDialog = "<div id=\"fhc-dialoglib-dialog\">";
strDivDialog += html;
strDivDialog += "</div>";
$(strDivDialog).appendTo("body"); // append the dialog div to the body
$("#fhc-dialoglib-dialog").dialog({
title: title,
dialogClass: "no-close",
autoOpen: true,
modal: true,
resizable: false,
height: "auto",
width: width,
minWidth: 300,
closeOnEscape: false,
buttons: [{
text: "Ok",
click: function() {
$(this).dialog("close");
}
}]
});
},
/**
* formats jQueryUI messagebox as "short", i.e. containing only one line of text,
* centers the text
* @private
*/
_formatShortDialog: function()
{
$(".ui-dialog-title").width("100%");
$(".ui-dialog-buttonpane.ui-widget-content").css("padding", ".3em .4em .5em .4em");
$(".ui-dialog .ui-dialog-content").css("padding", "0");
$(".ui-dialog-buttonset button").css("margin", "0");
}
};
+93 -48
View File
@@ -4,6 +4,7 @@ const CALLED_PATH = FHC_JS_DATA_STORAGE_OBJECT.called_path;
const CONTROLLER_URL = BASE_URL + "/"+CALLED_PATH;
const RTFREIGABE_MESSAGE_VORLAGE = "InfocenterRTfreigegeben";
const RTFREIGABE_MESSAGE_VORLAGE_QUER = "InfocenterRTfreigegQuer";
const RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ = "InfocenterRTfreigegQuerKurz";
const STGFREIGABE_MESSAGE_VORLAGE = "InfocenterSTGfreigegeben";
/**
@@ -114,7 +115,7 @@ $(document).ready(function ()
var InfocenterDetails = {
genericSaveError: function() {
alert("error when saving");
FHC_DialogLib.alertError("error when saving");
},
openZgvInfoForPrestudent: function(prestudent_id)
{
@@ -169,14 +170,11 @@ var InfocenterDetails = {
data,
{
successCallback: function(data, textStatus, jqXHR) {
if (data === true)
if (data !== true)
{
InfocenterDetails._refreshZgv(true);
}
else
{
alert("error when saving zgv Prio");
FHC_DialogLib.alertError("error when saving ZGV prio");
}
InfocenterDetails._refreshZgv(true);
}
}
);
@@ -259,7 +257,7 @@ var InfocenterDetails = {
}
else
{
alert("error when saving Absage");
FHC_DialogLib.alertError("error when saving Absage");
}
}
}
@@ -277,16 +275,19 @@ var InfocenterDetails = {
{
FHC_AjaxClient.showVeil();
InfocenterDetails.initFrgMessageSend(data.retval.prestudent_id, rtfreigabe);
InfocenterDetails._refreshZgv();
FHC_AjaxClient.hideVeil();
InfocenterDetails._refreshLog();
}
else if (data.error === 2 && parseInt(data.retval.prestudent_id, 10))
{
alert("error when setting accepted documents");
FHC_DialogLib.alertError("error when setting accepted documents");
InfocenterDetails._refreshZgv();
InfocenterDetails._refreshLog();
}
else
{
alert("error when saving Freigabe");
FHC_DialogLib.alertError("error when saving Freigabe");
}
}
}
@@ -460,48 +461,98 @@ var InfocenterDetails = {
}
);
},
getPrestudentData: function(personid, callback)
{
FHC_AjaxClient.ajaxCallGet(
CALLED_PATH + "/getPrestudentData/"+encodeURIComponent(personid),
null,
{
successCallback: callback,
veilTimeout: 0
}
);
},
initFrgMessageSend: function(prestudentid, rtfreigabe)
{
var callback = function ()
var callback = function (data)
{
if (data == null)
return;
// check if a prestudent in same semester is already freigegeben - then not send message again
var freigegeben = false;
var prestudentids = $(".prestudentidinput");
var receiverPrestudentstatus = null;
if (prestudentids.length > 1)
//get prestudentstatus of message receiver
for(var i = 0; i < data.length; i++)
{
prestudentids.each(function()
{
var id = $(this).val();
if (parseInt(id) !== parseInt(prestudentid))
{
if ($("#studiensemester_"+id).val() === $("#studiensemester_"+prestudentid).val() && $("#isfreigegeben_"+id).val() === "1")
{
freigegeben = true;
return false;
}
}
}
);
if (data[i].prestudentstatus.prestudent_id === prestudentid)
{
receiverPrestudentstatus = data[i].prestudentstatus;
break;
}
}
if (receiverPrestudentstatus == null)
return;
//check other prestudentstati wether already freigegeben
for(var j = 0; j < data.length; j++)
{
var prestudent = data[j];
var prestudentstatus = prestudent.prestudentstatus;
var id = prestudentstatus.prestudent_id;
if (id !== prestudentid)
{
if (receiverPrestudentstatus.studiensemester_kurzbz === prestudentstatus.studiensemester_kurzbz
&& prestudentstatus.bestaetigtam !== null && prestudentstatus.status_kurzbz === "Interessent"
&& prestudent.studiengangtyp === "b")
{
freigegeben = true;
break;
}
}
}
var ausbildungssemester = receiverPrestudentstatus.ausbildungssemester;
var studiengangbezeichnung = receiverPrestudentstatus.studiengangbezeichnung;
var studiengangbezeichnung_englisch = receiverPrestudentstatus.studiengangbezeichnung_englisch;
var msgvars = {};
if (freigegeben)
{
InfocenterDetails._refreshLog();
//if already freigegeben, still send (shorter) message if Quereinsteiger
if (ausbildungssemester > 1)
{
msgvars = {
'ausbildungssemester': ausbildungssemester,
'studiengangbezeichnung': studiengangbezeichnung,
'studiengangbezeichnung_englisch': studiengangbezeichnung_englisch
};
InfocenterDetails.sendFreigabeMessage(prestudentid, RTFREIGABE_MESSAGE_VORLAGE_QUER_KURZ, msgvars);
}
}
else
{
var ausbildungssem = $("#ausbildungssem_" + prestudentid).val();
var vorlage_kurzbz = null;
var msgvars = {};
if (rtfreigabe)
{
vorlage_kurzbz = isNaN(ausbildungssem) || parseInt(ausbildungssem) === 1 ? RTFREIGABE_MESSAGE_VORLAGE : RTFREIGABE_MESSAGE_VORLAGE_QUER;
msgvars = {
'rtlink': FHC_JS_DATA_STORAGE_OBJECT.app_root + 'addons/bewerbung/cis/registration.php?active=aufnahme',
'ausbildungssemester': ausbildungssem
if (ausbildungssemester > 1)
{
vorlage_kurzbz = RTFREIGABE_MESSAGE_VORLAGE_QUER;
msgvars = {
/*'rtlink': FHC_JS_DATA_STORAGE_OBJECT.app_root + 'addons/bewerbung/cis/registration.php?active=aufnahme',*/
'ausbildungssemester': ausbildungssemester,
'studiengangbezeichnung': studiengangbezeichnung,
'studiengangbezeichnung_englisch': studiengangbezeichnung_englisch
}
}
else
{
vorlage_kurzbz = RTFREIGABE_MESSAGE_VORLAGE;
}
}
else
@@ -510,18 +561,16 @@ var InfocenterDetails = {
}
InfocenterDetails.sendFreigabeMessage(prestudentid, vorlage_kurzbz, msgvars);
}
FHC_AjaxClient.hideVeil();
};
InfocenterDetails._refreshZgv(
false,
//send message only after refresh to have current Ausbildungssemester
callback
);
var personid = $("#hiddenpersonid").val();
InfocenterDetails.getPrestudentData(
personid, callback
)
},
sendFreigabeMessage: function(prestudentid, vorlage_kurzbz, msgvars)
{
FHC_AjaxClient.ajaxCallPost(
'system/Messages/sendJson',
{
@@ -668,7 +717,7 @@ var InfocenterDetails = {
$(".freigabeModal").modal("hide");
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
var data = {"prestudent_id": prestudent_id};
InfocenterDetails.saveFreigabe(data, true);
InfocenterDetails.saveFreigabe(data, true);//Reihungstestfreigabe
}
);
@@ -678,17 +727,17 @@ var InfocenterDetails = {
var prestudent_id = this.id.substr(this.id.indexOf("_") + 1);
var statusgrund_id = $("#frgstatusgrselect_" + prestudent_id + " select[name=frgstatusgrund]").val();
var data = {"prestudent_id": prestudent_id, "statusgrund_id": statusgrund_id};
InfocenterDetails.saveFreigabe(data);
InfocenterDetails.saveFreigabe(data);//Studiengangfreigabe
}
)
},
_refreshZgv: function(preserveCollapseState, callback)
_refreshZgv: function(preserveCollapseState)
{
var personid = $("#hiddenpersonid").val();
var collapsed = {};
//save if panel is collapsed to preserve collapse state
//check if panel is collapsed to preserve collapse state
if (preserveCollapseState)
{
$("#zgvpruefungen").find(".panel-collapse").each(
@@ -715,10 +764,6 @@ var InfocenterDetails = {
$("#"+i).addClass("in");
}
}
// variable callback executed after refresh
if (callback)
callback();
}
);
},
+2 -1
View File
@@ -24,7 +24,7 @@ require_once('../include/basis_db.class.php');
$oRdf = new rdf('BETREUERART','http://www.technikum-wien.at/betreuerart');
$oRdf->sendHeader();
$qry = "SELECT * FROM lehre.tbl_betreuerart ORDER BY betreuerart_kurzbz";
$qry = "SELECT * FROM lehre.tbl_betreuerart ORDER BY aktiv DESC, beschreibung";
$db = new basis_db();
if($db->db_query($qry))
{
@@ -34,6 +34,7 @@ if($db->db_query($qry))
//$oRdf->obj[$i]->setAttribut('id',$row->betreuerart_kurzbz,false);
$oRdf->obj[$i]->setAttribut('betreuerart_kurzbz',$row->betreuerart_kurzbz,true);
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung,true);
$oRdf->obj[$i]->setAttribut('aktiv',($db->db_parse_bool($row->aktiv)?'true':'false'),true);
$oRdf->addSequence($row->betreuerart_kurzbz);
}
+24 -23
View File
@@ -130,12 +130,13 @@ function draw_orgformpart($stg_kz)
$orgform_sequence[$stg_kz]='';
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')";
if($stg_obj->db_query($qry))
$orgformen_studienplan = $stg_obj->getOrgForm($stg_kz);
//$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')";
if(!empty($orgformen_studienplan))
{
while($row = $stg_obj->db_fetch_object())
foreach ($orgformen_studienplan AS $row)
{
draw_orgformsubmenu($stg_kz, $row->orgform_kurzbz);
draw_orgformsubmenu($stg_kz, $row);
}
}
}
@@ -232,15 +233,6 @@ function draw_orgformsubmenu($stg_kz, $orgform)
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet" >
<VERBAND:name>Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA['.$stg_kz.']]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA['.$stsem->studiensemester_kurzbz.']]></VERBAND:stsem>
<VERBAND:typ>reihungstestangemeldet</VERBAND:typ>
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestnichtangemeldet" >
<VERBAND:name>Nicht zum Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
@@ -250,6 +242,15 @@ function draw_orgformsubmenu($stg_kz, $orgform)
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet" >
<VERBAND:name>Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA['.$stg_kz.']]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA['.$stsem->studiensemester_kurzbz.']]></VERBAND:stsem>
<VERBAND:typ>reihungstestangemeldet</VERBAND:typ>
<VERBAND:orgform><![CDATA['.$orgform.']]></VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/bewerber" >
<VERBAND:name>Bewerber</VERBAND:name>
<VERBAND:stg><![CDATA['.$stg_kurzbz.']]></VERBAND:stg>
@@ -303,8 +304,8 @@ function draw_orgformsubmenu($stg_kz, $orgform)
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t</RDF:Seq>";
$orgform_sequence[$stg_kz].= "\n\t\t\t</RDF:li>\n";
@@ -547,14 +548,6 @@ while ($row=$dbo->db_fetch_object())
<VERBAND:typ><![CDATA[statusbestaetigt]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet'; ?>" >
<VERBAND:name><![CDATA[Reihungstest angemeldet]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA[<?php echo $row->studiengang_kz; ?>]]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA[<?php echo $stsem->studiensemester_kurzbz; ?>]]></VERBAND:stsem>
<VERBAND:typ><![CDATA[reihungstestangemeldet]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestnichtangemeldet'; ?>" >
<VERBAND:name><![CDATA[Nicht zum Reihungstest angemeldet]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
@@ -562,6 +555,14 @@ while ($row=$dbo->db_fetch_object())
<VERBAND:stsem><![CDATA[<?php echo $stsem->studiensemester_kurzbz; ?>]]></VERBAND:stsem>
<VERBAND:typ><![CDATA[reihungstestnichtangemeldet]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet'; ?>" >
<VERBAND:name><![CDATA[Reihungstest angemeldet]]></VERBAND:name>
<VERBAND:stg><![CDATA[<?php echo $stg_kurzbz; ?>]]></VERBAND:stg>
<VERBAND:stg_kz><![CDATA[<?php echo $row->studiengang_kz; ?>]]></VERBAND:stg_kz>
<VERBAND:stsem><![CDATA[<?php echo $stsem->studiensemester_kurzbz; ?>]]></VERBAND:stsem>
<VERBAND:typ><![CDATA[reihungstestangemeldet]]></VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="<?php echo $rdf_url.$stg_kurzbz.'/'.$stsem->studiensemester_kurzbz.'/bewerber'; ?>" >
<VERBAND:name><![CDATA[Bewerber]]></VERBAND:name>
@@ -770,8 +771,8 @@ draw_orgformpart($stg_kz);
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/statusbestaetigt\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
echo "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
echo "\t\t\t\t</RDF:Seq>";
echo "\n\t\t\t</RDF:li>\n";
+2 -1
View File
@@ -44,7 +44,7 @@ echo '
';
//Daten holen
$qry = 'SELECT * FROM lehre.tbl_projekttyp ORDER BY bezeichnung';
$qry = 'SELECT * FROM lehre.tbl_projekttyp ORDER BY aktiv DESC, bezeichnung';
$db = new basis_db();
if($db->db_query($qry))
@@ -56,6 +56,7 @@ if($db->db_query($qry))
<RDF:Description id="'.$row->projekttyp_kurzbz.'" about="'.$rdf_url.'/'.$row->projekttyp_kurzbz.'" >
<TYP:projekttyp_kurzbz><![CDATA['.$row->projekttyp_kurzbz.']]></TYP:projekttyp_kurzbz>
<TYP:bezeichnung><![CDATA['.$row->bezeichnung.']]></TYP:bezeichnung>
<TYP:aktiv><![CDATA['.($db->db_parse_bool($row->aktiv)?'true':'false').']]></TYP:aktiv>
</RDF:Description>
</RDF:li>';
}
+5 -2
View File
@@ -315,6 +315,8 @@ function draw_prestudent($row)
global $rdf_url, $datum_obj, $stg_arr;
$reihungstest = new reihungstest($row->reihungstest_id);
$rt_datum = $reihungstest->datum;
$prioRelativ = new prestudent();
$prioRelativ = $prioRelativ->getRelativePriorisierungFromAbsolut($row->prestudent_id, $row->priorisierung);
if($row->prestudent_id!='')
{
echo '
@@ -338,10 +340,10 @@ function draw_prestudent($row)
<STUDENT:ausstellungsstaat><![CDATA['.$row->ausstellungsstaat.']]></STUDENT:ausstellungsstaat>
<STUDENT:aufnahmeschluessel><![CDATA['.$row->aufnahmeschluessel.']]></STUDENT:aufnahmeschluessel>
<STUDENT:facheinschlberuf><![CDATA['.($row->facheinschlberuf?'true':'false').']]></STUDENT:facheinschlberuf>
<STUDENT:reihungstest_id><![CDATA['.$row->reihungstest_id.']]></STUDENT:reihungstest_id>
<!--<STUDENT:reihungstest_id><![CDATA['.$row->reihungstest_id.']]></STUDENT:reihungstest_id>
<STUDENT:anmeldungreihungstest><![CDATA['.$datum_obj->convertISODate($row->anmeldungreihungstest).']]></STUDENT:anmeldungreihungstest>
<STUDENT:anmeldungreihungstest_iso><![CDATA['.$row->anmeldungreihungstest.']]></STUDENT:anmeldungreihungstest_iso>
<STUDENT:reihungstestangetreten><![CDATA['.($row->reihungstestangetreten?'true':'false').']]></STUDENT:reihungstestangetreten>
<STUDENT:reihungstestangetreten><![CDATA['.($row->reihungstestangetreten?'true':'false').']]></STUDENT:reihungstestangetreten>-->
<STUDENT:punkte><![CDATA['.$row->punkte.']]></STUDENT:punkte>
<STUDENT:bismelden><![CDATA['.($row->bismelden?'true':'false').']]></STUDENT:bismelden>
<STUDENT:dual><![CDATA['.($row->dual?'true':'false').']]></STUDENT:dual>
@@ -351,6 +353,7 @@ function draw_prestudent($row)
<STUDENT:gsstudientyp_kurzbz><![CDATA['.$row->gsstudientyp_kurzbz.']]></STUDENT:gsstudientyp_kurzbz>
<STUDENT:aufnahmegruppe_kurzbz><![CDATA['.$row->aufnahmegruppe_kurzbz.']]></STUDENT:aufnahmegruppe_kurzbz>
<STUDENT:priorisierung><![CDATA['.$row->priorisierung.']]></STUDENT:priorisierung>
<STUDENT:priorisierung_realtiv><![CDATA['.$prioRelativ.' ('.$row->priorisierung.')'.']]></STUDENT:priorisierung_realtiv>
</RDF:Description>
</RDF:li>';
}
+48 -6
View File
@@ -2513,11 +2513,45 @@ if($result = $db->db_query("SELECT 1 FROM system.tbl_app WHERE app='reihungstest
}
}
// Spalte aktiv für tbl_betreuerart
if(!$result = @$db->db_query("SELECT aktiv FROM lehre.tbl_betreuerart LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_betreuerart ADD COLUMN aktiv boolean NOT NULL DEFAULT TRUE;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_betreuerart: '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_betreuerart: Spalte aktiv hinzugefuegt';
}
// Spalte aktiv für tbl_projekttyp
if(!$result = @$db->db_query("SELECT aktiv FROM lehre.tbl_projekttyp LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_projekttyp ADD COLUMN aktiv boolean NOT NULL DEFAULT TRUE;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_projekttyp: '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_projekttyp: Spalte aktiv hinzugefuegt';
}
// Remove NOT NULL constraint on aufmerksamdurch_kurzbz on public.tbl_prestudent
if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_prestudent' AND COLUMN_NAME = 'aufmerksamdurch_kurzbz' AND is_nullable = 'NO'"))
{
if($db->db_num_rows($result) > 0)
{
$qry = "ALTER TABLE public.tbl_prestudent ALTER COLUMN aufmerksamdurch_kurzbz DROP NOT NULL;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_prestudent '.$db->db_last_error().'</strong><br>';
else
echo '<br>Removed NOT NULL constraint on "aufmerksamdurch_kurzbz" from public.tbl_prestudent<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
echo '<br><br><br>';
$tabellen=array(
"bis.tbl_bisorgform" => array("bisorgform_kurzbz","code","bezeichnung"),
"bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
@@ -2616,7 +2650,7 @@ $tabellen=array(
"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_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"),
"lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
"lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old","gewicht"),
"lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
@@ -2637,7 +2671,7 @@ $tabellen=array(
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
"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","final"),
"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_projekttyp" => array("projekttyp_kurzbz","bezeichnung","aktiv"),
"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","sort"),
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id", "status_kurzbz", "standort_id"),
@@ -2803,6 +2837,7 @@ $tabellen=array(
$tabs=array_keys($tabellen);
//print_r($tabs);
$i=0;
$errors = 0;
foreach ($tabellen AS $attribute)
{
$sql_attr='';
@@ -2811,12 +2846,19 @@ foreach ($tabellen AS $attribute)
$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 - ';
$errors++;
}
/*else
echo $tabs[$i].': OK - ';*/
flush();
$i++;
}
if ($errors == 0)
{
echo '<strong>Keine Fehler aufgetreten</strong>';
}
echo '<H2>Gegenpruefung!</H2>';
$error=false;
+1 -1
View File
@@ -544,7 +544,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
ab dem
</xsl:otherwise>
</xsl:choose>
3. Semester gleichzeitig mit der Studiengebühr vor Beginn des Semesters zu entrichten.</text:p>
3. Semester gleichzeitig mit dem Studienbeitrag vor Beginn des Semesters zu entrichten.</text:p>
<text:p text:style-name="P5">Bei Vertragsauflösung vor Studienabschluss aus Gründen, die die Studentin bzw. der Student zu vertreten hat, oder auf deren bzw. dessen Wunsch, wird der Unkostenbeitrag zur Abdeckung der dem Erhalter erwachsenen administrativen Zusatzkosten einbehalten.</text:p>
<text:p text:style-name="P32">6.2.6 Lehr- und Lernbehelfe</text:p>
+1 -1
View File
@@ -500,7 +500,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<text:p text:style-name="P31">6.2.3 ÖH-Beitrag</text:p>
<text:p text:style-name="P5">Gemäß § 4 Abs 10 FHStG sind ao. Studierende an Fachhochschulen Mitglieder der Österreichischen HochschülerInnenschaft (ÖH). Der/Die ao. Studierende hat semesterweise einen ÖH-Beitrag an den Erhalter zu entrichten, der diesen an die ÖH abführt. Die Entrichtung des Betrags ist Voraussetzung für die Zulassung zum ao. Studium bzw. für dessen Fortsetzung.</text:p>
<text:p text:style-name="P30">6.2.4 Unkostenbeitrag </text:p>
<text:p text:style-name="P41">Pro Semester ist ein Unkostenbeitrag zu entrichten. Die Höhe des Unkostenbeitrages beträgt € 75, pro Semester. Eine allfällige Anpassung wird durch Aushang bekannt gemacht. Der Unkostenbeitrag ist gleichzeitig mit der Studiengebühr vor Beginn des Semesters zu entrichten. Bei Vertragsauflösung vor dem Ende der besuchten Lehrveranstaltungen aus Gründen, die die ao. Studentin bzw. der ao. Student zu vertreten hat, oder auf deren bzw. dessen Wunsch, wird der Unkostenbeitrag zur Abdeckung der dem Erhalter erwachsenen administrativen Zusatzkosten einbehalten.</text:p>
<text:p text:style-name="P41">Pro Semester ist ein Unkostenbeitrag zu entrichten. Die Höhe des Unkostenbeitrages beträgt € 75, pro Semester. Eine allfällige Anpassung wird durch Aushang bekannt gemacht. Der Unkostenbeitrag ist gleichzeitig mit dem Studienbeitrag vor Beginn des Semesters zu entrichten. Bei Vertragsauflösung vor dem Ende der besuchten Lehrveranstaltungen aus Gründen, die die ao. Studentin bzw. der ao. Student zu vertreten hat, oder auf deren bzw. dessen Wunsch, wird der Unkostenbeitrag zur Abdeckung der dem Erhalter erwachsenen administrativen Zusatzkosten einbehalten.</text:p>
<text:p text:style-name="P32">6.2.5 Lehr- und Lernbehelfe</text:p>
<text:p text:style-name="P8">Die Anschaffung unterrichtsbezogener Literatur und individueller Lernbehelfe ist durch den Unkostenbeitrag nicht abgedeckt. Eventuelle zusätzliche Kosten, die sich beispielsweise durch die lehrveranstaltungsbezogene, gemeinsame Anschaffung von Lehr- bzw. Lernbehelfen (Skripten, CDs, Bücher, Projektmaterialien, Kopierpapier etc.) oder durch Exkursionen ergeben, werden von jedem Studiengang individuell eingehoben.</text:p>
<text:p text:style-name="P32">6.2.6 Beibringung persönlicher Daten</text:p>
+6 -36
View File
@@ -346,7 +346,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P3">Topic and Assessment of Bachelor Paper 1</text:p>
<text:p text:style-name="P3">Topic and Assessment of Bachelor Paper</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.B5" table:number-columns-spanned="5" office:value-type="string">
@@ -362,31 +362,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<text:p text:style-name="P5"><xsl:value-of select="note" /></text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P3">Topic and Assessment of Bachelor Paper 2</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.B5" table:number-columns-spanned="5" office:value-type="string">
<text:p text:style-name="P5"><xsl:value-of select="themenbereich_2" /></text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
<text:p text:style-name="P5">Grade</text:p>
<text:p text:style-name="P5">(Information)</text:p>
<text:p text:style-name="P5"><xsl:value-of select="note2" /></text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P5">Subject of the Examination</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" table:number-columns-spanned="6" office:value-type="string">
<text:p text:style-name="P5">Presentation and Examination interview on the Bachelor Paper and its links to subjects of the curriculum</text:p>
<text:p text:style-name="P5">Presentation and Examination interview on the Bachelor Paper</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -401,18 +383,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" table:number-columns-spanned="6" office:value-type="string">
<text:p text:style-name="P4">
<draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 8" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.1cm">
<draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 8" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.05cm">
<text:p/>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>Presentation of the Bachelor Paper
</text:p>
<text:p text:style-name="P4">Examination interview on the Bachelor Paper and its links to</text:p>
<text:p text:style-name="P5">
<draw:custom-shape text:anchor-type="char" draw:z-index="5" draw:name="Rechteck 10" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="-0.092cm">
<text:p/>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>subjects of the curriculum
</text:p>
<text:p text:style-name="P4"><draw:custom-shape text:anchor-type="char" draw:z-index="5" draw:name="Rechteck 10" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.05cm"><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>Examination interview on the Bachelor Paper</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -423,14 +400,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="8" office:value-type="string">
<text:p text:style-name="P5">
<draw:custom-shape text:anchor-type="char" draw:z-index="8" draw:name="Rechteck 10" draw:style-name="gr2" draw:text-style-name="P22" svg:width="0.359cm" svg:height="0.35cm" svg:x="14.566cm" svg:y="0.07cm">
<text:p/>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>
<draw:custom-shape text:anchor-type="char" draw:z-index="7" draw:name="Rechteck 10" draw:style-name="gr2" draw:text-style-name="P22" svg:width="0.355cm" svg:height="0.35cm" svg:x="10.8cm" svg:y="0.07cm">
<text:p/>
<draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/>
</draw:custom-shape>Notes on the presentation of the Bachelor Paper Bachelor Paper 1 <text:s text:c="8"/>/ Bachelor Paper 2 </text:p>
Notes on the presentation of the Bachelor Paper</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
+5 -24
View File
@@ -346,7 +346,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P3">Thema und Beurteilung der Bachelorarbeit 1</text:p>
<text:p text:style-name="P3">Thema und Beurteilung der Bachelorarbeit</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.B5" table:number-columns-spanned="5" office:value-type="string">
@@ -362,31 +362,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
<text:p text:style-name="P5"><xsl:value-of select="note" /></text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P3">Thema und Beurteilung der Bachelorarbeit 2</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.B5" table:number-columns-spanned="5" office:value-type="string">
<text:p text:style-name="P5"><xsl:value-of select="themenbereich_2" /></text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" office:value-type="string">
<text:p text:style-name="P5">Note</text:p>
<text:p text:style-name="P5">(Information)</text:p>
<text:p text:style-name="P5"><xsl:value-of select="note2" /></text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A2" table:number-columns-spanned="2" office:value-type="string">
<text:p text:style-name="P5">Prüfungsgegenstand</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" table:number-columns-spanned="6" office:value-type="string">
<text:p text:style-name="P5">Prüfungsgespräch über die Bachelorarbeit und deren Querverbindungen zu Fächern des Studienplans</text:p>
<text:p text:style-name="P5">Prüfungsgespräch über die Bachelorarbeit</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -400,9 +382,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-cell>
<table:covered-table-cell/>
<table:table-cell table:style-name="Tabelle1.C2" table:number-columns-spanned="6" office:value-type="string">
<text:p text:style-name="P4"><draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 8" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.1cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Präsentation der Bachelorarbeit</text:p>
<text:p text:style-name="P4">Prüfungsgespräch über die <text:span text:style-name="T1">Bachelorarbeit und Querverbindungen</text:span></text:p>
<text:p text:style-name="P5"><draw:custom-shape text:anchor-type="char" draw:z-index="5" draw:name="Rechteck 10" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="-0.092cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>zu Fächern des Studienplans</text:p>
<text:p text:style-name="P4"><draw:custom-shape text:anchor-type="char" draw:z-index="6" draw:name="Rechteck 8" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.05cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Präsentation der Bachelorarbeit</text:p>
<text:p text:style-name="P4"><draw:custom-shape text:anchor-type="char" draw:z-index="5" draw:name="Rechteck 10" draw:style-name="gr1" draw:text-style-name="P22" svg:width="0.445cm" svg:height="0.445cm" svg:x="10.456cm" svg:y="0.05cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Prüfungsgespräch über die Bachelorarbeit</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -412,7 +393,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
</table:table-row>
<table:table-row table:style-name="Tabelle1.1">
<table:table-cell table:style-name="Tabelle1.A1" table:number-columns-spanned="8" office:value-type="string">
<text:p text:style-name="P5"><draw:custom-shape text:anchor-type="char" draw:z-index="8" draw:name="Rechteck 10" draw:style-name="gr2" draw:text-style-name="P22" svg:width="0.359cm" svg:height="0.35cm" svg:x="13.566cm" svg:y="0.07cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape><draw:custom-shape text:anchor-type="char" draw:z-index="7" draw:name="Rechteck 10" draw:style-name="gr2" draw:text-style-name="P22" svg:width="0.355cm" svg:height="0.35cm" svg:x="10.035cm" svg:y="0.07cm"><text:p/><draw:enhanced-geometry svg:viewBox="0 0 21600 21600" draw:type="rectangle" draw:enhanced-path="M 0 0 L 21600 0 21600 21600 0 21600 0 0 Z N"/></draw:custom-shape>Notizen zur Präsentation der Bachelorarbeit Bachelorarbeit 1 <text:s text:c="8"/>/ Bachelorarbeit 2 </text:p>
<text:p text:style-name="P5">Notizen zur Präsentation der Bachelorarbeit</text:p>
</table:table-cell>
<table:covered-table-cell/>
<table:covered-table-cell/>
@@ -447,6 +447,8 @@ if(isset($_POST['save']))
}
else
{
$zugangscode = substr(md5(openssl_random_pseudo_bytes(20)), 0, 15);
$person->new = true;
$person->anrede = $anrede;
$person->titelpre = $titel;
@@ -462,7 +464,7 @@ if(isset($_POST['save']))
$person->geburtsnation = 'A';
$person->staatsbuergerschaft = 'A';
$person->familienstand = 'l';
$person->zugangscode= uniqid();
$person->zugangscode= $zugangscode;
if($person->save())
{
+112 -2
View File
@@ -114,7 +114,9 @@ echo '
<script>
function delPerson(type, info)
{
if(!confirm("Sind Sie sich sicher?"))
if(!confirm("!!!ACHTUNG!!!\nDie Aktion löscht alle Daten der Person im System.\n"
+"Das betrifft auch alle PreStudierenden- sowie ggf. MitarbeiterInnen-Daten\n\n"
+"Sind Sie sich sicher?"))
return;
@@ -233,13 +235,14 @@ if($searchstr!='')
echo $db->db_num_rows($result).' Person(en) gefunden<br><br>';
echo '<table>';
echo '<tr class="liste" align="center">';
echo "<td colspan='5'><b>Person</b></td>";
echo "<td colspan='6'><b>Person</b></td>";
echo "<td colspan='4'><b>Benutzer</b></td>";
echo "<td colspan='4'><b>Mitarbeiter</b></td>";
echo "<td colspan='4'><b>Student</b></td>";
if($admin){echo "<td><b></b></td>";}
echo '</tr>';
echo '<tr class="liste" align="center">';
echo "<td><b>Person ID</b></td>";
echo "<td><b>Nachname</b></td>";
echo "<td><b>Vorname</b></td>";
echo "<td><b>Gebdatum</b></td>";
@@ -268,6 +271,7 @@ if($searchstr!='')
if($row_person = $db->db_fetch_object($result_person))
{
echo '<tr class="liste1">';
echo "<td>$row_person->person_id</td>";
echo "<td><a href='personen_details.php?person_id=$row_person->person_id'>$row_person->nachname</a></td>";
echo "<td>$row_person->vorname</td>";
echo "<td>".($row_person->gebdatum!=''?$datum_obj->convertISODate($row_person->gebdatum):'')."</td>";
@@ -307,6 +311,7 @@ if($searchstr!='')
$content.= '<td></td>';
$content.= '<td></td>';
$content.= '<td></td>';
$content.= '<td></td>';
$content.= "<td>Mitarbeiter</td>";
$content.= "<td><a href='personen_details.php?uid=$row_mitarbeiter->uid'>$row_mitarbeiter->uid</a></td>";
$content.= "<td>".($row_mitarbeiter->aktiv=='t'?'Ja':'Nein')."</td>";
@@ -354,6 +359,7 @@ if($searchstr!='')
$content.= '<td></td>';
$content.= '<td></td>';
$content.= '<td></td>';
$content.= '<td></td>';
$content.= "<td>$student->status_kurzbz</td>";
$content.= "<td><a href='personen_details.php?uid=$row_student->uid'>$row_student->uid</a></td>";
$content.= "<td>".($row_student->aktiv=='t'?'Ja':'Nein')."</td>";
@@ -1132,6 +1138,15 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM public.tbl_msg_recipient
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1141,6 +1156,15 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM public.tbl_msg_status
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1150,6 +1174,15 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM public.tbl_adresse
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1159,6 +1192,24 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM public.tbl_akte
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM public.tbl_preincoming
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1261,6 +1312,24 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM system.tbl_person_lock
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
DELETE FROM system.tbl_log
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER);
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1478,6 +1547,20 @@ function casDeletePerson($db, $person_id, $trans=true)
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
$qry = '
WITH deleted_rows AS (
DELETE FROM public.tbl_notizzuordnung
WHERE person_id='.$db->db_add_param($person_id, FHC_INTEGER).'
RETURNING notiz_id
)
DELETE FROM public.tbl_notiz
WHERE notiz_id IN (SELECT notiz_id FROM deleted_rows)';
if(!$db->db_query($qry))
$error = true;
}
if(!$error)
{
@@ -1558,6 +1641,33 @@ function casDeletePerson($db, $person_id, $trans=true)
}
}
}
if(!$error)
{
$queryPs = '
SELECT tbl_prestudent.prestudent_id FROM tbl_prestudent
WHERE person_id = ' . $db->db_add_param($person_id, FHC_INTEGER).'
';
$resultPs = $db->db_query($queryPs);
if(!$resultPs)
{
$error = true;
}
else
{
while($row = $db->db_fetch_object($resultPs))
{
if(!$error)
{
if(!casDeletePrestudent($db, $row->prestudent_id, false))
{
$error = true;
}
}
else { break; }
}
}
}
/*
* delete all mitarbeiter entries
+3 -3
View File
@@ -134,8 +134,8 @@ if($action=='new' || $action=='update')
}
if($action=='reboot')
{
if(!$rechte->isBerechtigt('admin'))
die($rechte->errormsg);
//if(!$rechte->isBerechtigt('admin'))
//die($rechte->errormsg);
require_once("../../vendor/autoload.php");
@@ -175,7 +175,7 @@ foreach($infoscreen->result as $row)
echo '<td>',$basis->convert_html_chars($row->bezeichnung),'</td>';
echo '<td>',$basis->convert_html_chars($row->beschreibung),'</td>';
echo '<td>',$basis->convert_html_chars($row->ipadresse),'</td>';
if($rechte->isBerechtigt('admin'))
//if($rechte->isBerechtigt('admin'))
echo '<td><a href="infoscreen_uebersicht.php?action=reboot&ip='.$row->ipadresse.' " target="uebersicht_infoscreen">Reboot</a></td>';
echo '<td><a href="infoscreen_details.php?action=show&infoscreen_id=',$basis->convert_html_chars($row->infoscreen_id),' " target="detail_infoscreen">details</a></td>';
echo '<td><a href="infoscreen_uebersicht.php?action=update&infoscreen_id=',$basis->convert_html_chars($row->infoscreen_id),' " target="uebersicht_infoscreen">bearbeiten</a></td>';
+97 -59
View File
@@ -566,14 +566,15 @@ if(isset($_GET['excel']))
<title>Reihungstest</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<?php
include('../../include/meta/jquery.php');
include('../../include/meta/jquery-tablesorter.php');
?>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script src="../../vendor/rmariuzzo/jquery-checkboxes/dist/jquery.checkboxes-1.0.7.min.js" type="text/javascript"></script>
@@ -771,7 +772,7 @@ if(isset($_GET['excel']))
{
$("#"+v.id).tablesorter(
{
widgets: ["zebra"],
widgets: ["zebra", "filter", "stickyHeaders"],
sortList: [[3,0],[4,0]],
headers: {0: { sorter: false}}
});
@@ -970,7 +971,7 @@ if(isset($_GET['excel']))
.studienplan_listitem
{
background-color: lightgray;
padding: 0 5px 0 6px;
padding: 2px 5px 2px 6px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
@@ -979,7 +980,7 @@ if(isset($_GET['excel']))
.ort_listitem
{
background-color: lightgray;
padding: 0 5px 0 6px;
padding: 2px 5px 2px 6px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
@@ -1027,12 +1028,6 @@ $messageError = '';
// Speichern eines Termines
if(isset($_POST['speichern']) || isset($_POST['kopieren']))
{
if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui'))
{
die($rechte->errormsg);
}
$reihungstest = new reihungstest();
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='' && !isset($_POST['kopieren']))
@@ -1052,6 +1047,13 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
$reihungstest->insertvon = $user;
$reihungstest->insertamum = date('Y-m-d H:i:s');
}
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($reihungstest->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
die($rechte->errormsg);
}
//Datum und Uhrzeit pruefen
if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum']))
@@ -1089,7 +1091,7 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
{
$reihungstest->freigeschaltet = isset($_POST['freigeschaltet']);
$reihungstest->max_teilnehmer = filter_input(INPUT_POST, 'max_teilnehmer', FILTER_VALIDATE_INT);
if ($rechte->isBerechtigt('lehre/reihungstestOeffentlich', $_POST['studiengang_kz'], 'suid'))
if ($rechte->isBerechtigt('lehre/reihungstestOeffentlich', $stg_rechtecheck->oe_kurzbz, 'suid'))
{
$reihungstest->oeffentlich = (isset($_POST['oeffentlich']) ? true : false);
}
@@ -1116,7 +1118,7 @@ if(isset($_POST['speichern']) || isset($_POST['kopieren']))
$messageError .= '<p>Die Bezeichnung des Ortes ist ungueltig oder wurde nicht gefunden</p>';
else
{
if($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui'))
if($rechte->isBerechtigt('lehre/reihungstestOrt', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
$orte_zugeteilt = new reihungstest();
$orte_zugeteilt->getOrteReihungstest($reihungstest->reihungstest_id);
@@ -1281,11 +1283,6 @@ if ($reihungstest_id != '' || isset($_POST['reihungstest_id']))
if(isset($_POST['raumzuteilung_speichern']))
{
if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su'))
{
die($rechte->errormsg);
}
$raumzuteilung = new reihungstest();
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
@@ -1295,6 +1292,14 @@ if(isset($_POST['raumzuteilung_speichern']))
{
die($raumzuteilung->errormsg);
}
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($raumzuteilung->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'su'))
{
die($rechte->errormsg);
}
if (isset($_POST['checkbox']))
{
$person_ids = $_POST['checkbox'];
@@ -1522,13 +1527,15 @@ if(isset($_GET['type']) && $_GET['type']=='informAssistance')
// Verteilt alle BewerberInnen gleichmaessig auf die Raeume
if(isset($_GET['type']) && $_GET['type']=='verteilen')
{
if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui'))
{
die($rechte->errormsg);
}
if($reihungstest_id!='')
{
$rt_rechtecheck = new reihungstest($reihungstest_id);
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($rt_rechtecheck->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
die($rechte->errormsg);
}
$errormsg='';
$qry = "SELECT
person_id,
@@ -1617,13 +1624,16 @@ if(isset($_GET['type']) && $_GET['type']=='verteilen')
// Fuellt die Raeume aufsteigend mit BewerberInnen an
if(isset($_GET['type']) && $_GET['type']=='auffuellen')
{
if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'sui'))
{
die($rechte->errormsg);
}
if($reihungstest_id!='')
{
$rt_rechtecheck = new reihungstest($reihungstest_id);
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($rt_rechtecheck->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
die($rechte->errormsg);
}
$orte = new Reihungstest();
$orte->getOrteReihungstest($reihungstest_id);
@@ -1699,16 +1709,18 @@ if(isset($_GET['type']) && $_GET['type']=='auffuellen')
if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopieren']))
{
if(!$rechte->isBerechtigt('lehre/reihungstest', null, 'su'))
{
die($rechte->errormsg);
}
$save_aufsicht = new reihungstest();
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
{
$rt_rechtecheck = new reihungstest($_POST['reihungstest_id']);
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($rt_rechtecheck->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'su'))
{
die($rechte->errormsg);
}
//Reihungstest laden
if(!$save_aufsicht->load($_POST['reihungstest_id']))
{
@@ -1745,13 +1757,16 @@ if(isset($_POST['aufsicht']) && $_POST['aufsicht']!='' && !isset($_POST['kopiere
if(isset($_POST['delete_ort']))
{
if(!$rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid'))
{
die($rechte->errormsg);
}
if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
{
$rt_rechtecheck = new reihungstest($_POST['reihungstest_id']);
// OE über Studiengang des Reihungstests laden und Berechtigung prüfen
$stg_rechtecheck = new studiengang($rt_rechtecheck->studiengang_kz);
if(!$rechte->isBerechtigt('lehre/reihungstestOrt', $stg_rechtecheck->oe_kurzbz, 'suid'))
{
die($rechte->errormsg);
}
$delete_ort = new reihungstest();
$delete_ort->getPersonReihungstestOrt($_POST['reihungstest_id'], $_POST['delete_ort']);
@@ -2067,6 +2082,7 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
</tr>';
}
$stg_rechtecheck = new studiengang($reihungstest->studiengang_kz);
if($neu)
{
echo '<tr>';
@@ -2123,9 +2139,17 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
{
//echo '<td><table>';
echo '<td>';
echo '<input id="studienplan_id" type="hidden" name="studienplan_id" value="">';
echo '<input id="studienplan_autocomplete" type="text" name="studienplan" size="40" placeholder="Weiterer Studienplan" value="">';
echo '<button type="submit" name="speichern"><img src="../../skin/images/list-add.png" alt="Studienplan hinzufügen" height="13px"></button></td>';
if ($rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
echo '<input id="studienplan_id" type="hidden" name="studienplan_id" value="">';
echo '<input id="studienplan_autocomplete" type="text" name="studienplan" size="40" placeholder="Weiterer Studienplan" value="">';
echo '<button type="submit" name="speichern"><img src="../../skin/images/list-add.png" alt="Studienplan hinzufügen" height="13px"></button>';
}
else
{
echo 'Keine Berechtigung zum Zuteilen von Studienplänen';
}
echo '</td>';
echo '</tr>';
foreach ($studienplaene->result AS $row)
@@ -2135,7 +2159,10 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
echo '<tr><td>&nbsp;</td>';
echo '<td class="studienplan_listitem">'.$studienplan->bezeichnung.' ('.$studienplan->studienplan_id.')</td>';
echo '<td><button type="submit" name="delete_studienplan" value="'.$row->studienplan_id.'"><img src="../../skin/images/delete_x.png" alt="Studienplan entfernen" height="13px"></button></td>';
if ($rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'suid'))
{
echo '<td><button type="submit" name="delete_studienplan" value="'.$row->studienplan_id.'"><img src="../../skin/images/delete_x.png" alt="Studienplan entfernen" height="13px"></button></td>';
}
echo '</tr>';
}
//echo '</table></td>';
@@ -2149,7 +2176,8 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
{
echo '<tr><td class="feldtitel">Ort</td>';
//echo '<td>';
if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'sui'))
if ($rechte->isBerechtigt('lehre/reihungstestOrt', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
echo '<td><input id="ort" type="text" name="ort_kurzbz" placeholder="Ort eingeben" value="">';
echo '<button type="submit" name="speichern"><img src="../../skin/images/list-add.png" alt="Ort hinzufügen" height="13px"></button></td>';
@@ -2157,7 +2185,7 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
}
else
{
echo '<td colspan="2">Keine Berechtigung zum zuteilen von Räumen</td>';
echo '<td colspan="2">Keine Berechtigung zum Zuteilen von Räumen</td>';
}
$orte = new Reihungstest();
$orte->getOrteReihungstest($reihungstest->reihungstest_id);
@@ -2175,9 +2203,14 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
if(defined('REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND') && REIHUNGSTEST_ARBEITSPLAETZE_SCHWUND > 0)
echo '*';
echo ')';
echo ' <input type="text" id="aufsicht_'.$row->ort_kurzbz.'" class="aufsicht_uid" name="aufsicht['.$row->ort_kurzbz.']" value="'.$anzeigename.'" placeholder="Aufsichtsperson" size="32">';
if ($rechte->isBerechtigt('lehre/reihungstestOrt', null, 'suid'))
if ($rechte->isBerechtigt('lehre/reihungstestOrt', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
echo ' <input type="text" id="aufsicht_'.$row->ort_kurzbz.'" class="aufsicht_uid" name="aufsicht['.$row->ort_kurzbz.']" value="'.$anzeigename.'" placeholder="Aufsichtsperson" size="32">';
}
if ($rechte->isBerechtigt('lehre/reihungstestOrt', $stg_rechtecheck->oe_kurzbz, 'suid'))
{
echo '</td><td><button type="submit" name="delete_ort" value="'.$row->ort_kurzbz.'"><img src="../../skin/images/delete_x.png" alt="Ort hinzufügen" height="13px"></button>';
}
echo '</td></tr>';
$arbeitsplaetze_sum = $arbeitsplaetze_sum + $orte_array[$row->ort_kurzbz];
}
@@ -2227,7 +2260,7 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
?>
</td>
</tr>
<tr <?php echo ($rechte->isBerechtigt('lehre/reihungstestOeffentlich', $reihungstest->studiengang_kz, 'suid') ? '' : 'style="display:none"') ?>>
<tr <?php echo ($rechte->isBerechtigt('lehre/reihungstestOeffentlich', $stg_rechtecheck->oe_kurzbz, 'suid') ? '' : 'style="display:none"') ?>>
<td class="feldtitel">Öffentlich</td>
<td>
<input id="oeffentlich" type="checkbox" name="oeffentlich" value="1" <?php echo $reihungstest->oeffentlich ? 'checked="checked"' : '' ?>>
@@ -2245,19 +2278,24 @@ $studienplaene_list = implode(',', array_keys($studienplaene_arr));
<tr>
<td>&nbsp;</td>
</tr>
<?php if(!$neu)
$val = 'Änderung Speichern';
else
$val = 'Neu anlegen'; ?>
<tr>
<td></td>
<td>
<button type="submit" name="speichern"><?php echo $val ?></button>
<?php
<?php
if(!$neu)
echo '<button type="submit" name="kopieren" onclick="return confirm (\'Eine Kopie dieses Termins erstellen?\')">Kopie erstellen</button>';
if($rechte->isBerechtigt('lehre/reihungstest', null, 'suid'))
{
if($rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'sui'))
{
echo '<button type="submit" name="speichern">Änderung Speichern</button>';
echo '<button type="submit" name="kopieren" onclick="return confirm (\'Eine Kopie dieses Termins erstellen?\')">Kopie erstellen</button>';
}
}
else
{
echo '<button type="submit" name="speichern">Neu anlegen</button>';
}
if($rechte->isBerechtigt('lehre/reihungstest', $stg_rechtecheck->oe_kurzbz, 'suid'))
{
$anzahl_teilnehmer = new reihungstest();
$anzahl_teilnehmer = $anzahl_teilnehmer->getTeilnehmerAnzahl($reihungstest_id);