Merge remote-tracking branch 'origin/master'

This commit is contained in:
alex
2018-03-27 13:44:33 +02:00
16 changed files with 406 additions and 333 deletions
@@ -14,7 +14,7 @@
SELECT zeitpunkt
FROM system.tbl_log
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
AND logdata->>\'name\' != \'Login with code\'
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
AND person_id = p.person_id
ORDER BY zeitpunkt DESC
LIMIT 1
@@ -23,7 +23,7 @@
SELECT insertvon
FROM system.tbl_log
WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\')
AND logdata->>\'name\' != \'Login with code\'
AND logdata->>\'name\' NOT IN (\'Login with code\', \'New application\')
AND person_id = p.person_id
ORDER BY zeitpunkt DESC
LIMIT 1
@@ -29,28 +29,6 @@
});
$(".remove-filter").click(function(event) {
$.ajax({
url: "<?php echo base_url('index.ci.php/system/Filters/removeSelectedFilters'); ?>",
method: "POST",
data: {
fieldName: $(this).attr('filterToRemove')
}
})
.done(function(data, textStatus, jqXHR) {
resetSelectedFilters();
renderSelectedFilters();
renderTableDataset();
}).fail(function(jqXHR, textStatus, errorThrown) {
alert(textStatus);
});
});
$(".select-filter-operation").change(function() {
if ($(this).val() == "set" || $(this).val() == "nset")
+1 -1
View File
@@ -139,7 +139,7 @@
{
// Hiding/showing navigation menu - works only with sb admin 2 template!!
$("#side-menu").prepend('<li id="collapseicon" class="text-right" style="cursor: pointer; color: #337ab7"><i class="fa fa-angle-double-left fa-fw"></i></li>');
$("#side-menu").html('<li id="collapseicon" class="text-right" style="cursor: pointer; color: #337ab7"><i class="fa fa-angle-double-left fa-fw"></i></li>');
$("#collapseicon").click(function() {
$("#page-wrapper").css('margin-left', '0px');
$("#side-menu").hide();
+61 -25
View File
@@ -87,16 +87,62 @@ echo '<!DOCTYPE HTML>
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<title>'.$p->t('mailverteiler/oeffnenEinesVerteilers').'</title>
</head>
<style>
body
{
width: 95%;
margin: 10px;
overflow: hidden;
}
.button_oeffnen
{
display: block;
color: #fff;
background-color: #337ab7;
padding: 6px 12px;
margin-bottom: 0;
margin-top: 10px;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
background-image: none;
border-radius: 4px;
border: 1px solid transparent;
overflow: visible;
box-sizing: border-box;
text-transform: none;
}
.button_oeffnen:hover
{
display: block;
color: #fff;
background-color: #286090;
padding: 6px 12px;
margin-bottom: 0;
margin-top: 10px;
text-align: center;
white-space: nowrap;
vertical-align: middle;
cursor: pointer;
background-image: none;
border-radius: 4px;
border: 1px solid transparent;
overflow: visible;
box-sizing: border-box;
text-transform: none;
}
a, a:hover
{
text-decoration: none;
}
</style>
<body>';
if (isset($_REQUEST['token']) && isset($_REQUEST['grp']))
{
echo '
<table class="tabcontent">
<tr>
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/mailverteiler').'</font></td>
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/status').'</font></td>
</tr>';
<h1>'.$p->t('mailverteiler/oeffnenEinesVerteilers').'</h1>';
/* Generate an random String */
$mail_id = mail_id_generator();
@@ -116,30 +162,18 @@ if (isset($_REQUEST['token']) && isset($_REQUEST['grp']))
fwrite($filet, $message, mb_strlen($message));
fclose($filet);
echo "
<tr>
<td><a href='mailto:".$_REQUEST['grp'].$mail_id."@".DOMAIN."'>".$db->convert_html_chars($_REQUEST['desc'])."</a></td>
<td>".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.")</td>
</tr>
<tr>
<td colspan='2'>
<p>".$p->t('mailverteiler/klickenZumSchicken')."</p>
<p>".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."</p>
</td>
</tr>
";
echo '
<p>'.$p->t('mailverteiler/geoeffnet',$db->convert_html_chars($_REQUEST['desc'])).'</p>
<p><b>Code</b>: '.$mail_id.'<br>
<b>Adresse</b>: <a href="mailto:?bcc='.$_REQUEST["grp"].$mail_id.'@'.DOMAIN.'">'.$_REQUEST["grp"].$mail_id.'@'.DOMAIN.'</a></p>
<p>'.$p->t('mailverteiler/klickenZumSchicken').'</p>
<p>'.$p->t('mailverteiler/infoBenutzung').'</p>';
}
else
{
echo '
<tr>
<td colspan="2">
'.$p->t('mailverteiler/oeffnenFehlgeschlagen').'
</td>
</tr>';
<p class="error">'.$p->t('mailverteiler/oeffnenFehlgeschlagen').'</p>';
}
echo '</table>';
}
else
{
@@ -149,7 +183,9 @@ else
}
else
{
echo $p->t('mailverteiler/bestaetigeOeffnen',array($_REQUEST['grp']))." : <a href=\"".$_SERVER['SCRIPT_NAME']."?grp=".$_REQUEST['grp']."&desc=".$db->convert_html_chars($_REQUEST['desc'])."&token=1\">".$p->t('mailverteiler/bestaetige')."</a>";
echo '<h1>'.$p->t('mailverteiler/oeffnenEinesVerteilers').'</h1>';
echo $p->t('mailverteiler/bestaetigeOeffnen').':';
echo '<a href="'.$_SERVER['SCRIPT_NAME'].'?grp='.$_REQUEST['grp'].'&desc='.$db->convert_html_chars($_REQUEST['desc']).'&token=1"><button class="button_oeffnen">'.$p->t('mailverteiler/verteilerGenerieren',array($_REQUEST['grp'])).'</button></a>';
}
}
+3 -3
View File
@@ -106,7 +106,7 @@ class menu_addon_meinelvkompatibel extends menu_addon
$stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem,
'name'=>$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...')
'name'=>CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...')
);
}
}
@@ -178,7 +178,7 @@ class menu_addon_meinelvkompatibel extends menu_addon
$stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/freifaecher/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem,
'name'=>'FF '.$this->CutString($row->lehreverzeichnis, $cutlength, '...')
'name'=>'FF '.CutString($row->lehreverzeichnis, $cutlength, '...')
);
}
else
@@ -190,7 +190,7 @@ class menu_addon_meinelvkompatibel extends menu_addon
$stsementry[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
'target'=>'content',
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$stsem,
'name'=>$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...')
'name'=>CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength, '...')
);
}
}
@@ -475,7 +475,7 @@ if($result_stg = $db->db_query($qry_stg))
$worksheet->setInputEncoding('utf-8');
$qry = "SELECT
studiensemester_kurzbz, nachname, vorname, sum(stunden) AS stunden, titelpre,
sum(tbl_projektbetreuer.stundensatz*stunden*tbl_projektbetreuer.faktor)::numeric(6,2) AS euro, person_id
sum(tbl_projektbetreuer.stundensatz*stunden*tbl_projektbetreuer.faktor)::numeric(8,2) AS euro, person_id
FROM
public.tbl_person JOIN lehre.tbl_projektbetreuer USING (person_id)
JOIN lehre.tbl_projektarbeit USING (projektarbeit_id)
@@ -496,7 +496,7 @@ if($result_stg = $db->db_query($qry_stg))
";
$i=0;
$gesamtkosten=0;
$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' Betreuerstunden', $format_bold);
//Ueberschriften
//$worksheet->write(2,$i,"Studiengang", $format_bold);
@@ -53,7 +53,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</popupset>
<hbox flex="1">
<groupbox flex="1">
<groupbox flex="2">
<caption label="Nicht Akzeptiert"/>
<tree id="interessent-dokumente-tree-nichtabgegeben" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/dokument/liste"
@@ -64,55 +64,55 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
context="interessent-dokumente-tree-nichtabgegeben-popup"
>
<treecols>
<treecol id="interessent-dokumente-tree-nichtabgegeben-bezeichnung" label="Dokument" flex="1" primary="false"
<treecol id="interessent-dokumente-tree-nichtabgegeben-bezeichnung" label="Dokument" flex="6" primary="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#bezeichnung" onclick="InteressentDokumenteNichtAbgegebenTreeSort()" />
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz" label="Kurzbezeichnung" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz" label="Kurzbezeichnung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#dokument_kurzbz" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-datum" label="Datum" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-datum" label="Datum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#datum" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-datumhochgeladen" label="Upload Datum" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-datumhochgeladen" label="Uploaddatum" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#datumhochgeladen" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-nachgereicht" label="Nachgereicht" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-nachgereicht" label="Nachgereicht" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-infotext" label="Infotext" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-vorhanden" label="Vorhanden" flex="1" hidden="false"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-infotext" label="Infotext" flex="6" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#infotext" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-vorhanden" label="vorhanden" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-akte_id" label="akte_id" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-akte_id" label="Akte ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#akte_id" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-titel_intern" label="titel_intern" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-titel_intern" label="Titel" flex="6" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#titel_intern" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-anmerkung_intern" label="anmerkung_intern" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-anmerkung_intern" label="Anmerkung intern" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#anmerkung_intern" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-onlinebewerbung" label="onlinebewerbung" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-onlinebewerbung" label="Online" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#onlinebewerbung" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-pflicht" label="pflicht" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-pflicht" label="Pflicht" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#pflicht" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-nichtabgegeben-nachgereicht_am" label="Nachreichung Am" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-nichtabgegeben-nachgereicht_am" label="Nachreichung Am" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht_am" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -128,8 +128,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#datum" />
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#datumhochgeladen" />
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht" />
<treecell src="../skin/images/rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden^.png" label="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht_am" />
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#infotext" />
<treecell src="../skin/images/rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden^.png"/>
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#akte_id" />
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#titel_intern" />
<treecell label="rdf:http://www.technikum-wien.at/dokument/rdf#anmerkung_intern" />
@@ -156,7 +156,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<spaver flex="4" />
</vbox>
<groupbox flex="3">
<groupbox flex="2">
<caption label="Akzeptiert"/>
<tree id="interessent-dokumente-tree-abgegeben" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/dokumentprestudent/liste"
@@ -168,10 +168,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
>
<treecols>
<treecol id="interessent-dokumente-tree-abgegeben-bezeichnung" label="Dokument" flex="1" primary="false"
class="sortDirectionIndicator"
class="sortDirectionIndicator" sortActive="true" sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#bezeichnung" onclick="InteressentDokumenteAbgegebenTreeSort()" />
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-datum" label="Datum" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-abgegeben-datum" label="Akzeptiertdatum" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#datum_iso" onclick="InteressentDokumenteAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -179,7 +179,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#datumhochgeladen" onclick="InteressentDokumenteAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-mitarbeiter_uid" label="akzeptiert von" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-abgegeben-mitarbeiter_uid" label="Akzeptiert von" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#mitarbeiter_uid" onclick="InteressentDokumenteAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -195,15 +195,11 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#nachgereicht" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-infotext" label="Infotext" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-abgegeben-infotext" label="Infotext" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#infotext" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-vorhanden" label="vorhanden" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-akte_id" label="akte_id" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-abgegeben-akte_id" label="Akte ID" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#akte_id" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -211,7 +207,11 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#titel_intern" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-anmerkung_intern" label="anmerkung_intern" flex="1" hidden="true"
<treecol id="interessent-dokumente-tree-abgegeben-vorhanden" label="Vorhanden" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#vorhanden" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="interessent-dokumente-tree-abgegeben-anmerkung_intern" label="Anmerkung intern" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/dokument/rdf#anmerkung_intern" onclick="InteressentDokumenteNichtAbgegebenTreeSort()"/>
<splitter class="tree-splitter"/>
@@ -234,9 +234,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#prestudent_id" />
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#nachgereicht" />
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#infotext" />
<treecell src="../skin/images/rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#vorhanden^.png"/>
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#akte_id" />
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#titel_intern" />
<treecell src="../skin/images/rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#vorhanden^.png"/>
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#anmerkung_intern" />
<treecell label="rdf:http://www.technikum-wien.at/dokumentprestudent/rdf#nachgereicht_am" />
</treerow>
+2
View File
@@ -2199,6 +2199,8 @@ if(!$error)
$akte->anmerkung_intern = $_POST['anmerkung_intern'];
$akte->titel_intern = $_POST['titel_intern'];
$akte->dokument_kurzbz = $_POST['dokument_kurzbz'];
$akte->updateamum = date('Y-m-d H:i:s');
$akte->updatevon = $user;
if(!$akte->save())
{
+5 -3
View File
@@ -52,8 +52,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-detail-checkbox-new" checked="true" />
<label value="Person_id"/>
<textbox id="student-detail-textbox-person_id" disabled="true"/>
</vbox>
<vbox flex="1">
<groupbox id="student-detail-groupbox-person">
@@ -68,6 +66,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Person ID" control="student-detail-textbox-person_id"/>
<hbox><textbox id="student-detail-textbox-person_id" readonly="true" maxlength="16" size="16"/></hbox>
</row>
<row>
<label value="Anrede" control="student-detail-textbox-anrede"/>
<hbox><textbox id="student-detail-textbox-anrede" disabled="true" maxlength="16" size="16"/></hbox>
@@ -534,7 +536,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bestaetigt_Am" />
<splitter class="tree-splitter"/>
<treecol id="student-prestudent-tree-rolle-bewerbung_abgeschicktamum" label="AbgeschicktAm" flex="1" hidden="true" persist="hidden, width, ordinal"
<treecol id="student-prestudent-tree-rolle-bewerbung_abgeschicktamum" label="AbgeschicktAm" flex="1" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#bewerbung_abgeschicktamum" />
<splitter class="tree-splitter"/>
+6 -1
View File
@@ -133,10 +133,14 @@ else
echo '<menuitem id="'.$id.'" label="'.$label.'" oncommand="'.$command.'" disabled="false" tooltiptext="Status ändern auf '.$status_kurzbz.'" hidden="true"/>';
}
}
function sortGruende($a, $b)
{
return strcasecmp($a['bezeichnung'], $b['bezeichnung']);
}
// Statusgruende laden
$statusgrund = new statusgrund();
$statusgrund->getAll(true);
$gruende=array();
$gruende = array();
foreach($statusgrund->result as $row)
{
$gruende[$row->status_kurzbz][] = array(
@@ -144,6 +148,7 @@ else
'bezeichnung'=>$row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE],
'beschreibung'=>$row->beschreibung[DEFAULT_LANGUAGE]
);
usort($gruende[$row->status_kurzbz], "sortGruende");
}
printStatuswechselMenuitem($gruende, 'Abbrecher', 'student-toolbar-abbrecher', 'Abbrecher', "StudentAddRolle('Abbrecher','0',undefined,'STATUSGRUNDID')");
+9 -4
View File
@@ -18,11 +18,16 @@ $this->phrasen['mailverteiler/fehlerBeimLadenDerStudenten']='Fehler beim Laden d
$this->phrasen['mailverteiler/mailverteiler']='Mailverteiler';
$this->phrasen['mailverteiler/oeffnenEinesVerteilers']='Öffnen eines Mailverteilers';
$this->phrasen['mailverteiler/status']='Status';
$this->phrasen['mailverteiler/geoeffnet']='Geöffnet';
$this->phrasen['mailverteiler/geoeffnet']='Mailverteiler "%1$s" geöffnet.';
$this->phrasen['mailverteiler/klickenZumSchicken']='Um ein Mail an den Verteiler zu senden klicken Sie bitte auf den angezeigten Link. Ihr Mailprogramm öffnet automatisch eine Vorlage für ein neues Mail, welche bereits die korrekte Adresse enthält.';
$this->phrasen['mailverteiler/infoBenutzung']='Das Senden ist für den Zeitraum von <b>2 Stunden</b> bzw. für die <b>einmalige</b> Benutzung unter der Adresse <a href="mailto:%1$s">%1$s</a> möglich.';
$this->phrasen['mailverteiler/bestaetigeOeffnen']='Bitte bestätigen Sie das Öffnen des Verteilers %1$s';
$this->phrasen['mailverteiler/infoBenutzung']='Das Senden ist für den Zeitraum von <b>1 Stunde</b> möglich.<br>
<div style="color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; border-radius: 4px; border: 1px solid transparent; padding: 6px 12px;">
Falls Sie die generierte Mailadresse manuell in Ihr Mailprogramm kopieren, achten Sie bitte darauf, diese als <b>BCC</b> (Blind Copy) einzugeben!
</div>';
$this->phrasen['mailverteiler/bestaetigeOeffnen']='Um außerhalb des FHTW-Netzwerks eine E-Mail an einen gesperrten Verteiler schicken zu können,
klicken Sie bitte auf "Verteiler generieren". <br>Der generierte Verteiler ist daraufhin für den Zeitraum von <b>einer Stunde</b> erreichbar';
$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/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';
?>
+10 -6
View File
@@ -16,13 +16,17 @@ $this->phrasen['mailverteiler/studentenverteiler']='Students mailing list';
$this->phrasen['mailverteiler/keineVerteilerVorhanden']='No mailing list is existing';
$this->phrasen['mailverteiler/fehlerBeimLadenDerStudenten']='Error: Loading Students';
$this->phrasen['mailverteiler/mailverteiler']='Mailing list';
$this->phrasen['mailverteiler/oeffnenEinesVerteilers']='Unlock a Mailing list';
$this->phrasen['mailverteiler/oeffnenEinesVerteilers']='Unlock a mailing list';
$this->phrasen['mailverteiler/status']='Status';
$this->phrasen['mailverteiler/geoeffnet']='Unlocked';
$this->phrasen['mailverteiler/klickenZumSchicken']='To send a Mail to this List click on the link above.';
$this->phrasen['mailverteiler/infoBenutzung']='You can use the Mailinglist during a period of <b>2 hours</b> or a <b>single</b> Usage under the adress <a href="mailto:%1$s">%1$s</a>.';
$this->phrasen['mailverteiler/bestaetigeOeffnen']='Please confirm to unlock the Mailing list %1$s';
$this->phrasen['mailverteiler/geoeffnet']='Mailing list "%1$s" unlocked';
$this->phrasen['mailverteiler/klickenZumSchicken']='To send an E-Mail to this list click on the link above.';
$this->phrasen['mailverteiler/infoBenutzung']='You can use the mailing list during a period of <b>1 hour</b>.<br>
<div style="color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; border-radius: 4px; border: 1px solid transparent; padding: 6px 12px;">
If you copy the E-Mail adress manually to your mail client, please mind to set it as <b>BCC</b> (Blind Copy)!
</div>';
$this->phrasen['mailverteiler/bestaetigeOeffnen']='For sending an E-Mail from an external account, click the button. The mailing list will then be available for <b>1 hour</b>';
$this->phrasen['mailverteiler/bestaetige']='Confirm';
$this->phrasen['mailverteiler/personenImVerteiler']='People in this mailing list';
$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Failed to open mailing list. Please inform your administrator.';
$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>';
?>
+1 -1
View File
@@ -100,7 +100,7 @@ foreach ($dok->result as $row)
<RDF:li>
<RDF:Description id="'.$row->dokument_kurzbz.'/'.$a->akte_id.'" about="'.$rdf_url.'/'.$row->dokument_kurzbz.'/'.$a->akte_id.'" >
<DOKUMENT:dokument_kurzbz><![CDATA['.$row->dokument_kurzbz.']]></DOKUMENT:dokument_kurzbz>
<DOKUMENT:bezeichnung><![CDATA['.($row->dokument_kurzbz=='Sonst' && $a->titel_intern!==''?$row->bezeichnung.' ('.$a->titel_intern.')':$row->bezeichnung).']]></DOKUMENT:bezeichnung>
<DOKUMENT:bezeichnung><![CDATA['.($a->titel_intern!=''?$row->bezeichnung.' ('.$a->titel_intern.')':$row->bezeichnung).']]></DOKUMENT:bezeichnung>
<DOKUMENT:datum><![CDATA['.$datum.']]></DOKUMENT:datum>
<DOKUMENT:datumhochgeladen>'.$datumhochgeladen.'</DOKUMENT:datumhochgeladen>
<DOKUMENT:nachgereicht><![CDATA['.$nachgereicht.']]></DOKUMENT:nachgereicht>
Regular → Executable
+16 -1
View File
@@ -860,6 +860,7 @@ if ($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berech
// End extensions
//---------------------------------------------------------------------------------------------------------------------
// Tabellen fuer Person Log
if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1"))
{
$qry = "CREATE TABLE system.tbl_log
@@ -910,6 +911,20 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1"))
echo ' system.tbl_log hinzugefügt<br>';
}
// Add index to system.tbl_log
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_log_person_id'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE INDEX idx_tbl_log_person_id ON system.tbl_log USING btree (person_id)";
if (! $db->db_query($qry))
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Index fuer system.tbl_log hinzugefuegt';
}
}
//---------------------------------------------------------------------------------------------------------------------
// Start filters
@@ -1822,7 +1837,7 @@ if(!@$db->db_query("SELECT oe_kurzbz FROM campus.tbl_dms_kategorie LIMIT 1"))
{
$qry = "ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN oe_kurzbz varchar(32);
ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN berechtigung_kurzbz varchar(32);
ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_berechtigung_kurzbz FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung(berechtigung_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
";
+250 -230
View File
@@ -1,230 +1,250 @@
<?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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
*/
/**
* Seite zur Wartung der Ampeln
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/ampel.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/datum.class.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/ampel'))
die($rechte->errormsg);
$datum_obj = new datum();
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ampel - Details</title>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/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">
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd.mm.yy',
});
});
</script>
</head>
<body>
<?php
$action = (isset($_GET['action'])?$_GET['action']:'new');
$ampel_id = (isset($_REQUEST['ampel_id'])?$_REQUEST['ampel_id']:'');
$ampel = new ampel();
if($action=='save')
{
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:die('Kurzbz fehlt'));
$beschreibung = '';
$buttontext = '';
foreach ($_POST as $key=>$value)
{
if(mb_strstr($key,'beschreibung'))
{
$idx = mb_substr($key, mb_strlen('beschreibung'));
$beschreibung[$idx] = $value;
}
elseif(mb_strstr($key,'buttontext'))
{
$idx = mb_substr($key, mb_strlen('buttontext'));
$buttontext[$idx] = $value;
}
}
$benutzer_select = (isset($_POST['benutzer_select'])?$_POST['benutzer_select']:die('Benutzer_select fehlt'));
$deadline = (isset($_POST['deadline'])?$_POST['deadline']:die('Deadline fehlt'));
$vorlaufzeit = (isset($_POST['vorlaufzeit'])?$_POST['vorlaufzeit']:die('Vorlaufzeit fehlt'));
$verfallszeit = (isset($_POST['verfallszeit'])?$_POST['verfallszeit']:die('verfallszeit fehlt'));
$email = isset($_POST['email']);
$verpflichtend = isset($_POST['verpflichtend']);
$new = (isset($_POST['new'])?$_POST['new']:'true');
if($new=='true')
{
$ampel->insertamum=date('Y-m-d H:i:s');
$ampel->insertvon = $user;
$ampel->new = true;
}
else
{
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
$ampel->new=false;
}
$ampel->kurzbz=$kurzbz;
$ampel->beschreibung = $beschreibung;
$ampel->benutzer_select = $benutzer_select;
$ampel->deadline = $datum_obj->formatDatum($deadline,'Y-m-d');
$ampel->vorlaufzeit = $vorlaufzeit;
$ampel->verfallszeit = $verfallszeit;
$ampel->email = $email;
$ampel->verpflichtend = $verpflichtend;
$ampel->buttontext = $buttontext;
$ampel->updateamum = date('Y-m-d H:i:s');
$ampel->updatevon = $user;
if($ampel->save())
{
echo '<span class="ok">Daten erfolgreich gespeichert</span>';
echo "<script type='text/javascript'>\n";
echo " parent.uebersicht_ampel.location.href='ampel_uebersicht.php';";
echo "</script>\n";
$action='update';
$ampel_id = $ampel->ampel_id;
}
else
{
$action='new';
echo '<span class="error">'.$ampel->errormsg.'</span>';
}
}
echo '<fieldset>';
switch($action)
{
case 'new':
echo '<legend>Neu</legend>';
$new = 'true';
break;
case 'update':
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
echo "<legend>Bearbeiten von ID $ampel_id</legend>";
$new = 'false';
break;
case 'copy':
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
echo "<legend>Kopieren von ID $ampel_id</legend>";
$new = 'true';
$ampel->ampel_id='';
break;
default:
die('Invalid Action');
break;
}
echo '<form action="'.$_SERVER['PHP_SELF'].'?action=save" method="POST">
<input type="hidden" name="new" value="'.htmlspecialchars($new).'">
<input type="hidden" name="ampel_id" value="'.htmlspecialchars($ampel->ampel_id).'">
<table>
<tr>
<td>Kurzbz (64)</td>
<td><input type="text" name="kurzbz" size="60" maxlength="64" value="'.htmlspecialchars($ampel->kurzbz).'" required></td>
<td></td>
<td>Deadline</td>
<td><input type="text" class="datepicker_datum" name="deadline" size="10" maxlength="10" value="'.htmlspecialchars($datum_obj->formatDatum($ampel->deadline,'d.m.Y')).'" required></td>
</tr>
<tr valign="top">
<td rowspan="3">Benutzer Select</td>
<td rowspan="3"><textarea name="benutzer_select" cols="60" rows="5" required>'.htmlspecialchars($ampel->benutzer_select).'</textarea></td>
<td></td>
<td valign="middle">Vorlaufzeit (in Tagen)</td>
<td valign="middle"><input type="text" name="vorlaufzeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->vorlaufzeit).'"></td>
</tr>
<tr valign="top">
<td></td>
<td>Verfallszeit (in Tagen)</td>
<td><input type="text" name="verfallszeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->verfallszeit).'"></td>
</tr>
<tr valign="top">
<td></td>
<td>Erinnerung per Email</td>
<td><input type="checkbox" name="email" '.($db->db_parse_bool($ampel->email)?'checked':'').'></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td>Verpflichtend</td>
<td><input type="checkbox" name="verpflichtend" '.($db->db_parse_bool($ampel->verpflichtend)?'checked':'').'></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>Beschreibung</td>
<td>&nbsp;</td>
<td>Buttonbeschriftung (64)</td>
<td>&nbsp;</td>
</tr>';
$sprache = new sprache();
$sprache->getAll(null, 'index');
foreach($sprache->result as $lang)
{
echo '
<tr valign="top">
<td>'.$lang->sprache.'</td>
<td><textarea name="beschreibung'.$lang->sprache.'" cols="60" rows="5">'.htmlspecialchars((isset($ampel->beschreibung[$lang->sprache])?$ampel->beschreibung[$lang->sprache]:'')).'</textarea></td>
<td></td>
<td colspan="2"><input size="70" maxlength="64" name="buttontext'.$lang->sprache.'" value="'.htmlspecialchars((isset($ampel->buttontext[$lang->sprache])?$ampel->buttontext[$lang->sprache]:'')).'"></td>
</tr>';
}
echo '
<tr valign="bottom">
<td colspan="5"><input type="submit" value="Speichern" name="save"></td>
</tr>
</table></form>';
echo '</fieldset>';
?>
</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: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Cristina Hainberger <hainberg@technikum-wien.at>
*/
/**
* Seite zur Wartung der Ampeln
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/ampel.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/datum.class.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/ampel'))
die($rechte->errormsg);
$datum_obj = new datum();
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ampel - Details</title>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../vendor/fortawesome/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
<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="../../vendor/components/jquery/jquery.min.js"></script>
<script type="text/javascript" src="../../vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd.mm.yy',
});
});
</script>
<style>
/*remove input type="date" arrows*/
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-outer-spin-button {
-webkit-appearance: none;
}
</style>
</head>
<body>
<?php
$action = (isset($_GET['action'])?$_GET['action']:'new');
$ampel_id = (isset($_REQUEST['ampel_id'])?$_REQUEST['ampel_id']:'');
$ampel = new ampel();
if($action=='save')
{
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:die('Kurzbz fehlt'));
$beschreibung = '';
$buttontext = '';
foreach ($_POST as $key=>$value)
{
if(mb_strstr($key,'beschreibung'))
{
$idx = mb_substr($key, mb_strlen('beschreibung'));
$beschreibung[$idx] = $value;
}
elseif(mb_strstr($key,'buttontext'))
{
$idx = mb_substr($key, mb_strlen('buttontext'));
$buttontext[$idx] = $value;
}
}
$benutzer_select = (isset($_POST['benutzer_select'])?$_POST['benutzer_select']:die('Benutzer_select fehlt'));
$deadline = (isset($_POST['deadline'])?$_POST['deadline']:die('Deadline fehlt'));
$vorlaufzeit = (isset($_POST['vorlaufzeit'])?$_POST['vorlaufzeit']:die('Vorlaufzeit fehlt'));
$verfallszeit = (isset($_POST['verfallszeit'])?$_POST['verfallszeit']:die('verfallszeit fehlt'));
$email = isset($_POST['email']);
$verpflichtend = isset($_POST['verpflichtend']);
$new = (isset($_POST['new'])?$_POST['new']:'true');
if($new=='true')
{
$ampel->insertamum=date('Y-m-d H:i:s');
$ampel->insertvon = $user;
$ampel->new = true;
}
else
{
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
$ampel->new=false;
}
$ampel->kurzbz=$kurzbz;
$ampel->beschreibung = $beschreibung;
$ampel->benutzer_select = $benutzer_select;
$ampel->deadline = $datum_obj->formatDatum($deadline,'Y-m-d');
$ampel->vorlaufzeit = $vorlaufzeit;
$ampel->verfallszeit = $verfallszeit;
$ampel->email = $email;
$ampel->verpflichtend = $verpflichtend;
$ampel->buttontext = $buttontext;
$ampel->updateamum = date('Y-m-d H:i:s');
$ampel->updatevon = $user;
if($ampel->save())
{
echo '<span class="ok">Daten erfolgreich gespeichert</span>';
echo "<script type='text/javascript'>\n";
echo " parent.uebersicht_ampel.location.href='ampel_uebersicht.php';";
echo "</script>\n";
$action='update';
$ampel_id = $ampel->ampel_id;
}
else
{
$action='new';
echo '<span class="error">'.$ampel->errormsg.'</span>';
}
}
echo '<fieldset>';
switch($action)
{
case 'new':
echo '<legend>Neu</legend>';
$new = 'true';
break;
case 'update':
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
echo "<legend>Bearbeiten von ID $ampel_id</legend>";
$new = 'false';
break;
case 'copy':
if(!$ampel->load($ampel_id))
die($ampel->errormsg);
echo "<legend>Kopieren von ID $ampel_id</legend>";
$new = 'true';
$ampel->ampel_id='';
break;
default:
die('Invalid Action');
break;
}
echo '<form action="'.$_SERVER['PHP_SELF'].'?action=save" method="POST">
<input type="hidden" name="new" value="'.htmlspecialchars($new).'">
<input type="hidden" name="ampel_id" value="'.htmlspecialchars($ampel->ampel_id).'">
<table>
<tr>
<td>Kurzbz (64)</td>
<td><input type="text" name="kurzbz" size="60" maxlength="64" value="'.htmlspecialchars($ampel->kurzbz).'" required></td>
<td></td>
<td>Deadline&nbsp
<i class="fa fa-info-circle fa-lg" aria-hidden="true" data-toggle="tooltip" data-placement="left" title="Die Deadline gibt den Tag an, ab dem die Ampel von gelb auf rot gesetzt wird."></i>
</td>
<td><input type="date" name="deadline" size="10" maxlength="10" value="'.htmlspecialchars($datum_obj->formatDatum($ampel->deadline,'Y-m-d')).'" required></td>
</tr>
<tr valign="top">
<td rowspan="3">Benutzer Select</td>
<td rowspan="3"><textarea name="benutzer_select" cols="60" rows="5" required>'.htmlspecialchars($ampel->benutzer_select).'</textarea></td>
<td></td>
<td valign="middle">Vorlaufzeit (in Tagen)&nbsp
<i class="fa fa-info-circle fa-lg" aria-hidden="true" data-toggle="tooltip" data-placement="left" title="Anzahl der Tage VOR der Deadline, an denen die Ampel gezeigt werden soll.&#013Wenn keine Angabe, dann wird die Ampel gleich nach ihrer Erstellung angezeigt."></i>
</td>
<td valign="middle"><input type="text" name="vorlaufzeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->vorlaufzeit).'"></td>
</tr>
<tr valign="top">
<td></td>
<td>Verfallszeit (in Tagen)&nbsp
<i class="fa fa-info-circle fa-lg" aria-hidden="true" data-toggle="tooltip" data-placement="left" title="Anzahl der Tage NACH der Deadline, an denen die Ampel gezeigt werden soll.&#013Wenn keine Angabe, dann wird die Ampel solange angezeigt, bis sie bestätigt wird."></i>
</td>
<td><input type="text" name="verfallszeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->verfallszeit).'"></td>
</tr>
<tr valign="top">
<td></td>
<td>Erinnerung per Email</td>
<td><input type="checkbox" name="email" '.($db->db_parse_bool($ampel->email)?'checked':'').'></td>
</tr>
<tr valign="top">
<td></td>
<td></td>
<td></td>
<td>Verpflichtend</td>
<td><input type="checkbox" name="verpflichtend" '.($db->db_parse_bool($ampel->verpflichtend)?'checked':'').'></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>Beschreibung</td>
<td>&nbsp;</td>
<td>Buttonbeschriftung (64)</td>
<td>&nbsp;</td>
</tr>';
$sprache = new sprache();
$sprache->getAll(null, 'index');
foreach($sprache->result as $lang)
{
//only show languages which are set true
if ($lang->content == true)
{
echo '
<tr valign="top">
<td>'.$lang->sprache.'</td>
<td><textarea name="beschreibung'.$lang->sprache.'" cols="60" rows="5">'.htmlspecialchars((isset($ampel->beschreibung[$lang->sprache])?$ampel->beschreibung[$lang->sprache]:'')).'</textarea></td>
<td></td>
<td colspan="2"><input size="70" maxlength="64" name="buttontext'.$lang->sprache.'" value="'.htmlspecialchars((isset($ampel->buttontext[$lang->sprache])?$ampel->buttontext[$lang->sprache]:'')).'"></td>
</tr>';
}
}
echo '
<tr valign="bottom">
<td colspan="5"><input type="submit" value="Speichern" name="save"></td>
</tr>
</table></form>';
echo '</fieldset>';
?>
</body>
</html>
@@ -434,9 +434,15 @@ if($berechtigung_kurzbz != '')
$user_rolleberechtigung->getBenutzerFromRolle($row->rolle_kurzbz);
}
$htmlstr .= "<h3>".$berechtigung_kurzbz."</h3>\n";
// Anzahl uniquer UIDs ermitteln
$berechtigungen_array_uids = array_map(function ($each)
{
return $each['uid'];
}, $berechtigungen_array);
$htmlstr .= "<h3>".$berechtigung_kurzbz."</h3>\n";
$htmlstr .= "<div style='font-size: 9pt'>".count($berechtigungen_array)." Einträge</div>";
$htmlstr .= "<div style='font-size: 9pt'>".count(array_unique(array_column($berechtigungen_array, 'uid')))." UIDs</div>";
$htmlstr .= "<div style='font-size: 9pt'>".count(array_unique($berechtigungen_array_uids))." UIDs</div>";
$htmlstr .= "<table id='t2' class='tablesorter'><thead><tr>\n";
$htmlstr .= " <th>Nachname</th>
<th>Vorname</th>