Merge branch 'master' into feature-36028/uebersetzungen_zahlungen

This commit is contained in:
Andreas Österreicher
2024-02-09 12:50:00 +01:00
32 changed files with 979 additions and 613 deletions
+17 -4
View File
@@ -306,11 +306,24 @@ class AntragJob extends JOB_Controller
foreach ($prestudents as $prestudent)
{
$result = $this->prestudentlib->setAbbrecher($prestudent->prestudent_id, $prestudent->studiensemester_kurzbz, $insertvon);
if (isError($result))
$result = $this->StudierendenantragstatusModel->insert([
'studierendenantrag_id' => $prestudent->studierendenantrag_id,
'studierendenantrag_statustyp_kurzbz' => Studierendenantragstatus_model::STATUS_DEREGISTERED,
'insertvon' => 'AntragJob'
]);
if (isError($result)) {
$this->logError(getError($result));
else
$count++;
} else {
$deregisterStatus = getData($result);
$result = $this->prestudentlib->setAbbrecher($prestudent->prestudent_id, '', $insertvon);
if (isError($result)) {
$this->StudierendenantragstatusModel->delete($deregisterStatus);
$this->logError(getError($result));
} else {
$count++;
}
}
}
$this->logInfo($count . " Students set to Abbrecher");
}
+2 -1
View File
@@ -356,7 +356,8 @@ function sanitizeProblemChars($str)
'ss' => '/ß/'
);
return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc));
$tmp = preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc));
return html_entity_decode($tmp, ENT_NOQUOTES | ENT_HTML5, $enc);
}
/**
+3 -3
View File
@@ -74,7 +74,7 @@ class PrestudentLib
$result = $this->_ci->PrestudentstatusModel->withGrund($statusgrund_kurzbz)->insert([
'prestudent_id' => $prestudent_id,
'status_kurzbz' => Prestudentstatus_model::STATUS_ABBRECHER,
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'studiensemester_kurzbz' => $prestudent_status->studiensemester_kurzbz,
'ausbildungssemester' => $prestudent_status->ausbildungssemester,
'datum' => $datum,
'insertvon' => $insertvon,
@@ -135,7 +135,7 @@ class PrestudentLib
}
//noch nicht eingetragene Zeugnisnoten auf 9 setzen
$result = $this->_ci->ZeugnisnoteModel->getZeugnisnoten($student->student_uid, $studiensemester_kurzbz);
$result = $this->_ci->ZeugnisnoteModel->getZeugnisnoten($student->student_uid, $prestudent_status->studiensemester_kurzbz);
if (isError($result))
return $result;
$result = getData($result) ?: [];
@@ -181,7 +181,7 @@ class PrestudentLib
//Studentlehrverband setzen
$this->_ci->StudentlehrverbandModel->update([
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'studiensemester_kurzbz' => $prestudent_status->studiensemester_kurzbz,
'student_uid' => $student->student_uid
], [
'studiengang_kz' => $student->studiengang_kz,
@@ -164,6 +164,7 @@ class Pruefung_model extends DB_Model
$this->addSelect('ps.prestudent_id');
$this->addSelect('lv.bezeichnung as lvbezeichnung');
$this->addSelect('le.studiensemester_kurzbz');
$this->addSelect('a.studierendenantrag_id');
$this->addSelect('a.typ');
$this->addSelect('campus.get_status_studierendenantrag(a.studierendenantrag_id) status');
@@ -142,14 +142,17 @@ $this->load->view(
<br>
<!-- link for external lectors 'Informationsblatt fuer externe Lehrende'. Show only for external lecturers -->
<?php if ($is_external_lector): ?>
<div class="row">
<div class="col-xs-12">
<span class="pull-right"><?php echo $this->p->t('dms' , 'informationsblattExterneLehrende'); ?></span>
<span class="pull-left"><?php echo $this->p->t('ui' , 'hinweistextLehrauftrag'); ?></span>
<?php if ($is_external_lector): ?>
<span class="pull-right"><?php echo $this->p->t('dms' , 'informationsblattExterneLehrende'); ?></span>
<?php endif; ?>
</div>
</div>
<br>
<?php endif; ?>
<!-- filter buttons & PDF downloads & password field & akzeptieren-button -->
<div class="row">
+7 -1
View File
@@ -215,7 +215,13 @@ function loadampel()
</td>
<td valign="middle" align="center">
<form name="searchform" action="private/tools/suche.php" method="GET" target="content" style="display:inline">
<input id="globalsearch" type="search" size="55" name="search" placeholder=" <?php echo $p->t('menu/suchePersonOrtDokumentInhalt');?> ..." title="<?php echo $p->t('menu/suchePersonOrtDokumentInhaltLang');?>"/>
<?php
if (defined('CIS_ALLOW_PERSON_SEARCH') && !CIS_ALLOW_PERSON_SEARCH)
$searchText = $p->t('menu/sucheOrtDokumentInhalt');
else
$searchText = $p->t('menu/suchePersonOrtDokumentInhalt');
?>
<input id="globalsearch" type="search" size="55" name="search" placeholder=" <?php echo $searchText ;?> ..." title="<?php echo $searchText ;?>"/>
<img src="../skin/images/search.png" onclick="document.searchform.submit()" class="suchicon"/>
</form>
</td>
+7 -9
View File
@@ -126,6 +126,9 @@ if (!$searchPerson && !$searchOrt && !$searchDms && !$searchContent && !$searchO
function searchPerson($searchItems)
{
if (defined('CIS_ALLOW_PERSON_SEARCH') && !CIS_ALLOW_PERSON_SEARCH)
return false;
global $db, $p, $noalias, $uid;
$bn = new benutzer();
//search only active and Mitarbeiter with positive Personalnr
@@ -182,18 +185,13 @@ function searchPerson($searchItems)
echo '<td>',$row->vorname, '</td>';
echo '<td>';
if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN'))
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->wahlname, ' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
else if(!CIS_SUCHE_PROFIL_ANZEIGEN)
{
$mitarbeiter = new Mitarbeiter($uid);
if($mitarbeiter->errormsg === NULL)
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->wahlname, ' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
else
$mitarbeiter = new Mitarbeiter();
if (defined('CIS_SUCHE_PROFIL_ANZEIGEN') && CIS_SUCHE_PROFIL_ANZEIGEN === false && !$mitarbeiter->load($uid))
echo $row->nachname;
}
else
echo '<a href="../profile/index.php?uid=',$row->uid,'" title="',$row->titelpre,' ',$row->vorname,' ',$row->wahlname,' ',$row->nachname,' ',$row->titelpost,'">',$row->nachname,'</a>';
if($row->aktiv==false)
echo '<span style="color: red"> (ausgeschieden)</span>';
elseif(isKarenziert($row->uid))
+25 -1
View File
@@ -148,6 +148,30 @@ echo '
alert(<?php echo "'".$p->t("testtool/alleFragenBeantwortet")."'"?>);
return true;
}
$(document).ready(function () {
$(document).bind('cut copy paste', function(e)
{
if (document.querySelector('.frage'))
{
e.preventDefault();
}
});
$(document).on("keydown", function (e)
{
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123)
{
e.preventDefault();
}
});
$(document).on("contextmenu", function (e)
{
e.preventDefault();
});
});
//]]>
</script>
@@ -598,7 +622,7 @@ if($frage->frage_id!='')
$display_well = $frage->nummer == 0 ? '' : 'well'; // don't style frage 0 because this is always the introduction to gebiet
echo '
<div class="row">
<div class="row frage">
<div class="col-xs-offset-1 col-xs-10 col-sm-offset-2 col-sm-8">
<div class="'. $display_well. ' text-center">'. $frage->text. '</div>
</div>
+14 -1
View File
@@ -50,9 +50,22 @@ $p = new phrasen($sprache_user);
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(document).on("keydown", function (e) {
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123)
{
e.preventDefault();
}
});
$(document).on("contextmenu", function (e) {
e.preventDefault();
});
</script>
<body>
<br><br><br><br><br>
<center><h2><?php echo $p->t('testtool/zeitAbgelaufen');?></h2>
+20
View File
@@ -426,6 +426,26 @@ if (isset($_POST['save']) && isset($_SESSION['prestudent_id']))
});';
?>
$(document).bind('cut copy paste', function(e)
{
if (document.querySelector('.frage'))
{
e.preventDefault();
}
});
$(document).on("keydown", function (e)
{
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123)
{
e.preventDefault();
}
});
$(document).on("contextmenu", function (e)
{
e.preventDefault();
});
// If Browser is any other than Mozilla Firefox and the test includes any MathML,
// show message to use Mozilla Firefox
var ua = navigator.userAgent;
+10
View File
@@ -414,7 +414,17 @@ else
</body>
<script type="text/javascript">
$(document).ready(function () {
$(document).on("keydown", function (e) {
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123) {
e.preventDefault();
}
});
$(document).on("contextmenu", function (e) {
e.preventDefault();
});
});
// Get users Browser
var ua = navigator.userAgent;
+15 -1
View File
@@ -28,9 +28,23 @@ $p = new phrasen($sprache_user);
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../vendor/components/jquery/jquery.min.js"></script>
</head>
<script type="text/javascript">
$(document).on("keydown", function (e)
{
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123) {
e.preventDefault();
}
});
$(document).on("contextmenu", function (e)
{
e.preventDefault();
});
</script>
<body>
<br><br><br><br><br>
<center><h2><?php echo $p->t('testtool/prueflingGesperrt');?></h2>
+12
View File
@@ -71,6 +71,18 @@ function changeSprache(sprache)
parent.menu.location.href = parent.menu.location.pathname + '?sprache_user=' + sprache; // refreshes menu.php
parent.content.location.href = parent.content.location.pathname + '?' + content_params; // refreshes login.php or frage.php
}
$(document).on("keydown", function (e) {
if (((e.ctrlKey || e.metaKey) && e.keyCode === 85) || e.keyCode === 123)
{
e.preventDefault();
}
});
$(document).on("contextmenu", function (e)
{
e.preventDefault();
});
</script>
<body>
<?php
+5
View File
@@ -57,8 +57,13 @@ define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
define('CIS_SUCHE_LVPLAN_ANZEIGEN',true);
// Anzeige des Links zum Profil von Personen bei globaler Suche
// Wenn ein Mitarbeiter sucht, wird der Link IMMER angezeigt, unabhängig von der Config
// Wenn ein Studierender sucht und die Config auf false ist, wird der Link nicht angezeigt - ansonsten schon
define('CIS_SUCHE_PROFIL_ANZEIGEN',true);
// Anzeige von Personen bei globaler Suche
define('CIS_ALLOW_PERSON_SEARCH', true);
// Soll geprueft werden ob das Passwort innerhalb des letzten Jahres geaendert wurde true|false
// Wenn dies nicht geaendert wurde wird nach dem Login auf die Passwort aendern Seite umgeleitet
define('CIS_CHECK_PASSWORD_CHANGE',false);
@@ -261,15 +261,25 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<hbox>
<label value="Note" control="lehrveranstaltung-noten-menulist-note"/>
<menulist id="lehrveranstaltung-noten-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="LehrveranstaltungNoteSpeichern()">
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="LehrveranstaltungNoteSpeichern()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Punkte" control="lehrveranstaltung-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
@@ -194,17 +194,27 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Note komm. Pruefung" control="student-abschlusspruefung-menulist-notekommpruef" />
<menulist id="student-abschlusspruefung-menulist-notekommpruef"
disabled="true"
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT;?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste"
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<template>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
<row>
<label value="Prüfungsantritt" control="student-abschlusspruefung-menulist-pruefungsantritt" />
+17 -7
View File
@@ -346,15 +346,25 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<hbox>
<label value="Note" control="student-noten-menulist-note"/>
<menulist id="student-noten-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="StudentNoteSpeichern()">
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste"
oncommand="StudentNoteSpeichern()">
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
<label value="Punkte" control="student-noten-textbox-punkte" hidden="<?php echo $punktehidden; ?>"/>
@@ -279,14 +279,24 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
</hbox>
<label value="Gesamtnote" control="student-projektarbeit-menulist-note"/>
<menulist id="student-projektarbeit-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
@@ -483,14 +493,24 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
<row>
<label value="Note" control="student-projektbetreuer-menulist-note"/>
<menulist id="student-projektbetreuer-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT ?>rdf/note.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
+16 -6
View File
@@ -216,14 +216,24 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<row>
<label value="Note" control="student-pruefung-menulist-note"/>
<menulist id="student-pruefung-menulist-note" disabled="true"
datasources="<?php echo APP_ROOT; ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
xmlns:NOTE="http://www.technikum-wien.at/note/rdf#"
datasources="<?php echo APP_ROOT; ?>rdf/note.rdf.php" flex="1"
ref="http://www.technikum-wien.at/note/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
<rule NOTE:aktiv='false'>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup>
</rule>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/note/rdf#note"
label="rdf:http://www.technikum-wien.at/note/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
+182 -12
View File
@@ -1086,12 +1086,33 @@ class mitarbeiter extends benutzer
funktion_kurzbz='Leitung' AND
(datum_von is null OR datum_von<=now()) AND
(datum_bis is null OR datum_bis>=now()) AND
oe_kurzbz in (SELECT oe_kurzbz
FROM public.tbl_benutzerfunktion
WHERE
oe_kurzbz in (
SELECT
oe_kurzbz
FROM
public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
(datum_von is null OR datum_von<=now()) AND
(datum_bis is null OR datum_bis>=now())
ORDER BY
(
SELECT
1
FROM
hr.tbl_vertragsbestandteil_funktion
JOIN hr.tbl_vertragsbestandteil vbsfkt USING(vertragsbestandteil_id)
JOIN hr.tbl_vertragsbestandteil vbskarenz USING(dienstverhaeltnis_id)
WHERE
tbl_vertragsbestandteil_funktion.benutzerfunktion_id=tbl_benutzerfunktion.benutzerfunktion_id
AND vbskarenz.vertragsbestandteiltyp_kurzbz='karenz'
AND
(
now()::date BETWEEN COALESCE(vbskarenz.von, '1970-01-01') AND COALESCE(vbskarenz.bis, '2170-12-31')
OR
now()::date BETWEEN COALESCE(vbskarenz.von, '1970-01-01') AND COALESCE(vbskarenz.bis, '2170-12-31')
)
) NULLS FIRST LIMIT 1
)
ORDER BY datum_von DESC ";
@@ -1120,6 +1141,138 @@ class mitarbeiter extends benutzer
return $return;
}
/**
* Prueft ob eine Person im angegebenen Zeitraum Vorgesetzter von einem Mitarbeiter ist
* @param $leiter UID der zu pruefenden Leitungsposition
* @param $mitarbeiter UID der zu pruefenden Leitungsposition
* @param $datumvon Von Datum des zu pruefenden Zeitraums
* @param $datumbis BIS Datum des zu pruefenden Zeitraums
*/
public function isVorgesetzterByDate($leiter, $mitarbeiter, $datumvon, $datumbis)
{
// Alle OEs der zu pruefenden Leitungsposition holen (oes_leitung)
// Alle OEs des zu pruefenden Mitarbeiters holen (oes_mitarbeiter)
// OE-Ueberschneidungen pruefen
$qry = "
WITH RECURSIVE
oes_leitung (oe_kurzbz, oe_parent_kurzbz, level) AS
(
SELECT
oe_kurzbz,
oe_parent_kurzbz,
1 as level
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz IN (
-- Leitung im Zeitraum X
SELECT oe_kurzbz FROM public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='Leitung'
AND uid=".$this->db_add_param($leiter)."
AND
(
".$this->db_add_param($datumvon)." BETWEEN COALESCE(tbl_benutzerfunktion.datum_von, '1970-01-01') AND COALESCE(tbl_benutzerfunktion.datum_bis, '2170-12-31')
OR
".$this->db_add_param($datumbis)." BETWEEN COALESCE(tbl_benutzerfunktion.datum_von, '1970-01-01') AND COALESCE(tbl_benutzerfunktion.datum_bis, '2170-12-31')
)
)
UNION ALL
SELECT
o.oe_kurzbz,
o.oe_parent_kurzbz,
oes_leitung.level + 1 as level
FROM
public.tbl_organisationseinheit o, oes_leitung
WHERE
o.oe_parent_kurzbz = oes_leitung.oe_kurzbz
),
oes_mitarbeiter (oe_kurzbz, oe_parent_kurzbz, level) AS
(
SELECT
oe_kurzbz,
oe_parent_kurzbz,
1 as level
FROM
public.tbl_organisationseinheit
WHERE
oe_kurzbz IN (
-- OEZuordnung im Zeitraum X - bevorzugt nicht karenziert
SELECT oe_kurzbz FROM public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='oezuordnung'
AND uid=".$this->db_add_param($mitarbeiter)."
AND (
".$this->db_add_param($datumvon)." BETWEEN COALESCE(tbl_benutzerfunktion.datum_von, '1970-01-01') AND COALESCE(tbl_benutzerfunktion.datum_bis, '2170-12-31')
OR
".$this->db_add_param($datumbis)." BETWEEN COALESCE(tbl_benutzerfunktion.datum_von, '1970-01-01') AND COALESCE(tbl_benutzerfunktion.datum_bis, '2170-12-31')
)
ORDER BY
(
SELECT
1
FROM
hr.tbl_vertragsbestandteil_funktion
JOIN hr.tbl_vertragsbestandteil vbsfkt USING(vertragsbestandteil_id)
JOIN hr.tbl_vertragsbestandteil vbskarenz USING(dienstverhaeltnis_id)
WHERE
tbl_vertragsbestandteil_funktion.benutzerfunktion_id=tbl_benutzerfunktion.benutzerfunktion_id
AND vbskarenz.vertragsbestandteiltyp_kurzbz='karenz'
AND
(
".$this->db_add_param($datumvon)." BETWEEN COALESCE(vbskarenz.von, '1970-01-01') AND COALESCE(vbskarenz.bis, '2170-12-31')
OR
".$this->db_add_param($datumbis)." BETWEEN COALESCE(vbskarenz.von, '1970-01-01') AND COALESCE(vbskarenz.bis, '2170-12-31')
)
) NULLS FIRST LIMIT 1
)
UNION ALL
SELECT
o.oe_kurzbz,
o.oe_parent_kurzbz,
oes_mitarbeiter.level + 1 as level
FROM
public.tbl_organisationseinheit o, oes_mitarbeiter
WHERE
o.oe_kurzbz = oes_mitarbeiter.oe_parent_kurzbz
)
SELECT
oe_kurzbz, level
FROM
oes_leitung
WHERE
oe_kurzbz in (SELECT oe_kurzbz FROM oes_mitarbeiter)
ORDER BY
oe_kurzbz, level
";
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result) > 0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt ein Array mit den UIDs der Vorgesetzten zum Zeitpunkt des korrespondierenden Timesheets zurück
* @param $uid
@@ -1139,13 +1292,30 @@ class mitarbeiter extends benutzer
funktion_kurzbz='Leitung' AND
(datum_von is null OR datum_von<=".$this->db_add_param($date).") AND
(datum_bis is null OR datum_bis>=".$this->db_add_param($date).") AND
oe_kurzbz in (SELECT oe_kurzbz
FROM public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
(datum_von is null OR (datum_von<= ".$this->db_add_param($date).")) AND
(datum_bis is null OR (datum_bis>=".$this->db_add_param($date)."))
)
oe_kurzbz in (
SELECT
oe_kurzbz
FROM
public.tbl_benutzerfunktion
WHERE
funktion_kurzbz='oezuordnung' AND uid=".$this->db_add_param($uid)." AND
(datum_von is null OR (datum_von<= ".$this->db_add_param($date).")) AND
(datum_bis is null OR (datum_bis>=".$this->db_add_param($date)."))
ORDER BY
(
SELECT
1
FROM
hr.tbl_vertragsbestandteil_funktion
JOIN hr.tbl_vertragsbestandteil vbsfkt USING(vertragsbestandteil_id)
JOIN hr.tbl_vertragsbestandteil vbskarenz USING(dienstverhaeltnis_id)
WHERE
tbl_vertragsbestandteil_funktion.benutzerfunktion_id=tbl_benutzerfunktion.benutzerfunktion_id
AND vbskarenz.vertragsbestandteiltyp_kurzbz='karenz'
AND (vbskarenz.von <= ".$this->db_add_param($date)." OR vbskarenz.von is null)
AND (vbskarenz.bis >= ".$this->db_add_param($date)." OR vbskarenz.bis is null)
) NULLS FIRST LIMIT 1
)
ORDER BY datum_von DESC ";
if (is_numeric($limit))
@@ -1754,7 +1924,7 @@ class mitarbeiter extends benutzer
{
if (is_null($uid))
$uid = $this->uid;
$qry = "
SELECT o.oe_kurzbz AS standardkostenstelle, o.bezeichnung
FROM public.tbl_benutzerfunktion bf
@@ -1771,7 +1941,7 @@ class mitarbeiter extends benutzer
$obj = new StdClass();
$obj->oekurzbz = $row->standardkostenstelle;
$obj->bezeichnung = $row->bezeichnung;
$this->result []= $obj;
}
return true;
+1 -1
View File
@@ -512,7 +512,7 @@ class statistik extends basis_db
$this->csv='';
$this->json=array();
$this->countRows=0;
set_time_limit(120);
set_time_limit(600);
// In case a decryption function is used then perform password substitution
$this->sql = $this->replaceSQLDecryptionPassword($this->sql);
+163 -144
View File
@@ -25,23 +25,23 @@ require_once(dirname(__FILE__).'/sprache.class.php');
class zgv extends basis_db
{
public $zgv_code;
public $zgv_bez;
public $zgv_kurzbz;
public $zgv_code;
public $zgv_bez;
public $zgv_kurzbz;
public $zgvmas_code;
public $zgvmas_bez;
public $zgvmas_kurzbz;
public $zgvmas_code;
public $zgvmas_bez;
public $zgvmas_kurzbz;
public $zgvdoktor_code;
public $zgvdoktor_bez;
public $zgvdoktor_kurzbz;
public $zgvdoktor_code;
public $zgvdoktor_bez;
public $zgvdoktor_kurzbz;
public $bezeichnung;
public $bezeichnung;
public $result = array();
public $result = array();
public function __construct($zgv_code=null)
public function __construct($zgv_code=null)
{
parent::__construct();
@@ -49,155 +49,174 @@ class zgv extends basis_db
$this->load($zgv_code);
}
/**
* Lädt eine zgv von tbl_zgv
* @param $zgv_code
* @return boolean
*/
public function load($zgv_code)
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv WHERE zgv_code = '.$this->db_add_param($zgv_code, FHC_INTEGER).';';
/**
* Lädt eine zgv von tbl_zgv
* @param $zgv_code
* @return boolean
*/
public function load($zgv_code)
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv WHERE zgv_code = '.$this->db_add_param($zgv_code, FHC_INTEGER).';';
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->zgv_code = $row->zgv_code;
$this->zgv_bez = $row->zgv_bez;
$this->zgv_kurzbz = $row->zgv_kurzbz;
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->zgv_code = $row->zgv_code;
$this->zgv_bez = $row->zgv_bez;
$this->zgv_kurzbz = $row->zgv_kurzbz;
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Lädt eine Master-ZGV von tbl_zgvmaster
* @param $zgvmas_code
* @return boolean
*/
public function load_mas($zgvmas_code)
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster WHERE zgvmas_code = '.$this->db_add_param($zgvmas_code, FHC_INTEGER).';';
* Lädt eine Master-ZGV von tbl_zgvmaster
* @param $zgvmas_code
* @return boolean
*/
public function load_mas($zgvmas_code)
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster WHERE zgvmas_code = '.$this->db_add_param($zgvmas_code, FHC_INTEGER).';';
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->zgvmas_code = $row->zgvmas_code;
$this->zgvmas_bez = $row->zgvmas_bez;
$this->zgvmas_kurzbz = $row->zgvmas_kurzbz;
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->zgvmas_code = $row->zgvmas_code;
$this->zgvmas_bez = $row->zgvmas_bez;
$this->zgvmas_kurzbz = $row->zgvmas_kurzbz;
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
}
/**
* lädt alle ZGVs von tbl_zgv
* @return boolean
*/
public function getAll($onlyAktiv = false)
{
$sprache = new sprache();
$qry ='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv';
/**
* lädt alle ZGVs von tbl_zgv
* @return boolean
*/
public function getAll()
{
$sprache = new sprache();
$qry ='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv;';
if ($onlyAktiv === true)
{
$qry .= " WHERE aktiv";
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$zgv = new zgv();
$zgv->zgv_code = $row->zgv_code;
$zgv->zgv_bez = $row->zgv_bez;
$zgv->zgv_kurzbz = $row->zgv_kurzbz;
$zgv->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
$qry .= " ORDER BY zgv_bez";
$this->result[] = $zgv;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
}
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$zgv = new zgv();
$zgv->zgv_code = $row->zgv_code;
$zgv->zgv_bez = $row->zgv_bez;
$zgv->zgv_kurzbz = $row->zgv_kurzbz;
$zgv->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
/**
* Lädt alle Master ZGVs von tbl_zgvmaster
* @return boolean
*/
public function getAllMaster()
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster;';
$this->result[] = $zgv;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
}
}
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$zgv_master = new zgv();
/**
* Lädt alle Master ZGVs von tbl_zgvmaster
* @return boolean
*/
public function getAllMaster($onlyAktiv = false)
{
$sprache = new sprache();
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster';
$zgv_master->zgvmas_code = $row->zgvmas_code;
$zgv_master->zgvmas_bez = $row->zgvmas_bez;
$zgv_master->zgvmas_kurzbz = $row->zgvmas_kurzbz;
$zgv_master->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
if ($onlyAktiv === true)
{
$qry .= " WHERE aktiv";
}
$this->result[] = $zgv_master;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
}
}
$qry .= " ORDER BY zgvmas_bez";
/**
* Lädt alle Doktor ZGVs von tbl_zgvdoktor
* @return boolean
*/
public function getAllDoktor()
{
$sprache = new sprache();
$qry='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvdoktor;';
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$zgv_master = new zgv();
if($result = $this->db_query($qry))
{
while($row= $this->db_fetch_object($result))
{
$zgv_doktor = new zgv();
$zgv_master->zgvmas_code = $row->zgvmas_code;
$zgv_master->zgvmas_bez = $row->zgvmas_bez;
$zgv_master->zgvmas_kurzbz = $row->zgvmas_kurzbz;
$zgv_master->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
$zgv_doktor->zgvdoktor_code = $row->zgvdoktor_code;
$zgv_doktor->zgvdoktor_bez = $row->zgvdoktor_bez;
$zgv_doktor->zgvdoktor_kurzbz = $row->zgvdoktor_kurzbz;
$zgv_doktor->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
$this->result[] = $zgv_master;
}
return true;
}
else
{
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
return false;
}
}
$this->result[] = $zgv_doktor;
}
/**
* Lädt alle Doktor ZGVs von tbl_zgvdoktor
* @return boolean
*/
public function getAllDoktor($onlyAktiv = false)
{
$sprache = new sprache();
$qry='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvdoktor;';
if ($onlyAktiv === true)
{
$qry .= " WHERE aktiv";
}
$qry .= " ORDER BY zgvdoktor_bez";
if($result = $this->db_query($qry))
{
while($row= $this->db_fetch_object($result))
{
$zgv_doktor = new zgv();
}
else
{
$this->erromsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
$zgv_doktor->zgvdoktor_code = $row->zgvdoktor_code;
$zgv_doktor->zgvdoktor_bez = $row->zgvdoktor_bez;
$zgv_doktor->zgvdoktor_kurzbz = $row->zgvdoktor_kurzbz;
$zgv_doktor->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
$this->result[] = $zgv_doktor;
}
}
else
{
$this->erromsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
}
?>
+1
View File
@@ -8,5 +8,6 @@ $this->phrasen['menu/assistenz']='Zeitsperren aller AssistentInnen';
$this->phrasen['menu/lektoren']='Lektoren';
$this->phrasen['menu/urlaubAlle']='Alle';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Suche Person / OE / Ort / Dokument / Inhalt / DW';
$this->phrasen['menu/sucheOrtDokumentInhalt']='Suche OE / Ort / Dokument / Inhalt / DW';
$this->phrasen['menu/suchePersonOrtDokumentInhaltLang']='Suche Person / Organisationseinheit / Ort / Dokument / Inhalt / Durchwahl';
?>
+1
View File
@@ -8,5 +8,6 @@ $this->phrasen['menu/assistenz']='Assistants';
$this->phrasen['menu/lektoren']='Lector';
$this->phrasen['menu/urlaubAlle']='All';
$this->phrasen['menu/suchePersonOrtDokumentInhalt']='Search Person / OU / Room / Document / Content / Ext.';
$this->phrasen['menu/sucheOrtDokumentInhalt']='Search OU / Room / Document / Content / Ext.';
$this->phrasen['menu/suchePersonOrtDokumentInhaltLang']='Search Person / Organisation Unit / Room / Document / Content / Extension';
?>
@@ -29,7 +29,8 @@ export default {
switch (this.data?.status)
{
case 'Erstellt': return 'info';
case 'Genehmigt': return 'success';
case 'Genehmigt':
case 'Abgemeldet': return 'success';
default: return 'info';
}
},
@@ -37,7 +37,8 @@ export default {
{
case 'Erstellt': return 'info';
case 'Genehmigt': return 'success';
case 'Verzichtet': return 'danger';
case 'Verzichtet':
case 'Abgemeldet': return 'danger';
default: return 'info';
}
},
+14 -12
View File
@@ -40,7 +40,7 @@ echo '
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:NOTE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
<RDF:Seq about="'.$rdf_url.'/liste">
';
//Daten holen
@@ -48,13 +48,14 @@ $qry = 'SELECT * FROM lehre.tbl_note ORDER BY note';
if(isset($_GET['optional']))
{
echo '
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<NOTE:note><![CDATA[]]></NOTE:note>
<NOTE:bezeichnung><![CDATA[-- keine Auswahl --]]></NOTE:bezeichnung>
<NOTE:anmerkung><![CDATA[]]></NOTE:anmerkung>
</RDF:Description>
</RDF:li>';
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<NOTE:note><![CDATA[]]></NOTE:note>
<NOTE:bezeichnung><![CDATA[-- keine Auswahl --]]></NOTE:bezeichnung>
<NOTE:anmerkung><![CDATA[]]></NOTE:anmerkung>
<NOTE:aktiv><![CDATA[]]></NOTE:aktiv>
</RDF:Description>
</RDF:li>';
}
$db = new basis_db();
@@ -63,13 +64,14 @@ if($db->db_query($qry))
while($row = $db->db_fetch_object())
{
echo '
<RDF:li>
<RDF:Description id="'.$row->note.'" about="'.$rdf_url.'/'.$row->note.'" >
<RDF:li>
<RDF:Description id="'.$row->note.'" about="'.$rdf_url.'/'.$row->note.'" >
<NOTE:note><![CDATA['.$row->note.']]></NOTE:note>
<NOTE:bezeichnung><![CDATA['.$row->bezeichnung.']]></NOTE:bezeichnung>
<NOTE:anmerkung><![CDATA['.$row->anmerkung.']]></NOTE:anmerkung>
</RDF:Description>
</RDF:li>';
<NOTE:aktiv><![CDATA['.($db->db_parse_bool($row->aktiv)?'true':'false') .']]></NOTE:aktiv>
</RDF:Description>
</RDF:li>';
}
}
?>
+1
View File
@@ -49,6 +49,7 @@ require_once('dbupdate_3.4/30181_tabelle_anrechnung_neue_attribute_fuer_begruend
require_once('dbupdate_3.4/29529_infocenter_anpassungen.php');
require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php');
require_once('dbupdate_3.4/33714_erhoehter_studienbeitrag_fuer_drittsaatenangehoerig.php');
require_once('dbupdate_3.4/36275_zeitaufzeichnung_karenz.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
@@ -0,0 +1,16 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// Add index to system.tbl_log
if ($result = $db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_vertragsbestandteil_funktion' AND table_schema='hr' AND grantee='web' AND privilege_type='SELECT'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "GRANT SELECT ON hr.tbl_vertragsbestandteil_funktion TO web;";
if (! $db->db_query($qry))
echo '<strong>Vertragsbestandteil Funktion Rechte: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Leserechte für Web User auf vertragsbetandteil_funktion hinzugefuegt';
}
}
+68 -8
View File
@@ -11683,13 +11683,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Begründen Sie die Gleichwertigkeit der ECTS',
'text' => 'Erläutern Sie die Gleichwertigkeit der ECTS',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Give reasons for the equivalence of ECTS',
'text' => 'Explain ECTS equivalencies',
'description' => '',
'insertvon' => 'system'
)
@@ -11703,13 +11703,13 @@ Any unusual occurrences
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Begründen Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte',
'text' => 'Erläutern Sie die Gleichwertigkeit der Lehrveranstaltungsinhalte',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Give reasons for the equivalence of the course contents',
'text' => 'Explain the equivalence of course content',
'description' => '',
'insertvon' => 'system'
)
@@ -18081,6 +18081,26 @@ array(
)
)
),
array(
'app' => 'international',
'category' => 'international',
'phrase' => 'alleGeplantenMarkieren',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Alle geplanten markieren',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Mark all planned',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'international',
'category' => 'international',
@@ -19723,7 +19743,7 @@ array(
)
),
/*
// es kann fuer jede Kombination Typ und Status eine Phrase der Form info_<Typ>_<Status
// es kann fuer jede Kombination Typ und Status eine Phrase der Form info_<Typ>_<Status
// erstellt werden, die dann in der Studierendenansicht in einer infobox angezeigt werden
array(
'app' => 'core',
@@ -20648,6 +20668,26 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'ui',
'phrase' => 'keineBerechtigung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'Keine Berechtigung',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'No authority',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'studierendenantrag',
@@ -23371,7 +23411,7 @@ array(
)
),
array(
'app' => 'personalverwaltung',
'category' => 'person',
@@ -23452,7 +23492,7 @@ array(
)
)
),
array(
@@ -24136,7 +24176,27 @@ array(
'insertvon' => 'system'
)
)
)
),
array(
'app' => 'lehrauftrag',
'category' => 'ui',
'phrase' => 'hinweistextLehrauftrag',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => '<strong>Hinweis:</strong> Das Akzeptieren von Lehraufträgen ersetzt alle vorhergehenden Lehraufträge dieses Studiensemesters.',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => '<strong>Note:</strong> Accepting teaching assignments replaces all previous teaching assignments for this study semester.',
'description' => '',
'insertvon' => 'system'
)
)
)
);
+3 -107
View File
@@ -1081,77 +1081,6 @@ if ($punkteUebertragen)
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits Gesamtpunkte eingetragen.';
}
}
$zuBewerberMachen = filter_input(INPUT_POST, 'zuBewerberMachen', FILTER_VALIDATE_BOOLEAN);
// Wenn zuBewerberMachen true ist, wird der Prestudent auch zum Bewerber gemacht
if ($zuBewerberMachen)
{
$prestudent = new prestudent($array['prestudent_id']);
// Checken, ob schon Bewerberstatus vorhanden ist
if (!$prestudent->load_rolle($array['prestudent_id'], 'Bewerber', $prestudentrolle->studiensemester_kurzbz, $prestudentrolle->ausbildungssemester))
{
// Checken, ob Abgewiesener-Status vorhanden ist
if (!$prestudent->load_rolle($array['prestudent_id'], 'Abgewiesener', $prestudentrolle->studiensemester_kurzbz, $prestudentrolle->ausbildungssemester))
{
// Um einen Bewerberstatus zu setzen, muss "reihungstestangetreten" true sein
if ($prestudent->reihungstestangetreten == true)
{
// Um einen Bewerberstatus zu setzen, muss die ZGV ausgefüllt sein
if ($prestudent->zgv_code != '')
{
$studiengang = new studiengang($prestudent->studiengang_kz);
// Bei Mastern muss auch die ZGV-Master ausgefüllt sein
if ($studiengang->typ == 'm' && $prestudent->zgvmas_code == '')
{
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine Master-ZGV eingetragen sein.';
}
else
{
$prestudent->new = true;
$prestudent->prestudent_id = $array['prestudent_id'];
$prestudent->status_kurzbz = 'Bewerber';
$prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz;
$prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester;
$prestudent->datum = date('Y-m-d');
$prestudent->insertamum = date('Y-m-d H:i:s');
$prestudent->insertvon = $user;
$prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz;
$prestudent->bestaetigtam = '';
$prestudent->bestaetigtvon = '';
$prestudent->bewerbung_abgeschicktamum = '';
$prestudent->studienplan_id = $prestudentrolle->studienplan_id;
if (!$prestudent->save_rolle())
{
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': '.$prestudent->errormsg;
}
else
{
$count_success_bewerber++;
}
}
}
else
{
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine ZGV eingetragen sein.';
}
}
else
{
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Zuerst muss "Reihungstestverfahren absolviert" gesetzt sein.';
}
}
else
{
$msg_error .= '<br>Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es ist bereits ein Abgewiesener-Status vorhanden';
}
}
else
{
$msg_warning .= '<br>Der Prestudent '.$array['prestudent_id'].' hat bereits einen Bewerberstatus';
}
}
}
}
@@ -2440,30 +2369,7 @@ else
{
$("#uebertragenOptions").toggle(300);
});
if($("#uebertragenOptionGesamtpunkte").not(":checked"))
{
$("#div_checkbox_bewerber").addClass("disabled");
$("#div_checkbox_bewerber").find("label").addClass("text-muted");
$("#div_checkbox_bewerber").find("label").prop("title", "Erst \"Gesamtpunkte\" und \"Reihungsverfahren absolviert\" setzen");
$("#uebertragenOptionBewerber").prop("disabled", true);
}
$("#uebertragenOptionGesamtpunkte").on("click", function(e)
{
if($(this).is(":checked"))
{
$("#div_checkbox_bewerber").removeClass("disabled");
$("#div_checkbox_bewerber").find("label").removeClass("text-muted");
$("#uebertragenOptionBewerber").prop("disabled", false);
}
else
{
$("#div_checkbox_bewerber").addClass("disabled");
$("#div_checkbox_bewerber").find("label").addClass("text-muted");
$("#div_checkbox_bewerber").find("label").prop("title", "Erst \"Gesamtpunkte\" und \"Reihungsverfahren absolviert\" setzen");
$("#uebertragenOptionBewerber").prop("disabled", true);
}
});
});
function deleteResult(prestudent_id, gebiet_id, name, gebiet_bezeichnung)
@@ -2859,17 +2765,11 @@ else
{
var prestudentPunkteArr = [];
var gesamtpunkteSetzen = false;
var zuBewerberMachen = false;
if ($("input.prestudentCheckbox:checked").length === 0)
{
alert("Bitte wählen Sie mindestens einen Eintrag aus der Liste");
return false;
}
else if ($("#uebertragenOptionBewerber:checked").length === 1 && $("#uebertragenOptionGesamtpunkte:checked").length !== 1)
{
alert("Um den Bewerberstatus setzen zu können, muss \"Gesamtpunkte\" und \"Reihungsverfahren absolviert\" gesetzt sein");
return false;
}
else
{
$("input.prestudentCheckbox:checked").each(function()
@@ -2886,15 +2786,10 @@ else
{
gesamtpunkteSetzen = true;
}
if ($("#uebertragenOptionBewerber:checked").length === 1)
{
zuBewerberMachen = true;
}
data = {
prestudentPunkteArr: prestudentPunkteArr,
gesamtpunkteSetzen: gesamtpunkteSetzen,
zuBewerberMachen: zuBewerberMachen,
punkteUebertragen: true
};
@@ -3246,8 +3141,9 @@ else
<div class="checkbox">
<label><input type="checkbox" id="uebertragenOptionGesamtpunkte" value="">"Gesamtpunkte" und "Reihungsverfahren absolviert" setzen</label>
</div>
<!---Deprecated: Bewerberstatus wird über einen Cronjob gesetzt-->
<div id="div_checkbox_bewerber" class="checkbox">
<label class="checkbox_bewerber"><input type="checkbox" id="uebertragenOptionBewerber" value="">Zu Bewerber machen</label>
<label class="checkbox_bewerber text-muted"><input type="checkbox" id="uebertragenOptionBewerber" disabled value="">Zu Bewerber machen</label>
</div>
<button type="button" class="btn btn-success" onclick="punkteUebertragen()" id="punkteUebertragenButton">Jetzt übertragen</button>
</div>
+279 -261
View File
@@ -1,261 +1,279 @@
<?php
/* Copyright (C) 2011 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Karl Burkhart < burkhart@technikum-wien.at >
*/
/**
* Seite zur Wartung der Statistiken
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/statistik.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/berechtigung.class.php');
require_once('../../include/functions.inc.php');
if(!$db = new basis_db())
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Statistik - Details</title>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script src="../../include/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function addNewContent(bezeichnung)
{
if(bezeichnung == '')
{
if($( "#bezeichnung" ).val() != '')
var bez = $( "#bezeichnung" ).val();
else
var bez = "Neuer Statistikeintrag";
}
else
var bez = bezeichnung;
data = {
NewContent: "NewContent",
titel: bez,
templateContent: <?php echo (defined('REPORT_CONTENT_TEMPLATE') && REPORT_CONTENT_TEMPLATE != '' ? REPORT_CONTENT_TEMPLATE : 1); ?>
};
$.ajax({
url: "<?php echo APP_ROOT ?>cms/admin.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
//set contentID into the ContentID input-field
$("#content_id").val(data);
//add the link with the contentID to cms-system
$("#content_id").next().after(
'<a target="_blank" href="<?php echo APP_ROOT ?>cms/admin.php?action=childs&content_id=' + data + '">&nbsp;ContentID ' + data + ' bearbeiten</a>'
);
// disable the contentID add-image
$("#content_id").next().css({"pointer-events": "none", "cursor": "default"});
},
error: function(data)
{
alert("ERROR:"+data);
}
});
}
</script>
</head>
<body>
<?php
$statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz');
$statistik = new statistik();
if($statistik_kurzbz)
{
$exists = $statistik->load($statistik_kurzbz);
}
else
{
$statistik_kurzbz = filter_input(INPUT_POST, 'statistik_kurzbz');
$exists = false;
$statistik->berechtigung_kurzbz='addon/reports';
}
if(isset($_POST['save']))
{
$statistik_kurzbz_orig = (isset($_POST['statistik_kurzbz_orig']) ? $_POST['statistik_kurzbz_orig'] : die('Statistik_kurzbz_orig fehlt'));
$bezeichnung = (isset($_POST['bezeichnung']) ? $_POST['bezeichnung'] : die('Bezeichnung fehlt'));
$url = (isset($_POST['url']) ? $_POST['url'] : die('URL fehlt'));
$sql = (isset($_POST['sql']) ? $_POST['sql'] : die('SQL fehlt'));
$gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : die('Gruppe fehlt'));
$content_id = (isset($_POST['content_id']) ? $_POST['content_id'] : die('ContentID fehlt'));
$publish = (isset($_POST['publish']) ? true : false);
$berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz']) ? $_POST['berechtigung_kurzbz'] : die('Berechtigungkurzbz fehlt'));
$preferences = (isset($_POST['preferences']) ? $_POST['preferences'] : die('preferences fehlt'));
if(!$exists)
{
$statistik->insertamum = date('Y-m-d H:i:s');
$statistik->insertvon = $user;
$statistik->new = true;
}
$statistik->statistik_kurzbz = $statistik_kurzbz;
$statistik->statistik_kurzbz_orig = $statistik_kurzbz_orig;
$statistik->bezeichnung = $bezeichnung;
$statistik->url = $url;
$statistik->sql = $sql;
$statistik->gruppe = $gruppe;
$statistik->content_id = $content_id;
$statistik->publish = $publish;
$statistik->updateamum = date('Y-m-d H:i:s');
$statistik->updatevon = $user;
$statistik->berechtigung_kurzbz = $berechtigung_kurzbz;
$statistik->preferences = $preferences;
// Check if the SQL string contains functions to decrypt data and if there are
// variables to replace the value of the password (no clear password wanted!)
if (isSQLDecryptionValid($statistik->sql))
{
$success = $statistik->save();
if($success):
?>
<span class="ok">Daten erfolgreich gespeichert</span>
<script type='text/javascript'>
parent.uebersicht_statistik.location.href = 'statistik_uebersicht.php';
</script>
<?php else: ?>
<span class="error"><?php echo $statistik->errormsg ?></span>
<?php
endif;
}
else // in case the SQL string is not valid display an error
{
?>
<span class="error"><?php echo 'It is not possible to store a SQL that contains clear passwords to decrypt data from the DB' ?></span>
<?php
}
}
$preferences = trim($statistik->preferences);
if(empty($preferences))
{
$statistik->preferences = <<<EOT
// Folgendes Objekt wird als "options"-Parameter an den Pivottable übergeben:
{
rows: [],
cols: [],
rendererName: "Table",
aggregatorName: "Count",
vals: []
}
EOT;
}
?>
<form method="POST">
<fieldset>
<?php if($statistik->new === false): ?>
<legend>Bearbeiten - <?php echo $statistik_kurzbz ?></legend>
<?php else: ?>
<legend>Neu</legend>
<?php endif; ?>
<input type="hidden" name="statistik_kurzbz_orig" value="<?php echo $statistik->statistik_kurzbz ?>">
<table>
<tr>
<td>Kurzbz</td>
<td><input type="text" name="statistik_kurzbz" size="50" maxlength="64" value="<?php echo $statistik->statistik_kurzbz ?>"></td>
<td></td>
<td>Gruppe</td>
<td><input type="text" name="gruppe" value="<?php echo $statistik->gruppe ?>"></td>
</tr>
<tr>
<td>Bezeichnung</td>
<td><input type="text" name="bezeichnung" size="80" maxlength="256" value="<?php echo $statistik->bezeichnung ?>"></td>
<td></td>
<td>ContentID</td>
<td><input type="text" name="content_id" id="content_id" value="<?php echo $statistik->content_id ?>">
<?php if(!is_null($statistik->content_id)): ?>
<a href="#" style="pointer-events: none; cursor:default;"><img src="../../skin/images/plus.png" height="16px"></a>
<a target="_blank" href="<?php echo APP_ROOT ?>cms/admin.php?action=childs&content_id=<?php echo $statistik->content_id ?>&action=content&sprache=<?php echo DEFAULT_LANGUAGE ?>&filter=<?php echo (defined('REPORT_CONTENT_TEMPLATE') ? REPORT_CONTENT_TEMPLATE : $statistik->content_id) ?>">&nbsp;ContentID <?php echo $statistik->content_id?> bearbeiten</a>
<?php else: ?>
<a href="#" onclick="addNewContent('<?php echo $statistik->bezeichnung ?>')"><img src="../../skin/images/plus.png" height="16px"></a>
<?php endif; ?>
</td>
</tr>
<tr>
<td>URL</td>
<td><input type="text" name="url" size="80" maxlength="512" value="<?php echo $statistik->url ?>"></td>
<td></td>
<td>Berechtigung</td>
<td>
<?php
$berechtigung = new berechtigung();
$berechtigung->getBerechtigungen();
?>
<select name="berechtigung_kurzbz">
<option value="">-- keine Auswahl --</option>
<?php foreach($berechtigung->result as $row): ?>
<option value="<?php echo $row->berechtigung_kurzbz ?>"
<?php echo ($row->berechtigung_kurzbz == $statistik->berechtigung_kurzbz ? 'selected' : '') ?>>
<?php echo $row->berechtigung_kurzbz ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr valign="top">
<td rowspan="3">SQL</td>
<td rowspan="3"><textarea name="sql" cols="60" rows="5" style="width: 45vw; height: 100vh"><?php echo $statistik->sql ?></textarea></td>
<td></td>
<tr valign="top">
<td></td>
<td>Publish</td>
<td><input type="checkbox" name="publish" <?php echo $statistik->publish ? 'checked="checked"' : '' ?>></td>
</tr>
<tr valign="top">
<td></td>
<td>Preferences</td>
<td><textarea name="preferences" cols="60" rows="5" style="width: 40vw; height: 100vh"><?php echo $statistik->preferences ?></textarea></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</fieldset>
<div align="right" id="sub">
<input type="submit" value="Speichern" name="save">
</div>
</form>
</body>
</html>
<?php
/* Copyright (C) 2011 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Karl Burkhart < burkhart@technikum-wien.at >
*/
/**
* Seite zur Wartung der Statistiken
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/statistik.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/berechtigung.class.php');
require_once('../../include/functions.inc.php');
if(!$db = new basis_db())
{
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
}
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/statistik', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Statistik - Details</title>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script src="../../include/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function addNewContent(bezeichnung)
{
if(bezeichnung == '')
{
if($( "#bezeichnung" ).val() != '')
var bez = $( "#bezeichnung" ).val();
else
var bez = "Neuer Statistikeintrag";
}
else
var bez = bezeichnung;
data = {
NewContent: "NewContent",
titel: bez,
templateContent: <?php echo (defined('REPORT_CONTENT_TEMPLATE') && REPORT_CONTENT_TEMPLATE != '' ? REPORT_CONTENT_TEMPLATE : 1); ?>
};
$.ajax({
url: "<?php echo APP_ROOT ?>cms/admin.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
//set contentID into the ContentID input-field
$("#content_id").val(data);
//add the link with the contentID to cms-system
$("#content_id").next().after(
'<a target="_blank" href="<?php echo APP_ROOT ?>cms/admin.php?action=childs&content_id=' + data + '">&nbsp;ContentID ' + data + ' bearbeiten</a>'
);
// disable the contentID add-image
$("#content_id").next().css({"pointer-events": "none", "cursor": "default"});
},
error: function(data)
{
alert("ERROR:"+data);
}
});
}
</script>
</head>
<body>
<?php
$statistik_kurzbz = filter_input(INPUT_GET, 'statistik_kurzbz');
$statistik = new statistik();
if($statistik_kurzbz)
{
$exists = $statistik->load($statistik_kurzbz);
}
else
{
$statistik_kurzbz = filter_input(INPUT_POST, 'statistik_kurzbz');
$exists = false;
$statistik->berechtigung_kurzbz='addon/reports';
}
if(isset($_POST['save']))
{
$statistik_kurzbz_orig = (isset($_POST['statistik_kurzbz_orig']) ? $_POST['statistik_kurzbz_orig'] : die('Statistik_kurzbz_orig fehlt'));
$bezeichnung = (isset($_POST['bezeichnung']) ? $_POST['bezeichnung'] : die('Bezeichnung fehlt'));
$url = (isset($_POST['url']) ? $_POST['url'] : die('URL fehlt'));
$sql = (isset($_POST['sql']) ? $_POST['sql'] : die('SQL fehlt'));
$gruppe = (isset($_POST['gruppe']) ? $_POST['gruppe'] : die('Gruppe fehlt'));
$content_id = (isset($_POST['content_id']) ? $_POST['content_id'] : die('ContentID fehlt'));
$publish = (isset($_POST['publish']) ? true : false);
$berechtigung_kurzbz = (isset($_POST['berechtigung_kurzbz']) ? $_POST['berechtigung_kurzbz'] : die('Berechtigungkurzbz fehlt'));
$preferences = (isset($_POST['preferences']) ? $_POST['preferences'] : die('preferences fehlt'));
if(!$exists)
{
$statistik->insertamum = date('Y-m-d H:i:s');
$statistik->insertvon = $user;
$statistik->new = true;
}
$statistik->statistik_kurzbz = $statistik_kurzbz;
$statistik->statistik_kurzbz_orig = $statistik_kurzbz_orig;
$statistik->bezeichnung = $bezeichnung;
$statistik->url = $url;
$statistik->sql = $sql;
$statistik->gruppe = $gruppe;
$statistik->content_id = $content_id;
$statistik->publish = $publish;
$statistik->updateamum = date('Y-m-d H:i:s');
$statistik->updatevon = $user;
$statistik->berechtigung_kurzbz = $berechtigung_kurzbz;
$statistik->preferences = $preferences;
// Check if the SQL string contains functions to decrypt data and if there are
// variables to replace the value of the password (no clear password wanted!)
if (isSQLDecryptionValid($statistik->sql))
{
$success = $statistik->save();
if($success):
?>
<span class="ok">Daten erfolgreich gespeichert</span>
<script type='text/javascript'>
parent.uebersicht_statistik.location.href = 'statistik_uebersicht.php';
</script>
<?php else: ?>
<span class="error"><?php echo $statistik->errormsg ?></span>
<?php
endif;
}
else // in case the SQL string is not valid display an error
{
?>
<span class="error"><?php echo 'It is not possible to store a SQL that contains clear passwords to decrypt data from the DB' ?></span>
<?php
}
}
$preferences = trim($statistik->preferences);
if(empty($preferences))
{
$statistik->preferences = <<<EOT
// Folgendes Objekt wird als "options"-Parameter an den Pivottable übergeben:
{
cols: [],
rows: [],
vals: [],
showUI: true,
colOrder: "key_a_to_z",
rowOrder: "key_a_to_z",
menuLimit: 500,
exclusions: {},
inclusions: {},
rendererName: "Tabelle",
aggregatorName: "Anzahl",
inclusionsInfo: {},
hiddenAttributes: [],
derivedAttributes: {},
hiddenFromDragDrop: [],
autoSortUnusedAttrs: false,
unusedAttrsVertical: true,
hiddenFromAggregators: [],
sorters: {},
parseHTML: false,
hideTotals: false,
showLinecount: true,
showEmailButton: false
}
EOT;
}
?>
<form method="POST">
<fieldset>
<?php if($statistik->new === false): ?>
<legend>Bearbeiten - <?php echo $statistik_kurzbz ?></legend>
<?php else: ?>
<legend>Neu</legend>
<?php endif; ?>
<input type="hidden" name="statistik_kurzbz_orig" value="<?php echo $statistik->statistik_kurzbz ?>">
<table>
<tr>
<td>Kurzbz</td>
<td><input type="text" name="statistik_kurzbz" size="50" maxlength="64" value="<?php echo $statistik->statistik_kurzbz ?>"></td>
<td></td>
<td>Gruppe</td>
<td><input type="text" name="gruppe" value="<?php echo $statistik->gruppe ?>"></td>
</tr>
<tr>
<td>Bezeichnung</td>
<td><input type="text" name="bezeichnung" size="80" maxlength="256" value="<?php echo $statistik->bezeichnung ?>"></td>
<td></td>
<td>ContentID</td>
<td><input type="text" name="content_id" id="content_id" value="<?php echo $statistik->content_id ?>">
<?php if(!is_null($statistik->content_id)): ?>
<a href="#" style="pointer-events: none; cursor:default;"><img src="../../skin/images/plus.png" height="16px"></a>
<a target="_blank" href="<?php echo APP_ROOT ?>cms/admin.php?action=childs&content_id=<?php echo $statistik->content_id ?>&action=content&sprache=<?php echo DEFAULT_LANGUAGE ?>&filter=<?php echo (defined('REPORT_CONTENT_TEMPLATE') ? REPORT_CONTENT_TEMPLATE : $statistik->content_id) ?>">&nbsp;ContentID <?php echo $statistik->content_id?> bearbeiten</a>
<?php else: ?>
<a href="#" onclick="addNewContent('<?php echo $statistik->bezeichnung ?>')"><img src="../../skin/images/plus.png" height="16px"></a>
<?php endif; ?>
</td>
</tr>
<tr>
<td>URL</td>
<td><input type="text" name="url" size="80" maxlength="512" value="<?php echo $statistik->url ?>"></td>
<td></td>
<td>Berechtigung</td>
<td>
<?php
$berechtigung = new berechtigung();
$berechtigung->getBerechtigungen();
?>
<select name="berechtigung_kurzbz">
<option value="">-- keine Auswahl --</option>
<?php foreach($berechtigung->result as $row): ?>
<option value="<?php echo $row->berechtigung_kurzbz ?>"
<?php echo ($row->berechtigung_kurzbz == $statistik->berechtigung_kurzbz ? 'selected' : '') ?>>
<?php echo $row->berechtigung_kurzbz ?>
</option>
<?php endforeach; ?>
</select>
</td>
</tr>
<tr valign="top">
<td rowspan="3">SQL</td>
<td rowspan="3"><textarea name="sql" cols="60" rows="5" style="width: 45vw; height: 100vh"><?php echo $statistik->sql ?></textarea></td>
<td></td>
<tr valign="top">
<td></td>
<td>Publish</td>
<td><input type="checkbox" name="publish" <?php echo $statistik->publish ? 'checked="checked"' : '' ?>></td>
</tr>
<tr valign="top">
<td></td>
<td>Preferences</td>
<td><textarea name="preferences" cols="60" rows="5" style="width: 40vw; height: 100vh"><?php echo $statistik->preferences ?></textarea></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</fieldset>
<div align="right" id="sub">
<input type="submit" value="Speichern" name="save">
</div>
</form>
</body>
</html>