mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-18 12:39:29 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
+63
-5
@@ -7,7 +7,20 @@ require_once('../include/phrasen.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
?>
|
||||
<script src="../include/js/jquery.min.1.11.1.js"></script>
|
||||
<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
$('#ampel_div').html('');
|
||||
});
|
||||
function hide_ampel_div()
|
||||
{
|
||||
document.getElementById("ampel_div").style.display="none";
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
if(is_user_logged_in())
|
||||
{
|
||||
$user = get_uid();
|
||||
@@ -16,6 +29,7 @@ if(is_user_logged_in())
|
||||
$ampel->loadUserAmpel($user);
|
||||
$rot=0;
|
||||
$gelb=0;
|
||||
$verpflichtend = false;
|
||||
$datum = new datum();
|
||||
foreach($ampel->result as $row)
|
||||
{
|
||||
@@ -23,16 +37,19 @@ if(is_user_logged_in())
|
||||
$vlz = "-".$row->vorlaufzeit." day";
|
||||
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
|
||||
$ts_now = $datum->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
if($ts_deadline < $ts_now)
|
||||
{
|
||||
$rot++;
|
||||
if ($row->verpflichtend == 't')
|
||||
$verpflichtend = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
|
||||
{
|
||||
$gelb++;
|
||||
if ($row->verpflichtend == 't')
|
||||
$verpflichtend = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -41,12 +58,53 @@ if(is_user_logged_in())
|
||||
|
||||
if($rot>0 || $gelb>0)
|
||||
{
|
||||
echo '';
|
||||
if($rot>0 && $gelb==0)
|
||||
// Wenn es eine verpflichtende Ampel gibt, das Pupup im CIS anzeigen
|
||||
if ($verpflichtend == true)
|
||||
{
|
||||
echo ' <script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
var html_content = \'<iframe src="'.APP_ROOT.'cis/private/tools/ampelverwaltung.php" name="ampel" frameborder="0" width="95%" height="95%"></iframe><button id="close_button" onclick="hide_ampel_div()">Close</button>\';
|
||||
$("#ampel_div").html(html_content);
|
||||
});
|
||||
</script>';
|
||||
|
||||
echo ' <style type="text/css">
|
||||
#ampel_div
|
||||
{
|
||||
position:absolute;
|
||||
top: 20%;
|
||||
left: 15%;
|
||||
width: 70%;
|
||||
height: 60%;
|
||||
z-index: 1003;
|
||||
background-color: #fefefe;
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
padding-top: 20px;
|
||||
border: 3px solid black;
|
||||
-webkit-box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
|
||||
-moz-box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
|
||||
box-shadow: 0px 0px 0px 2000px rgba(0,0,0,0.47);
|
||||
-webkit-animation-name: animatetop;
|
||||
-webkit-animation-duration: 0.4s;
|
||||
animation-name: animatetop;
|
||||
animation-duration: 0.4s
|
||||
}
|
||||
#close_button
|
||||
{
|
||||
position: relative;
|
||||
top: 5px;
|
||||
font-size: 150%;
|
||||
height: 50px;
|
||||
width: 100%;
|
||||
}
|
||||
</style>';
|
||||
}
|
||||
if($rot>0)
|
||||
echo '<a href="private/tools/ampelverwaltung.php" target="content" title="'.$p->t("tools/ampelsystem").'"><span style="color: red;">'.$p->t("tools/ampelsystem").'</span></a> <span style="color: #A5AFB6">|</span> ';
|
||||
if($gelb>0 && $rot==0)
|
||||
elseif($gelb>0)
|
||||
echo '<a href="private/tools/ampelverwaltung.php" target="content" title="'.$p->t("tools/ampelsystem").'"><span style="color: orange;">'.$p->t("tools/ampelsystem").'</span></a> <span style="color: #A5AFB6">|</span> ';
|
||||
echo ' ';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+9
-7
@@ -159,7 +159,7 @@ function loadampel()
|
||||
<tr>
|
||||
<td class="rand"></td>
|
||||
<td class="boxshadow">
|
||||
<table cellspacing="0" cellpadding="0" class="header">
|
||||
<table cellspacing="0" cellpadding="0" class="header" style="position: relative">
|
||||
<tr>
|
||||
<td valign="top" align="left" style="background-image: url(<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/header.png'; ?>); background-position: top; background-repeat: repeat-x;">
|
||||
<a href="index.php"><img class="header_logo" src="<?php echo APP_ROOT.'skin/styles/'.DEFAULT_STYLE.'/logo_250x130.png'; ?>" alt="logo"></a>
|
||||
@@ -192,12 +192,14 @@ function loadampel()
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" align="left">
|
||||
<iframe id="menue" src="<?php echo $db->convert_html_chars($menu); ?>" name="menu" frameborder="0">
|
||||
No iFrames
|
||||
</iframe>
|
||||
<iframe id="content" src="<?php echo $db->convert_html_chars($content); ?>" name="content" frameborder="0">
|
||||
No iFrames
|
||||
</iframe>
|
||||
|
||||
<iframe id="menue" src="<?php echo $db->convert_html_chars($menu); ?>" name="menu" frameborder="0">
|
||||
No iFrames
|
||||
</iframe>
|
||||
<iframe id="content" src="<?php echo $db->convert_html_chars($content); ?>" name="content" frameborder="0">
|
||||
No iFrames
|
||||
</iframe>
|
||||
<div id="ampel_div"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 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 >
|
||||
* Manfred Kindl < manfred.kindl@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/firma.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
//$rechte = new benutzerberechtigung();
|
||||
//$rechte->getBerechtigungen($user);
|
||||
|
||||
//if(!$rechte->isBerechtigt('basis/service'))
|
||||
// die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>'.$p->t("services/service").'</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
|
||||
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#myTable").tablesorter(
|
||||
{
|
||||
sortList: [[0,0]],
|
||||
widgets: [\'zebra\']
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
function ContentPopUp (Adresse)
|
||||
{
|
||||
Content = window.open(Adresse, "Content", "width=800,height=500,scrollbars=yes");
|
||||
Content.focus();
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>'.$p->t("tools/partnerhochschulenUebersicht").'</h1>';
|
||||
|
||||
$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'');
|
||||
|
||||
$firma = new firma();
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
||||
echo $p->t("global/studiengang").': ';
|
||||
echo '<SELECT onchange="this.form.submit()" name="stg_kz">
|
||||
<OPTION value="">-- '.$p->t("global/alle").' --</OPTION>';
|
||||
|
||||
$studiengaenge = new studiengang();
|
||||
$studiengaenge->getAll('typ,kurzbz',true);
|
||||
$typ = '';
|
||||
$types = new studiengang();
|
||||
$types->getAllTypes();
|
||||
foreach($studiengaenge->result as $row)
|
||||
{
|
||||
if ($typ != $row->typ || $typ=='')
|
||||
{
|
||||
if ($typ!='')
|
||||
echo '</optgroup>';
|
||||
echo '<optgroup label="'.($types->studiengang_typ_arr[$row->typ]!=''?$types->studiengang_typ_arr[$row->typ]:$row->typ).'">';
|
||||
}
|
||||
if($row->studiengang_kz==$stg_kz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' ('.$row->bezeichnung_arr[$sprache].')</OPTION>';
|
||||
$typ = $row->typ;
|
||||
}
|
||||
echo '</SELECT>
|
||||
<input type="submit" value="'.$p->t("services/filtern").'" />
|
||||
</form>';
|
||||
|
||||
if($stg_kz!='')
|
||||
{
|
||||
$studiengaenge->load($stg_kz);
|
||||
$firma->get_firmaorganisationseinheit('', $studiengaenge->oe_kurzbz);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$firma->getFirmen('Partneruniversität', true))
|
||||
die($firma->errormsg);
|
||||
}
|
||||
if ($firma->result)
|
||||
{
|
||||
echo '<table class="tablesorter" id="myTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<!--<th>'.$p->t("global/organisationseinheit").'</th>-->
|
||||
<th>'.$p->t("global/bezeichnung").'</th>
|
||||
<!--<th>'.$p->t("services/leistung").'</th>
|
||||
<th>'.$p->t("services/details").'</th>-->
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
|
||||
foreach($firma->result as $row)
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td>',$row->name,'</td>';
|
||||
/*echo '<td>'.($row->content_id!=''?'<a href="../../../cms/content.php?content_id='.$row->content_id.'">'.$row->bezeichnung.'</a>':$row->bezeichnung).'</td>';
|
||||
echo '<td>',$row->beschreibung,'</td>';
|
||||
echo '<td>'.($row->content_id!=''?'<a href="../../../cms/content.php?content_id='.$row->content_id.'">Details</a>':'').'</td>';*/
|
||||
echo '</tr>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<p style="padding:20px;"><b>Kein Eintrag vorhanden</b></p>';
|
||||
}
|
||||
echo '</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>';
|
||||
?>
|
||||
@@ -27,6 +27,7 @@ require_once('../../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/erhalter.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -156,6 +157,8 @@ $erhalter->getAll();
|
||||
|
||||
$a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW)
|
||||
$anzahl_studierende = 0;
|
||||
$datum = new datum();
|
||||
$zusatz = '';
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
@@ -171,7 +174,7 @@ if($result = $db->db_query($qry))
|
||||
$zusatz='';
|
||||
|
||||
if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing
|
||||
$zusatz.='(o)';
|
||||
$zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')';
|
||||
|
||||
if($row->note==6) //angerechnet
|
||||
$zusatz.='(ar)';
|
||||
|
||||
@@ -99,6 +99,25 @@ if(isset($_POST['ampel_id']))
|
||||
else
|
||||
$ampel_id = '';
|
||||
|
||||
if (isset($_GET['ampel_benutzer_bestaetigt_id']) && isset($_GET['delete']))
|
||||
{
|
||||
if ($rechte->isBerechtigt('admin', null, 'suid'))
|
||||
{
|
||||
$delete_bestaetigung = new ampel();
|
||||
if($delete_bestaetigung->deleteAmpelBenutzer($_GET['ampel_benutzer_bestaetigt_id']))
|
||||
{
|
||||
echo '<span class="ok">Ampelbestaetigung erfolgreich geloescht</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$action='new';
|
||||
echo '<span class="error">'.$delete_bestaetigung->errormsg.'</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<p><a href="ampelverwaltung.php">'.($p->t('tools/ampelsystem')).'</a></p>';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
|
||||
echo $p->t('global/organisationseinheit').': <SELECT name="oe_kurzbz">';
|
||||
echo '<OPTION value="">'.$p->t('global/alle').'</OPTION>';
|
||||
@@ -161,8 +180,10 @@ echo '
|
||||
<th>'.$p->t('global/organisationseinheit').'</th>
|
||||
<th>'.$p->t('tools/ampelBestaetigtAm').'</th>
|
||||
<th>'.$p->t('tools/ampelDeadline').'</th>
|
||||
<th>'.$p->t('tools/ampelRestdauer').'</th>
|
||||
</tr>
|
||||
<th>'.$p->t('tools/ampelRestdauer').'</th>';
|
||||
if ($rechte->isBerechtigt('admin', null, 'suid'))
|
||||
echo '<th>'.$p->t('global/loeschen').'</th>';
|
||||
echo ' </tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
';
|
||||
@@ -228,6 +249,17 @@ foreach($ampel->result as $row)
|
||||
echo '<td></td>';
|
||||
else
|
||||
echo '<td>'.(($ts_deadline-$ts_now)/86400).'</td>';
|
||||
if ($rechte->isBerechtigt('admin', null, 'suid'))
|
||||
{
|
||||
if($bestaetigt)
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?ampel_benutzer_bestaetigt_id='.$row->ampel_benutzer_bestaetigt_id.'&delete" method="POST"><td>
|
||||
<input type="hidden" name="oe_kurzbz" value="'.$_POST['oe_kurzbz'].'">
|
||||
<input type="hidden" name="ampel_id" value="'.$_POST['ampel_id'].'">
|
||||
<button type="submit">'.$p->t('global/loeschen').'</button></td></form>';
|
||||
else
|
||||
echo '<td></td>';
|
||||
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
@@ -25,11 +25,14 @@ require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/benutzerfunktion.class.php');
|
||||
require_once('../../../include/organisationseinheit.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
$show = (isset($_GET['show'])?$_GET['show']:'aktuell');
|
||||
|
||||
//Leiter OEs holen
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getBenutzerFunktionen('Leitung', '', '', $user);
|
||||
@@ -54,6 +57,8 @@ if($rechte->isBerechtigt('basis/ampeluebersicht'))
|
||||
|
||||
array_unique($oes);
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$ss_akt = $studiensemester->getakt();
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
@@ -73,7 +78,8 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
$("#myTable").tablesorter(
|
||||
{
|
||||
sortList: [[0,1],[3,0]],
|
||||
widgets: [\'zebra\']
|
||||
widgets: [\'zebra\'],
|
||||
headers: {1:{sorter:false}}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -86,6 +92,10 @@ if(count($oes)!=0)
|
||||
|
||||
echo '<p>'.$p->t('tools/dasAmpelsystemIstEinErinnerungsystem').'</p>';
|
||||
|
||||
if ($show == 'aktuell')
|
||||
echo '<p><a href="ampelverwaltung.php?show=alle">'.$p->t('tools/ampelAlleAnzeigen').'</a></p>';
|
||||
else
|
||||
echo '<p><a href="ampelverwaltung.php?show=aktuell">'.$p->t('tools/ampelNurAktuellesStudiensemester').'</a></p>';
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
@@ -126,78 +136,135 @@ if($type=='bestaetigen' && is_numeric($ampel_id))
|
||||
echo $message;
|
||||
|
||||
$ampel = new ampel();
|
||||
$ampel->loadUserAmpel($user, true, true);
|
||||
$ampel->loadUserAmpel($user, false, true);
|
||||
|
||||
echo '
|
||||
<table id="myTable" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>'.$p->t('tools/ampelErledigt').'</th>
|
||||
<th></th>
|
||||
<th>'.$p->t('tools/ampelBeschreibung').'</th>
|
||||
<th>'.$p->t('tools/ampelDeadline').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
';
|
||||
$beginn = new studiensemester($ss_akt);
|
||||
|
||||
foreach($ampel->result as $row)
|
||||
{
|
||||
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
|
||||
$vlz = "-".$row->vorlaufzeit." day";
|
||||
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
|
||||
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
|
||||
$ampelstatus='gelb';
|
||||
elseif($ts_now>$ts_deadline)
|
||||
$ampelstatus='rot';
|
||||
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
|
||||
$ampelstatus='gruen';
|
||||
|
||||
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
|
||||
$ampelstatus='';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td align="center">';
|
||||
switch($ampelstatus)
|
||||
//Nur Ampeln laden, die im aktuellen Studiensemester liegen
|
||||
if ($show == 'aktuell' && $row->deadline>=$beginn->start)
|
||||
{
|
||||
case 'rot':
|
||||
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
|
||||
break;
|
||||
case 'gelb':
|
||||
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
|
||||
break;
|
||||
case 'gruen':
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
default:
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
|
||||
$vlz = "-".$row->vorlaufzeit." day";
|
||||
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
|
||||
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
|
||||
$ampelstatus='gelb';
|
||||
elseif($ts_now>$ts_deadline)
|
||||
$ampelstatus='rot';
|
||||
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
|
||||
$ampelstatus='gruen';
|
||||
|
||||
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
|
||||
$ampelstatus='';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align: center; vertical-align: middle">';
|
||||
switch($ampelstatus)
|
||||
{
|
||||
case 'rot':
|
||||
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
|
||||
break;
|
||||
case 'gelb':
|
||||
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
|
||||
break;
|
||||
case 'gruen':
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
default:
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
}
|
||||
echo $status;
|
||||
|
||||
echo '<td align="center">';
|
||||
if(!$bestaetigt)
|
||||
echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen"><button name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button></form>';
|
||||
else
|
||||
echo '<button disabled="disabled" name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button>';
|
||||
echo '</td>';
|
||||
|
||||
echo '</td>';
|
||||
$beschreibung = $row->beschreibung[$sprache];
|
||||
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
|
||||
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
|
||||
echo '<td '.(!$bestaetigt && $row->verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.'</td>';
|
||||
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
|
||||
|
||||
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
|
||||
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
|
||||
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
|
||||
echo '</tr>';
|
||||
}
|
||||
echo $status;
|
||||
elseif ($show == 'alle')
|
||||
{
|
||||
$ts_deadline = $datum_obj->mktime_fromdate($row->deadline);
|
||||
$vlz = "-".$row->vorlaufzeit." day";
|
||||
$ts_vorlaufzeit = strtotime($vlz, $ts_deadline);
|
||||
$ts_now = $datum_obj->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
echo '<td align="center">';
|
||||
if(!$bestaetigt)
|
||||
//echo '<a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen">'.$p->t('tools/ampelBestaetigen').'</a>';
|
||||
echo '<a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen" style="text-decoration: none"><input type="button" value="'.$p->t('tools/ampelErledigt').'"></a>';
|
||||
else
|
||||
//echo $p->t('tools/ampelBestaetigt');
|
||||
//echo '<img src="../../../skin/images/true.png" height="15px">';
|
||||
echo '';
|
||||
echo '</td>';
|
||||
if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline)
|
||||
$ampelstatus='gelb';
|
||||
elseif($ts_now>$ts_deadline)
|
||||
$ampelstatus='rot';
|
||||
elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now)
|
||||
$ampelstatus='gruen';
|
||||
|
||||
if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id))
|
||||
$ampelstatus='';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align: center; vertical-align: middle">';
|
||||
switch($ampelstatus)
|
||||
{
|
||||
case 'rot':
|
||||
$status= '<img name="C" src="../../../skin/images/ampel_rot.png" >';
|
||||
break;
|
||||
case 'gelb':
|
||||
$status= '<img name="B" src="../../../skin/images/ampel_gelb.png" >';
|
||||
break;
|
||||
case 'gruen':
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
default:
|
||||
$status= '<img name="A" src="../../../skin/images/ampel_gruen.png" >';
|
||||
break;
|
||||
}
|
||||
echo $status;
|
||||
|
||||
echo '<td align="center">';
|
||||
if(!$bestaetigt)
|
||||
echo '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen"><button name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button></form>';
|
||||
else
|
||||
echo '<button disabled="disabled" name="type" type="submit">'.($row->buttontext[$sprache]!=''?$row->buttontext[$sprache]:$p->t('tools/ampelErledigt')).'</button>';
|
||||
echo '</td>';
|
||||
|
||||
echo '</td>';
|
||||
$beschreibung = $row->beschreibung[$sprache];
|
||||
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
|
||||
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
|
||||
echo '<td '.(!$bestaetigt && $row->verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.'</td>';
|
||||
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
|
||||
|
||||
echo '</td>';
|
||||
$beschreibung = $row->beschreibung[$sprache];
|
||||
if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE]))
|
||||
$beschreibung = $row->beschreibung[DEFAULT_LANGUAGE];
|
||||
echo '<td>'.$beschreibung.'</td>';
|
||||
echo '<td>'.$datum_obj->formatDatum($row->deadline,'d.m.Y').'</td>';
|
||||
|
||||
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
|
||||
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
|
||||
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
|
||||
echo '</tr>';
|
||||
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
|
||||
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
|
||||
// echo "<td>".date('d.m.Y',$ts_deadline)."</td>";
|
||||
echo '</tr>';
|
||||
}
|
||||
}
|
||||
echo '</tbody></table>';
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
|
||||
$sprachen_obj = new sprache();
|
||||
$sprachen_obj->getAll();
|
||||
$sprachen_arr=array();
|
||||
|
||||
$sprachen_arr['']='';
|
||||
foreach($sprachen_obj->result as $row)
|
||||
{
|
||||
if(isset($row->bezeichnung_arr[$sprache]))
|
||||
@@ -84,6 +84,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
|
||||
$orgform_obj = new organisationsform();
|
||||
$orgform_obj->getAll();
|
||||
$orgform_arr=array();
|
||||
$orgform_arr['']='';
|
||||
foreach($orgform_obj->result as $row)
|
||||
$orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung;
|
||||
|
||||
@@ -329,7 +330,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon
|
||||
$bold='font-weight:bold;';
|
||||
else
|
||||
$bold='';
|
||||
if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK)
|
||||
if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK)
|
||||
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; color:#b2b2b2; $bold'>".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</li>";
|
||||
else
|
||||
$this->block.= "<li style='display:inline-block;white-space: nowrap;padding: 0px; margin:0px; $bold'><a title=\"".$row->bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."</a></li>";
|
||||
|
||||
@@ -46,9 +46,6 @@ class menu_addon_meinelv extends menu_addon
|
||||
//Meine LVs Student
|
||||
if(!$is_lector)
|
||||
{
|
||||
$studiengang_obj = new studiengang();
|
||||
$studiengang_obj->getAll();
|
||||
|
||||
$stsemobj = new studiensemester();
|
||||
|
||||
$stsem_arr=array();
|
||||
@@ -57,10 +54,30 @@ class menu_addon_meinelv extends menu_addon
|
||||
|
||||
foreach($stsem_arr as $stsem)
|
||||
{
|
||||
$qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre,
|
||||
lehreverzeichnis, studiensemester_kurzbz from campus.vw_student_lehrveranstaltung
|
||||
WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz=".$this->db_add_param($stsem)."
|
||||
AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung";
|
||||
$qry = "SELECT
|
||||
distinct
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.kurzbz,
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id,
|
||||
vw_student_lehrveranstaltung.bezeichnung,
|
||||
vw_student_lehrveranstaltung.studiengang_kz,
|
||||
vw_student_lehrveranstaltung.semester,
|
||||
vw_student_lehrveranstaltung.lehre,
|
||||
vw_student_lehrveranstaltung.lehreverzeichnis,
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
uid=".$this->db_add_param($user)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($stsem)."
|
||||
AND lehre=true
|
||||
AND lehreverzeichnis<>''
|
||||
ORDER BY
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.kurzbz,
|
||||
semester,
|
||||
bezeichnung";
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
@@ -88,7 +105,7 @@ class menu_addon_meinelv extends menu_addon
|
||||
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
|
||||
'target'=>'content',
|
||||
'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz,
|
||||
'name'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
|
||||
'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -96,7 +113,6 @@ class menu_addon_meinelv extends menu_addon
|
||||
}
|
||||
else
|
||||
echo "Fehler beim Auslesen der LV";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,11 +133,33 @@ class menu_addon_meinelv extends menu_addon
|
||||
foreach($stsem_arr as $stsem)
|
||||
{
|
||||
$stsementry=array();
|
||||
$qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)."
|
||||
ORDER BY studiengang_kz, semester, bezeichnung";
|
||||
$qry = "SELECT
|
||||
distinct
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.kurzbz,
|
||||
tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_lehrveranstaltung.studiengang_kz,
|
||||
tbl_lehrveranstaltung.semester,
|
||||
tbl_lehrveranstaltung.lehreverzeichnis,
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
tbl_lehrveranstaltung.orgform_kurzbz,
|
||||
tbl_lehreinheit.studiensemester_kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung,
|
||||
lehre.tbl_lehreinheit,
|
||||
lehre.tbl_lehreinheitmitarbeiter,
|
||||
public.tbl_studiengang
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND
|
||||
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
|
||||
mitarbeiter_uid=".$this->db_add_param($user)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)."
|
||||
ORDER BY
|
||||
tbl_studiengang.typ,
|
||||
tbl_studiengang.kurzbz,
|
||||
tbl_lehrveranstaltung.semester,
|
||||
tbl_lehrveranstaltung.bezeichnung";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -147,9 +185,7 @@ class menu_addon_meinelv extends menu_addon
|
||||
}
|
||||
else
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($row->studiengang_kz);
|
||||
$kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz;
|
||||
$kurzbz = strtoupper($row->typ.$row->kurzbz).'-'.$row->semester.' '.$row->orgform_kurzbz;
|
||||
|
||||
$this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache],
|
||||
'target'=>'content',
|
||||
@@ -162,16 +198,6 @@ class menu_addon_meinelv extends menu_addon
|
||||
}
|
||||
else
|
||||
echo "Fehler beim Auslesen des Lehrfaches";
|
||||
/*
|
||||
if(count($stsementry)>0)
|
||||
{
|
||||
$this->items[] = array('title'=>$stsem,
|
||||
'target'=>'',
|
||||
'link'=>'#',
|
||||
'name'=>$stsem,
|
||||
'childs'=>$stsementry
|
||||
);
|
||||
}*/
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+63
-10
@@ -38,6 +38,8 @@ class ampel extends basis_db
|
||||
public $vorlaufzeit; // smallint
|
||||
public $verfallszeit; // smallint
|
||||
public $email; // boolean
|
||||
public $verpflichtend; // boolean
|
||||
public $buttontext; // varchar(64)[]
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // varchar(32)
|
||||
public $updateamum; // timestamp
|
||||
@@ -74,8 +76,9 @@ class ampel extends basis_db
|
||||
|
||||
$sprache = new sprache();
|
||||
$beschreibung = $sprache->getSprachQuery('beschreibung');
|
||||
$buttontext = $sprache->getSprachQuery('buttontext');
|
||||
|
||||
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
|
||||
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -89,6 +92,8 @@ class ampel extends basis_db
|
||||
$this->vorlaufzeit = $row->vorlaufzeit;
|
||||
$this->verfallszeit = $row->verfallszeit;
|
||||
$this->email = $row->email;
|
||||
$this->verpflichtend = $row->verpflichtend;
|
||||
$this->buttontext = $sprache->parseSprachResult('buttontext', $row);
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
@@ -117,8 +122,9 @@ class ampel extends basis_db
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$beschreibung = $sprache->getSprachQuery('beschreibung');
|
||||
$buttontext = $sprache->getSprachQuery('buttontext');
|
||||
|
||||
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
|
||||
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
|
||||
if($aktiv)
|
||||
{
|
||||
$qry .= " WHERE (NOW()>(deadline-(vorlaufzeit || ' days')::interval)::date)";
|
||||
@@ -140,6 +146,8 @@ class ampel extends basis_db
|
||||
$obj->vorlaufzeit = $row->vorlaufzeit;
|
||||
$obj->verfallszeit = $row->verfallszeit;
|
||||
$obj->email = $this->db_parse_bool($row->email);
|
||||
$obj->verpflichtend = $this->db_parse_bool($row->verpflichtend);
|
||||
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
@@ -212,20 +220,21 @@ class ampel extends basis_db
|
||||
|
||||
/**
|
||||
* Laedt alle aktuellen Ampeln eines Users
|
||||
* @param $user
|
||||
* @param $zukuenftige_anzeigen
|
||||
* @param string $user User, dessen Ampeln geladen werden sollen
|
||||
* @param boolean $zukuenftige_anzeigen Default false
|
||||
* wenn true, werden alle zukuenftigen Ampeln geladen
|
||||
* wenn false, werden nur die Ampeln geladen die innerhalb der vorlaufzeit liegen
|
||||
* @param $bestaetigt
|
||||
* @param boolean $bestaetigt Default false
|
||||
* wenn true, werden alle Ampeln geladen
|
||||
* wenn false, werden nur die Ampeln geladen die noch nicht bestaetigt wurden
|
||||
* wenn false, werden nur die Ampeln geladen die noch NICHT bestaetigt wurden
|
||||
*/
|
||||
public function loadUserAmpel($user, $zukuenftige_anzeigen=false, $bestaetigt=false)
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$beschreibung = $sprache->getSprachQuery('beschreibung');
|
||||
$buttontext = $sprache->getSprachQuery('buttontext');
|
||||
|
||||
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
|
||||
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel WHERE deadline+verfallszeit>now()";
|
||||
|
||||
if(!$zukuenftige_anzeigen)
|
||||
$qry.=" AND deadline-vorlaufzeit<now()";
|
||||
@@ -237,7 +246,7 @@ class ampel extends basis_db
|
||||
FROM public.tbl_ampel_benutzer_bestaetigt
|
||||
WHERE uid=".$this->db_add_param($user)." AND ampel_id=tbl_ampel.ampel_id)";
|
||||
}
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -254,6 +263,8 @@ class ampel extends basis_db
|
||||
$obj->vorlaufzeit = $row->vorlaufzeit;
|
||||
$obj->verfallszeit = $row->verfallszeit;
|
||||
$obj->email = $row->email;
|
||||
$obj->verpflichtend = $row->verpflichtend;
|
||||
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
@@ -315,19 +326,28 @@ class ampel extends basis_db
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry.=" beschreibung[$idx],";
|
||||
}
|
||||
foreach($this->buttontext as $key=>$value)
|
||||
{
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry.=" buttontext[$idx],";
|
||||
}
|
||||
|
||||
$qry.=" benutzer_select, deadline,
|
||||
vorlaufzeit, verfallszeit, email, insertamum, insertvon , updateamum, updatevon) VALUES(".
|
||||
vorlaufzeit, verfallszeit, email, verpflichtend, insertamum, insertvon , updateamum, updatevon) VALUES(".
|
||||
$this->db_add_param($this->kurzbz).',';
|
||||
reset($this->beschreibung);
|
||||
foreach($this->beschreibung as $key=>$value)
|
||||
$qry.=$this->db_add_param($value).',';
|
||||
reset($this->buttontext);
|
||||
foreach($this->buttontext as $key=>$value)
|
||||
$qry.=$this->db_add_param($value).',';
|
||||
|
||||
$qry .= $this->db_add_param($this->benutzer_select).','.
|
||||
$this->db_add_param($this->deadline).','.
|
||||
$this->db_add_param($this->vorlaufzeit).','.
|
||||
$this->db_add_param($this->verfallszeit).','.
|
||||
$this->db_add_param($this->email, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).','.
|
||||
$this->db_add_param($this->updateamum).','.
|
||||
@@ -343,12 +363,19 @@ class ampel extends basis_db
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry.=' beschreibung['.$idx.'] = '.$this->db_add_param($value).',';
|
||||
}
|
||||
reset($this->buttontext);
|
||||
foreach($this->buttontext as $key=>$value)
|
||||
{
|
||||
$idx = sprache::$index_arr[$key];
|
||||
$qry.=' buttontext['.$idx.'] = '.$this->db_add_param($value).',';
|
||||
}
|
||||
|
||||
$qry.= ' benutzer_select = '.$this->db_add_param($this->benutzer_select).','.
|
||||
' deadline = '.$this->db_add_param($this->deadline).','.
|
||||
' vorlaufzeit = '.$this->db_add_param($this->vorlaufzeit).','.
|
||||
' verfallszeit = '.$this->db_add_param($this->verfallszeit).','.
|
||||
' email = '.$this->db_add_param($this->email, FHC_BOOLEAN).','.
|
||||
' verpflichtend = '.$this->db_add_param($this->verpflichtend, FHC_BOOLEAN).','.
|
||||
' updateamum ='.$this->db_add_param($this->updateamum).','.
|
||||
' updatevon ='.$this->db_add_param($this->updatevon).
|
||||
' WHERE ampel_id='.$this->db_add_param($this->ampel_id, FHC_INTEGER).';';
|
||||
@@ -414,6 +441,29 @@ class ampel extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht eine Bestaetigung einer Ampel
|
||||
|
||||
* @param $ampel_id
|
||||
*/
|
||||
public function deleteAmpelBenutzer($ampel_benutzer_bestaetigt_id)
|
||||
{
|
||||
if(!is_numeric($ampel_benutzer_bestaetigt_id))
|
||||
{
|
||||
$this->errormsg='ID ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry = "DELETE FROM public.tbl_ampel_benutzer_bestaetigt WHERE ampel_benutzer_bestaetigt_id=".$this->db_add_param($ampel_benutzer_bestaetigt_id);
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Bestaetigung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bestaetigt die Ampel eines Users
|
||||
* @param $user
|
||||
@@ -446,6 +496,7 @@ class ampel extends basis_db
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$beschreibung = $sprache->getSprachQuery('beschreibung');
|
||||
$buttontext = $sprache->getSprachQuery('buttontext');
|
||||
|
||||
if(!is_numeric($ampel_id) && $ampel_id!='')
|
||||
{
|
||||
@@ -454,7 +505,7 @@ class ampel extends basis_db
|
||||
}
|
||||
|
||||
// Ampeln holen
|
||||
$qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel";
|
||||
$qry = "SELECT *,".$beschreibung.", ".$buttontext." FROM public.tbl_ampel";
|
||||
if($ampel_id!='')
|
||||
$qry.=" WHERE ampel_id=".$this->db_add_param($ampel_id, FHC_INTEGER);
|
||||
|
||||
@@ -500,6 +551,8 @@ class ampel extends basis_db
|
||||
$obj->vorlaufzeit = $row->vorlaufzeit;
|
||||
$obj->verfallszeit = $row->verfallszeit;
|
||||
$obj->email = $row->email;
|
||||
$obj->verpflichtend = $row->verpflichtend;
|
||||
$obj->buttontext = $sprache->parseSprachResult('buttontext', $row);
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
|
||||
|
||||
+30
-31
@@ -23,7 +23,7 @@
|
||||
class datum
|
||||
{
|
||||
public $ts_day=86400; // Timestamp eines Tages
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
@@ -103,13 +103,12 @@ class datum
|
||||
*/
|
||||
public function jump_week($datum, $wochen)
|
||||
{
|
||||
$stunde_vor=date("G",$datum);
|
||||
// Eine Woche sind 604800 Sekunden
|
||||
$datum+=604800*$wochen;
|
||||
$stunde_nach=date("G",$datum);
|
||||
if ($stunde_nach!=$stunde_vor)
|
||||
$datum+=3600;
|
||||
return $datum;
|
||||
$days = $wochen * 7;
|
||||
|
||||
$datetime=new DateTime();
|
||||
$datetime->setTimestamp($datum);
|
||||
$datetime->modify($days.' day');
|
||||
return $datetime->format("U");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +158,7 @@ class datum
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
|
||||
* @param $datum1
|
||||
@@ -196,7 +195,7 @@ class datum
|
||||
if($start=='' && $ende!='' && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
if($ende=='' && $start!='' && $datestart<=$dateref)
|
||||
return true;
|
||||
|
||||
@@ -237,7 +236,7 @@ class datum
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
@@ -268,7 +267,7 @@ class datum
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft und Liefert ein Datum im angegeben Format
|
||||
* fuer die Formatierung wird die Funktion formatDatum verwendet
|
||||
@@ -278,9 +277,9 @@ class datum
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
|
||||
|
||||
@list($day, $month, $year) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@@ -293,7 +292,7 @@ class datum
|
||||
@list($year, $month, $day) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
|
||||
if (strlen($datum)==6)
|
||||
{
|
||||
$year="20".substr($datum,0,2);
|
||||
@@ -301,7 +300,7 @@ class datum
|
||||
$day=substr($datum,4,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
}
|
||||
else if (strlen($datum)==8)
|
||||
{
|
||||
$year=substr($datum,0,4);
|
||||
@@ -309,15 +308,15 @@ class datum
|
||||
$day=substr($datum, 6,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
$month=substr($datum,3,2);
|
||||
$day=substr($datum, 0,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -334,18 +333,18 @@ class datum
|
||||
{
|
||||
if(trim($datum)=='')
|
||||
return '';
|
||||
|
||||
|
||||
$ts='';
|
||||
$error=false;
|
||||
|
||||
|
||||
//2008-12-31
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
|
||||
//2008-12-31 12:30
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
|
||||
//2008-12-31 12:30:15
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
@@ -355,20 +354,20 @@ class datum
|
||||
//1.12.2008
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
|
||||
//1.12.2008 12:30
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
|
||||
//1.12.2008 12:30:15
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
|
||||
|
||||
if($ts=='' && !$strict)
|
||||
{
|
||||
$ts = strtotime($datum);
|
||||
|
||||
|
||||
if(!$ts || $ts==-1)
|
||||
{
|
||||
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
|
||||
@@ -378,9 +377,9 @@ class datum
|
||||
|
||||
if($ts!='' && !$error)
|
||||
return date($format, $ts);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -54,7 +54,7 @@ class moodle24_user extends basis_db
|
||||
* Laedt einen Moodle User
|
||||
*
|
||||
* @param $uid
|
||||
* @return boolean
|
||||
* @return boolean oder -1 bei SOAP Fehler
|
||||
*/
|
||||
public function loaduser($uid)
|
||||
{
|
||||
@@ -87,7 +87,7 @@ class moodle24_user extends basis_db
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
|
||||
return false;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,8 +209,9 @@ class moodle24_user extends basis_db
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
@@ -222,29 +223,32 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=3; // 3=Lektor
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
if($retval!==-1)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
|
||||
return false;
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=3; // 3=Lektor
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -369,8 +373,9 @@ class moodle24_user extends basis_db
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_user->student_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_user->student_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_user->student_uid))
|
||||
@@ -382,23 +387,26 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
if($retval!==-1)
|
||||
{
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
|
||||
|
||||
//Student ist noch nicht zugeteilt.
|
||||
//Student ist noch nicht zugeteilt.
|
||||
|
||||
$data = new stdClass();
|
||||
$data->roleid=5; // 5=Teilnehmer/Student
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
$data = new stdClass();
|
||||
$data->roleid=5; // 5=Teilnehmer/Student
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$userstoenroll[]=$data;
|
||||
$userstoenroll[]=$data;
|
||||
|
||||
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
}
|
||||
|
||||
//Gruppenzuteilung
|
||||
@@ -685,8 +693,9 @@ class moodle24_user extends basis_db
|
||||
|
||||
foreach ($users as $row_user)
|
||||
{
|
||||
$retval = $this->loaduser($row_user);
|
||||
//MoodleID des Users holen
|
||||
if(!$this->loaduser($row_user))
|
||||
if($retval!==true)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
|
||||
return false;
|
||||
@@ -825,9 +834,9 @@ class moodle24_user extends basis_db
|
||||
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
@@ -839,29 +848,32 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
if($retval!==-1)
|
||||
{
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
|
||||
try
|
||||
{
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,15 +85,17 @@ class sprache extends basis_db
|
||||
/**
|
||||
*
|
||||
* Lädt alle verfügbaren Sprachen
|
||||
* @param boolean $content Default:null Ist die Sprache relevant fuer die Sprachauswahl
|
||||
* @param string $order Default:sprache Spalte, nach der die Ergebnisse sortiert werden
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
|
||||
*/
|
||||
public function getAll($content=null)
|
||||
public function getAll($content=null, $order='sprache')
|
||||
{
|
||||
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache";
|
||||
|
||||
if(!is_null($content))
|
||||
$qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN);
|
||||
$qry.=" ORDER BY sprache";
|
||||
$qry.=" ORDER BY ".$order;
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -108,7 +108,7 @@ class statistik extends basis_db
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden';
|
||||
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden: ' . $statistik_kurzbz;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ else
|
||||
$pdf->SetXY(30,30);
|
||||
|
||||
//Logo
|
||||
$pdf->Image("../../skin/styles/tw/logo.jpg","400","25","150","78","jpg","");
|
||||
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
|
||||
|
||||
$pdf->SetFont('Arial','',12);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
@@ -430,7 +430,7 @@ else
|
||||
$pdf->SetXY(30,30);
|
||||
|
||||
//Logo
|
||||
$pdf->Image("../../skin/images/logo.jpg","400","25","160","54","jpg","");
|
||||
$pdf->Image("../../skin/styles/".DEFAULT_STYLE."/logo.jpg","400","25","150","78","jpg","");
|
||||
$pdf->SetFont('Arial','',12);
|
||||
$pdf->SetFillColor(190,190,190);
|
||||
$pdf->SetXY(30,110-$titelabzug);
|
||||
|
||||
@@ -2384,7 +2384,7 @@ class wochenplan extends basis_db
|
||||
|
||||
/**
|
||||
* Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert,
|
||||
* sondern zusammengeblockt. (in maximal 4er Bloecke)
|
||||
* sondern zusammengeblockt.
|
||||
*
|
||||
* Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen.
|
||||
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
|
||||
@@ -2499,7 +2499,7 @@ class wochenplan extends basis_db
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
|
||||
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf)
|
||||
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical.$this->crlf)
|
||||
.'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf)
|
||||
.'DESCRIPTION:'.str_replace(',',' ',$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?'\n'.$this->std_plan[$i][$j][$idx]->anmerkung:'').$this->crlf)
|
||||
.'LOCATION:'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
|
||||
@@ -2541,7 +2541,7 @@ class wochenplan extends basis_db
|
||||
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical;
|
||||
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical;
|
||||
$Summary = $lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb;
|
||||
$description = $lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort;
|
||||
|
||||
|
||||
@@ -46,9 +46,11 @@ $this->phrasen['tools/ampelMitarbeiter']='Mitarbeiter';
|
||||
$this->phrasen['tools/ampelRestdauer']='Restdauer in Tagen';
|
||||
$this->phrasen['tools/ampelBestaetigtAm']='Bestätigt am';
|
||||
$this->phrasen['tools/ampelBereitsBestaetigt']='Diese Ampel wurde bereits bestätigt';
|
||||
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='Das Ampelsystem ist ein ERINNERUNGS- und BESTÄTIGUNGSSYSTEM, welches Sie auf ausstehende Aufgaben aufmerksam machen soll.<br/>Die Ampel überprüft NICHT, ob die Aufgabe tatsächlich erledigt wurde. Weitere Details entnehmen Sie bitte dem CIS-Handbuch';
|
||||
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='Das Ampelsystem ist ein ERINNERUNGS- und BESTÄTIGUNGSSYSTEM, welches Sie auf ausstehende Aufgaben aufmerksam machen soll.';
|
||||
$this->phrasen['tools/waehlenSieEineOEoderAmpel']='Bitte wählen Sie ein Organisationseinheit und/oder eine Ampel aus dem Dropdown';
|
||||
$this->phrasen['tools/uebersichtLeitung']='Ampel-Übersicht für LeiterInnen';
|
||||
$this->phrasen['tools/ampelAlleAnzeigen']='Alle anzeigen';
|
||||
$this->phrasen['tools/ampelNurAktuellesStudiensemester']='Nur aktuelles Studiensemester anzeigen';
|
||||
|
||||
//Software fuer Lehre -> Softgrid
|
||||
$this->phrasen['tools/applikationsliste']='Applikationsliste';
|
||||
@@ -72,4 +74,9 @@ $this->phrasen['tools/telefonklappe']='Telefonklappe';
|
||||
$this->phrasen['tools/reservieren']='Reservieren';
|
||||
$this->phrasen['tools/maxPersonen']='Max. Personen';
|
||||
$this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Es wurden keine Ergebnisse gefunden.';
|
||||
|
||||
//Partnerhochschulen
|
||||
$this->phrasen['tools/partnerhochschulenUebersicht']='Übersicht der Partnerhochschulen';
|
||||
$this->phrasen['tools/partnerhochschulenKeinEintrag']='Für diesen Studiengang ist keine Partnerhochschule zugeordnet';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='Sollten Sie an einer Partnerhochschule studieren wollen, die sich nicht auf dieser Liste befindet, kontaktieren Sie bitte das <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
?>
|
||||
|
||||
@@ -46,9 +46,11 @@ $this->phrasen['tools/ampelMitarbeiter']='Employee';
|
||||
$this->phrasen['tools/ampelRestdauer']='Remaining Days';
|
||||
$this->phrasen['tools/ampelBestaetigtAm']='Confirmed on';
|
||||
$this->phrasen['tools/ampelBereitsBestaetigt']='This notification has already been confirmed';
|
||||
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='The notification system is a REMINDER and CONFIRMATION SYSTEM that is provided to remind you of outstanding tasks. <br/>The system does NOT check if the task has actually been completed. For more information, please refer to the CIS Manual.';
|
||||
$this->phrasen['tools/dasAmpelsystemIstEinErinnerungsystem']='The notification system is a REMINDER and CONFIRMATION SYSTEM that is provided to remind you of outstanding tasks.';
|
||||
$this->phrasen['tools/waehlenSieEineOEoderAmpel']='Please select an organizational unit and/or a notification from the drop down menu.';
|
||||
$this->phrasen['tools/uebersichtLeitung']='Overview of notifications for Heads of Departments';
|
||||
$this->phrasen['tools/alleAnzeigen']='Show all';
|
||||
$this->phrasen['tools/nurAktuellesStudiensemester']='Show current semester only';
|
||||
|
||||
//Software fuer Lehre -> Softgrid
|
||||
$this->phrasen['tools/applikationsliste']='List of Applications';
|
||||
@@ -72,4 +74,9 @@ $this->phrasen['tools/telefonklappe']='Extension';
|
||||
$this->phrasen['tools/reservieren']='Reserve room';
|
||||
$this->phrasen['tools/maxPersonen']='Max. # of people';
|
||||
$this->phrasen['tools/esWurdenKeineErgebnisseGefunden']='Your search did not return any results.';
|
||||
|
||||
//Partnerhochschulen
|
||||
$this->phrasen['tools/partnerhochschulenUebersicht']='Partner Universities';
|
||||
$this->phrasen['tools/partnerhochschulenKeinEintrag']='No entry found';
|
||||
$this->phrasen['tools/partnerhochschulenEinleitung']='In case you would like to study at a partner university that isn´t listed - please contact the <a href="../../../cms/content.php?content_id=6952">Center for International Relations (CIR)</a>.';
|
||||
?>
|
||||
|
||||
@@ -1,22 +1,15 @@
|
||||
build_settings:
|
||||
verbose: false
|
||||
prefer_symlink: false
|
||||
ignore:
|
||||
- "vendor"
|
||||
- "tests"
|
||||
|
||||
setup:
|
||||
|
||||
test:
|
||||
codeception:
|
||||
config: "tests"
|
||||
lint:
|
||||
php_loc:
|
||||
php_docblock_checker:
|
||||
allowed_warnings: -1
|
||||
# phing:
|
||||
# build_file: 'build.xml'
|
||||
# targets:
|
||||
# - "deploy"
|
||||
# php_unit:
|
||||
# directory: "tests/phpunit/"
|
||||
# args: "--bootstrap 'test/phpunit/bootstrap.php' --configuration 'tests/phpunit/phpunit.xml'"
|
||||
config: "tests/codeception/"
|
||||
path: "tests/codeception/_output/"
|
||||
|
||||
complete:
|
||||
|
||||
@@ -47,7 +47,7 @@ $DAO_obj = new lehreinheitgruppe();
|
||||
$DAO_obj->getLehreinheitgruppe($lehreinheit_id);
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->getAll();
|
||||
$stg_obj->getAll(null,null);
|
||||
$stg = array();
|
||||
foreach ($stg_obj->result as $row)
|
||||
$stg[$row->studiengang_kz]=$row->kuerzel;
|
||||
|
||||
+26
-1
@@ -1193,6 +1193,31 @@ if(!$result = @$db->db_query("SELECT studienplan_id FROM public.tbl_bewerbungste
|
||||
echo '<br>Neue Spalte studienplan_id in Tabelle public.tbl_bewerbungstermine hinzugefügt<br>';
|
||||
}
|
||||
|
||||
|
||||
// Attribute verpflichtend und buttontext in public.tbl_ampel
|
||||
if(!$result = @$db->db_query("SELECT verpflichtend FROM public.tbl_ampel LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_ampel ADD COLUMN verpflichtend boolean NOT NULL DEFAULT FALSE;
|
||||
ALTER TABLE public.tbl_ampel ADD COLUMN buttontext varchar(64)[];";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_ampel '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Spalten "verpflichtend" und "buttontext" in Tabelle public.tbl_ampel hinzugefügt<br>';
|
||||
}
|
||||
|
||||
// Neue Spalte lieferbedingungen in public.tbl_firma
|
||||
if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_firma ADD COLUMN lieferbedingungen varchar(256);";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_firma '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Spalte lieferbedingungen in Tabelle public.tbl_firma hinzugefügt<br>';
|
||||
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -1344,7 +1369,7 @@ $tabellen=array(
|
||||
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
|
||||
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern"),
|
||||
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email"),
|
||||
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend"),
|
||||
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
|
||||
"public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id","bezeichnung", "aktiv"),
|
||||
"public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
actor: Tester
|
||||
paths:
|
||||
tests: codeception
|
||||
log: codeception/_output
|
||||
data: codeception/_data
|
||||
helpers: codeception/_support
|
||||
settings:
|
||||
bootstrap: _bootstrap.php
|
||||
colors: true
|
||||
memory_limit: 1024M
|
||||
modules:
|
||||
config:
|
||||
Db:
|
||||
dsn: ''
|
||||
user: ''
|
||||
password: ''
|
||||
dump: codeception/_data/dump.sql
|
||||
@@ -1,14 +0,0 @@
|
||||
# Codeception Test Suite Configuration
|
||||
|
||||
# suite for acceptance tests.
|
||||
# perform tests in browser using the WebDriver or PhpBrowser.
|
||||
# If you need both WebDriver and PHPBrowser tests - create a separate suite.
|
||||
|
||||
class_name: AcceptanceTester
|
||||
modules:
|
||||
enabled:
|
||||
- PhpBrowser
|
||||
- AcceptanceHelper
|
||||
config:
|
||||
PhpBrowser:
|
||||
url: 'http://localhost/myapp/'
|
||||
@@ -0,0 +1,20 @@
|
||||
actor: Tester
|
||||
paths:
|
||||
tests: tests
|
||||
log: _output
|
||||
data: _data
|
||||
helpers: _support
|
||||
settings:
|
||||
bootstrap: _bootstrap.php
|
||||
colors: true
|
||||
memory_limit: 1024M
|
||||
modules:
|
||||
enabled:
|
||||
- Db:
|
||||
dsn: 'pgsql:host=localhost;port=5432;dbname=fhctest'
|
||||
user: 'fhcomplete'
|
||||
password: 'fhcomplete'
|
||||
dump: _data/dump.sql
|
||||
populate: true
|
||||
cleanup: false
|
||||
reconnect: false
|
||||
@@ -0,0 +1,21 @@
|
||||
# Codeception Test Suite Configuration
|
||||
|
||||
# suite for acceptance tests.
|
||||
# perform tests in browser using the WebDriver or PhpBrowser.
|
||||
# If you need both WebDriver and PHPBrowser tests - create a separate suite.
|
||||
|
||||
class_name: AcceptanceTester
|
||||
modules:
|
||||
enabled:
|
||||
- Db
|
||||
- PhpBrowser:
|
||||
url: 'http://admin:1q2w3@demo.fhcomplete.org/'
|
||||
config:
|
||||
Db:
|
||||
dsn: 'pgsql:host=localhost;port=5432;dbname=fhctest'
|
||||
user: 'fhcomplete'
|
||||
password: 'fhcomplete'
|
||||
dump: _data/dump.sql
|
||||
populate: true
|
||||
cleanup: false
|
||||
reconnect: false
|
||||
+2
-1
@@ -6,4 +6,5 @@
|
||||
|
||||
class_name: FunctionalTester
|
||||
modules:
|
||||
enabled: [Filesystem, FunctionalHelper]
|
||||
enabled:
|
||||
- Filesystem
|
||||
@@ -3,4 +3,5 @@
|
||||
# suite for unit (internal) tests.
|
||||
class_name: UnitTester
|
||||
modules:
|
||||
enabled: [Asserts, UnitHelper]
|
||||
enabled:
|
||||
- Asserts
|
||||
@@ -96,6 +96,8 @@ if(isset($_POST['sync']))
|
||||
if($moodle->sync_studenten($mdl_course_id))
|
||||
{
|
||||
echo $moodle->log;
|
||||
echo '<hr>';
|
||||
echo $moodle->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler bei der Zuteilung:'.$moodle->errormsg;
|
||||
|
||||
@@ -34,7 +34,7 @@ $rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/ampel'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
die($rechte->errormsg);
|
||||
|
||||
$datum_obj = new datum();
|
||||
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
@@ -44,6 +44,18 @@ $datum_obj = new datum();
|
||||
<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 src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
dateFormat: 'dd.mm.yy',
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -55,7 +67,8 @@ $datum_obj = new datum();
|
||||
if($action=='save')
|
||||
{
|
||||
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:die('Kurzbz fehlt'));
|
||||
|
||||
$beschreibung = '';
|
||||
$buttontext = '';
|
||||
foreach ($_POST as $key=>$value)
|
||||
{
|
||||
if(mb_strstr($key,'beschreibung'))
|
||||
@@ -63,12 +76,18 @@ $datum_obj = new datum();
|
||||
$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')
|
||||
{
|
||||
@@ -91,6 +110,8 @@ $datum_obj = new datum();
|
||||
$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;
|
||||
|
||||
@@ -140,46 +161,63 @@ $datum_obj = new datum();
|
||||
<input type="hidden" name="ampel_id" value="'.htmlspecialchars($ampel->ampel_id).'">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Kurzbz</td>
|
||||
<td><input type="text" name="kurzbz" size="30" maxlength="64" value="'.htmlspecialchars($ampel->kurzbz).'"></td>
|
||||
<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" name="deadline" size="10" maxlength="10" value="'.htmlspecialchars($datum_obj->formatDatum($ampel->deadline,'d.m.Y')).'"></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">'.htmlspecialchars($ampel->benutzer_select).'</textarea></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>
|
||||
<td valign="middle"><input type="text" name="vorlaufzeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->vorlaufzeit).'" required></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>
|
||||
<td><input type="text" name="verfallszeit" size="4" maxlength="4" value="'.htmlspecialchars($ampel->verfallszeit).'" required></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> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td>Beschreibung</td>
|
||||
<td> </td>
|
||||
<td>Buttonbeschriftung (64)</td>
|
||||
<td> </td>
|
||||
</tr>';
|
||||
|
||||
|
||||
$sprache = new sprache();
|
||||
$sprache->getAll();
|
||||
$sprache->getAll(null, 'index');
|
||||
foreach($sprache->result as $lang)
|
||||
{
|
||||
echo '
|
||||
<tr valign="top">
|
||||
<td>Beschreibung '.$lang->sprache.'</td>
|
||||
<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></td>
|
||||
<td></td>
|
||||
<td><input type="submit" value="Speichern" name="save"></td>
|
||||
<td colspan="5"><input type="submit" value="Speichern" name="save"></td>
|
||||
</tr>
|
||||
</table></form>';
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ echo '<table class="tablesorter" id="myTable">
|
||||
<th>Deadline</th>
|
||||
<th>Vorlaufzeit</th>
|
||||
<th>Verfallszeit</th>
|
||||
<th>Verpflichtend</th>
|
||||
<th colspan="3">Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -106,6 +107,7 @@ foreach($ampel->result as $row)
|
||||
echo '<td>',$datum_obj->formatDatum($row->deadline,'d.m.Y'),'</td>';
|
||||
echo '<td>',$row->vorlaufzeit,'</td>';
|
||||
echo '<td>',$row->verfallszeit,'</td>';
|
||||
echo '<td>',($row->verpflichtend=='t'?'Ja':'Nein'),'</td>';
|
||||
echo '<td><a href="ampel_details.php?action=update&el_id=',$row->ampel_id,' " target="detail_ampel">bearbeiten</a></td>';
|
||||
echo '<td><a href="ampel_details.php?action=copy&el_id=',$row->ampel_id,' " target="detail_ampel">kopieren</a></td>';
|
||||
echo '<td><a href="ampel_uebersicht.php?action=delete&el_id=',$row->ampel_id,' " onclick="return confdel()">entfernen</a></td>';
|
||||
|
||||
@@ -20,16 +20,18 @@
|
||||
/**
|
||||
* Seite zur Aenderung des Studiengangsnamens
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/organisationsform.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
@@ -53,7 +55,7 @@ if(isset($_GET['studiengang_kz']))
|
||||
$stg_kz = $_GET['studiengang_kz'];
|
||||
else
|
||||
$stg_kz='';
|
||||
|
||||
|
||||
if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
{
|
||||
$studiengang_kz = $_POST['studiengang_kz'];
|
||||
@@ -61,13 +63,13 @@ if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
$studiengang->load($studiengang_kz);
|
||||
if(!$rechte->isBerechtigt('assistenz', $studiengang->oe_kurzbz, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
|
||||
$bezeichnung = $_POST['bezeichnung'];
|
||||
$english = $_POST['english'];
|
||||
$max_semester = $_POST['max_semester'];
|
||||
$orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$stg_kz=$studiengang_kz;
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
if($stg->load($studiengang_kz))
|
||||
{
|
||||
@@ -80,13 +82,46 @@ if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
echo '<span class="ok">Erfolgreich geändert</span>';
|
||||
else
|
||||
echo '<span clasS="error">Fehler beim Speichern: '.$stg->errormsg.'</span>';
|
||||
|
||||
|
||||
}
|
||||
|
||||
if($studiengang_kz==334)
|
||||
{
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getOeFunktionen($stg->oe_kurzbz, 'Leitung');
|
||||
|
||||
foreach($benutzerfunktion->result as $row)
|
||||
{
|
||||
if(isset($_POST['ltg_'.$row->benutzerfunktion_id]))
|
||||
{
|
||||
// Leitung wird gesetzt
|
||||
if($row->datum_bis!='')
|
||||
{
|
||||
$row->datum_bis='';
|
||||
$row->updateamum = date('Y-m-d H:i:s');
|
||||
$row->updatevon = $user;
|
||||
$row->save(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Leitung wird entfernt
|
||||
if($row->datum_bis=='' || $row->datum_bis>date('Y-m-d'))
|
||||
{
|
||||
$row->datum_bis=date('Y-m-d',mktime(0, 0, 0, date("m"), date("d")-1, date("Y")));
|
||||
$row->updateamum = date('Y-m-d H:i:s');
|
||||
$row->updatevon = $user;
|
||||
$row->save(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg = new studiengang();
|
||||
$stg_arr = $rechte->getStgKz('assistenz');
|
||||
$stg->loadArray($stg_arr,'typ, kurzbz',true);
|
||||
$stg->loadArray($stg_arr,'typ, kurzbz',true);
|
||||
|
||||
echo '<form method="GET">
|
||||
Studiengang: <SELECT name="studiengang_kz">';
|
||||
@@ -94,12 +129,12 @@ foreach($stg->result as $row)
|
||||
{
|
||||
if($stg_kz=='')
|
||||
$stg_kz=$row->studiengang_kz;
|
||||
|
||||
|
||||
if($stg_kz==$row->studiengang_kz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' - '.$row->kurzbzlang.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT><input type="submit" value="Anzeigen" /></form>';
|
||||
@@ -136,15 +171,47 @@ foreach($orgform->result as $row)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<OPTION value="'.$row->orgform_kurzbz.'" '.$selected.'>'.$row->bezeichnung.'</OPTION>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>';
|
||||
|
||||
if($stg->studiengang_kz==334)
|
||||
{
|
||||
// Studiengang MIT / MSC kann auch die Leitung aktivieren/deaktivieren
|
||||
echo '<tr>';
|
||||
echo '<td valign="top">Leitung</td>';
|
||||
echo '<td>';
|
||||
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getOeFunktionen($stg->oe_kurzbz, 'Leitung');
|
||||
|
||||
foreach($benutzerfunktion->result as $row)
|
||||
{
|
||||
if($row->datum_bis=='' || $row->datum_bis>date('Y-m-d'))
|
||||
$checked='checked="checked"';
|
||||
else
|
||||
$checked='';
|
||||
|
||||
echo '<input type="checkbox" name="ltg_'.$row->benutzerfunktion_id.'" '.$checked.'>';
|
||||
$bn = new benutzer();
|
||||
$bn->load($row->uid);
|
||||
echo $bn->vorname.' '.$bn->nachname.'<br>';
|
||||
}
|
||||
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" value="Speichern" /></td>
|
||||
|
||||
+64
-62
@@ -2,17 +2,18 @@
|
||||
require_once(dirname(__FILE__).'/../include/wochenplan.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../include/mitarbeiter.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/datum.class.php');
|
||||
/**
|
||||
* CalDAV backend
|
||||
*/
|
||||
class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
{
|
||||
/**
|
||||
* Creates the backend
|
||||
*
|
||||
* Creates the backend
|
||||
*
|
||||
* @param AuthBackend $auth
|
||||
*/
|
||||
public function __construct($auth)
|
||||
public function __construct($auth)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
}
|
||||
@@ -31,18 +32,18 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* Every project is an array with the following keys:
|
||||
* * id, a unique id that will be used by other functions to modify the
|
||||
* calendar. This can be the same as the uri or a database key.
|
||||
* * uri, which the basename of the uri with which the calendar is
|
||||
* * uri, which the basename of the uri with which the calendar is
|
||||
* accessed.
|
||||
* * principalUri. The owner of the calendar. Almost always the same as
|
||||
* principalUri passed to this method.
|
||||
*
|
||||
* Furthermore it can contain webdav properties in clark notation. A very
|
||||
* common one is '{DAV:}displayname'.
|
||||
* common one is '{DAV:}displayname'.
|
||||
*
|
||||
* @param string $principalUri
|
||||
* @return array
|
||||
* @param string $principalUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarsForUser($principalUri)
|
||||
public function getCalendarsForUser($principalUri)
|
||||
{
|
||||
//error_log("Caldav_Backend.php/getCalendarsForUser($principalUri)");
|
||||
//$user = $this->getUser();
|
||||
@@ -75,7 +76,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* @param string $calendarUri
|
||||
* @param array $properties
|
||||
*/
|
||||
public function createCalendar($principalUri,$calendarUri, array $properties)
|
||||
public function createCalendar($principalUri,$calendarUri, array $properties)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
@@ -108,43 +109,44 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* )
|
||||
* )
|
||||
*
|
||||
* In this example it was forbidden to update {DAV:}displayname.
|
||||
* In this example it was forbidden to update {DAV:}displayname.
|
||||
* (403 Forbidden), which in turn also caused {DAV:}owner to fail
|
||||
* (424 Failed Dependency) because the request needs to be atomic.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param array $mutations
|
||||
* @return bool|array
|
||||
* @param array $mutations
|
||||
* @return bool|array
|
||||
*/
|
||||
public function updateCalendar($calendarId, array $mutations)
|
||||
public function updateCalendar($calendarId, array $mutations)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a calendar and all it's objects
|
||||
*
|
||||
* @param string $calendarId
|
||||
* Delete a calendar and all it's objects
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendar($calendarId)
|
||||
public function deleteCalendar($calendarId)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getCalendarData($user, $objectUri=null)
|
||||
{
|
||||
$datum_obj = new datum();
|
||||
$starttime = microtime(true);
|
||||
$bn = new benutzer();
|
||||
if(!$bn->load($user))
|
||||
die('User invalid');
|
||||
|
||||
|
||||
if(check_lektor($user))
|
||||
$type='lektor';
|
||||
else
|
||||
$type='student';
|
||||
|
||||
|
||||
// Stundenplanobjekt erzeugen
|
||||
$stdplan = new wochenplan($type);
|
||||
$stdplan->crlf="\n";
|
||||
@@ -156,7 +158,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
}
|
||||
if(!is_null($objectUri))
|
||||
{
|
||||
$unr = mb_substr($objectUri, mb_strpos($objectUri,'-')+1);
|
||||
$unr = mb_substr($objectUri, (mb_strpos($objectUri,'-')+1), mb_strpos($objectUri,'@')-(mb_strpos($objectUri,'-')+1));
|
||||
$dtstart = mb_substr($objectUri,0,mb_strpos($objectUri,'-'));
|
||||
|
||||
if(mb_strlen($dtstart)==15)
|
||||
@@ -170,14 +172,14 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
$sekunde = mb_substr($dtstart,13,2);
|
||||
$begin = mktime($stunde, $minute, $sekunde, $monat, $tag-1, $jahr);
|
||||
$ende = mktime($stunde, $minute, $sekunde, $monat, $tag+1, $jahr);
|
||||
//error_log("getCalendarData unr: $unr dtstart: $dtstart");
|
||||
//error_log("getCalendarData unr: $unr dtstart: $dtstart size:".(mb_strlen($objectUri)-mb_strpos($objectUri,'@')));
|
||||
//error_log($begin.'/'.$ende);
|
||||
}
|
||||
else
|
||||
{
|
||||
//error_log("dtstart laenge abnormal: $dtstart");
|
||||
$begin = mktime(0,0,0,date('m'),date('d')-14,date('Y'));
|
||||
$ende = mktime(0,0,0,date('m')+6,date('d'),date('Y'));
|
||||
$ende = mktime(0,0,0,date('m')+6,date('d'),date('Y'));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -195,10 +197,10 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
$i++;
|
||||
if(!date("w",$begin))
|
||||
$begin=jump_day($begin,1);
|
||||
|
||||
|
||||
$stdplan->init_stdplan();
|
||||
$datum=$begin;
|
||||
$begin+=604800; // eine Woche
|
||||
$begin = $datum_obj->jump_week($begin,1);
|
||||
|
||||
// Stundenplan einer Woche laden
|
||||
if(!$stdplan->load_week($datum,$db_stpl_table))
|
||||
@@ -224,7 +226,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
//error_log("\n\nDATA".print_r($data,true));
|
||||
//error_log("getCalendarData time:".($endtime-$starttime));
|
||||
//$data.="\nEND:VCALENDAR";
|
||||
return $data;
|
||||
return $data;
|
||||
}
|
||||
public function makeCal($event)
|
||||
{
|
||||
@@ -250,28 +252,28 @@ END:STANDARD
|
||||
END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
}
|
||||
/**
|
||||
* Returns all calendar objects within a calendar.
|
||||
* Returns all calendar objects within a calendar.
|
||||
*
|
||||
* Every item contains an array with the following keys:
|
||||
* * id - unique identifier which will be used for subsequent updates
|
||||
* * calendardata - The iCalendar-compatible calnedar data
|
||||
* * uri - a unique key which will be used to construct the uri. This can be any arbitrary string.
|
||||
* * lastmodified - a timestamp of the last modification time
|
||||
* * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
|
||||
* * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
|
||||
* ' "abcdef"')
|
||||
* * calendarid - The calendarid as it was passed to this function.
|
||||
*
|
||||
* Note that the etag is optional, but it's highly encouraged to return for
|
||||
* Note that the etag is optional, but it's highly encouraged to return for
|
||||
* speed reasons.
|
||||
*
|
||||
* The calendardata is also optional. If it's not returned
|
||||
* 'getCalendarObject' will be called later, which *is* expected to return
|
||||
* The calendardata is also optional. If it's not returned
|
||||
* 'getCalendarObject' will be called later, which *is* expected to return
|
||||
* calendardata.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return array
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObjects($calendarId)
|
||||
public function getCalendarObjects($calendarId)
|
||||
{
|
||||
//$user = $this->getUser();
|
||||
$user = $calendarId;
|
||||
@@ -290,7 +292,7 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
|
||||
$return[] = array("id"=>$row['UID'],
|
||||
"calendardata"=>$this->makeCal($row['data']),
|
||||
"uri"=>$uri,
|
||||
"uri"=>$uri.'@'.md5($row['UID']),
|
||||
"lastmodified"=>$row['updateamum'],
|
||||
"etag"=>'"'.$row['UID'].'"',
|
||||
"calendarid"=>$calendarId);
|
||||
@@ -303,15 +305,15 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
* Returns information from a single calendar object, based on it's object
|
||||
* uri.
|
||||
*
|
||||
* The returned array must have the same keys as getCalendarObjects. The
|
||||
* 'calendardata' object is required here though, while it's not required
|
||||
* The returned array must have the same keys as getCalendarObjects. The
|
||||
* 'calendardata' object is required here though, while it's not required
|
||||
* for getCalendarObjects.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return array
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObject($calendarId,$objectUri)
|
||||
public function getCalendarObject($calendarId,$objectUri)
|
||||
{
|
||||
//error_log("Caldav_Backend.php/getCalendarObject($calendarId, $objectUri)");
|
||||
//$user = $this->getUser();
|
||||
@@ -330,7 +332,7 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
{
|
||||
$ret = array("id"=>$data['UID'],
|
||||
"calendardata"=>$this->makeCal($data['data']),
|
||||
"uri"=>'principals/'.$user.'/LVPlan/'.$data['dtstart'].'-'.$data['unr'][0],
|
||||
"uri"=>'principals/'.$user.'/LVPlan/'.$data['dtstart'].'-'.$data['unr'][0].'@'.md5($data['UID']),
|
||||
"lastmodified"=>$data['updateamum'],
|
||||
"etag"=>'"'.$data['UID'].'"',
|
||||
"calendarid"=>$calendarId);
|
||||
@@ -339,39 +341,39 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* Creates a new calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function createCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
public function createCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing calendarobject, based on it's uri.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* Updates an existing calendarobject, based on it's uri.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function updateCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
public function updateCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* Deletes an existing calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendarObject($calendarId,$objectUri)
|
||||
public function deleteCalendarObject($calendarId,$objectUri)
|
||||
{
|
||||
throw new Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user