mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Neues Feature Exklusiv bei Infoscreen
Exklusive Einträge haben Vorrang von normalen Einträgen. lehrform.class: Kleine Fehlerkorrektur
This commit is contained in:
@@ -39,6 +39,7 @@ class infoscreen extends basis_db
|
||||
public $insertvon;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $exklusiv;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -121,6 +122,7 @@ class infoscreen extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->exklusiv = $this->db_parse_bool($row->exklusiv);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -242,7 +244,7 @@ class infoscreen extends basis_db
|
||||
if($new)
|
||||
{
|
||||
$qry = "BEGIN;INSERT INTO campus.tbl_infoscreen_content(infoscreen_id, content_id,
|
||||
gueltigvon, gueltigbis, refreshzeit, insertamum, insertvon, updateamum, updatevon) VALUES(".
|
||||
gueltigvon, gueltigbis, refreshzeit, insertamum, insertvon, updateamum, updatevon, exklusiv) VALUES(".
|
||||
$this->db_add_param($this->infoscreen_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->content_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->gueltigvon).','.
|
||||
@@ -251,7 +253,8 @@ class infoscreen extends basis_db
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).','.
|
||||
$this->db_add_param($this->updateamum).','.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->exklusiv, FHC_BOOLEAN).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -262,7 +265,8 @@ class infoscreen extends basis_db
|
||||
' gueltigbis='.$this->db_add_param($this->gueltigbis).','.
|
||||
' refreshzeit='.$this->db_add_param($this->refreshzeit).','.
|
||||
' updateamum='.$this->db_add_param($this->updateamum).','.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).','.
|
||||
' exklusiv='.$this->db_add_param($this->exklusiv, FHC_BOOLEAN).' '.
|
||||
' WHERE infoscreen_content_id='.$this->db_add_param($this->infoscreen_content_id, FHC_INTEGER).';';
|
||||
}
|
||||
|
||||
@@ -336,10 +340,11 @@ class infoscreen extends basis_db
|
||||
/**
|
||||
*
|
||||
* Liefert den Content der am betreffenden Infoscreen angezeigt werden soll
|
||||
* @param $infoscreen_id id des Infoscreens
|
||||
* @param $aktuell wenn true werden nur die aktuell gueltigen Contents geliefert
|
||||
* @param integer $infoscreen_id id des Infoscreens
|
||||
* @param boolean $aktuell Deafult:true. Wenn true, werden nur die aktuell gueltigen Contents geliefert
|
||||
* @param boolean $exklusiv Deafult:true. Wenn true, werden Contents, die das Attribut exklusiv=true haben, vorrangig vor normalen Terminen geliefert
|
||||
*/
|
||||
public function getScreenContent($infoscreen_id, $aktuell=true)
|
||||
public function getScreenContent($infoscreen_id, $aktuell=true, $exklusiv=true)
|
||||
{
|
||||
if(!is_numeric($infoscreen_id))
|
||||
{
|
||||
@@ -356,6 +361,20 @@ class infoscreen extends basis_db
|
||||
$qry.="
|
||||
AND (gueltigvon<=now() OR gueltigvon is null)
|
||||
AND (gueltigbis>=now() OR gueltigbis is null)";
|
||||
if($aktuell)
|
||||
$qry.="
|
||||
AND CASE WHEN
|
||||
(
|
||||
SELECT count(exklusiv) FROM campus.tbl_infoscreen_content
|
||||
WHERE (infoscreen_id=20 OR infoscreen_id is null)
|
||||
AND (gueltigvon<=now() OR gueltigvon is null)
|
||||
AND (gueltigbis>=now() OR gueltigbis is null)
|
||||
AND exklusiv=true
|
||||
)>0 THEN
|
||||
exklusiv=true
|
||||
ELSE
|
||||
1=1
|
||||
END";
|
||||
$qry.=" ORDER BY infoscreen_content_id;";
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -373,6 +392,7 @@ class infoscreen extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->exklusiv = $this->db_parse_bool($row->exklusiv);
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
@@ -66,8 +66,8 @@ class lehrform extends basis_db
|
||||
$this->lehrform_kurzbz = $row->lehrform_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->verplanen = $this->db_parse_bool($row->verplanen);
|
||||
$this->bezeichnung_kurz=$this->parseSprachResult('bezeichnung_kurz',$row);
|
||||
$this->bezeichnung_lang=$this->parseSprachResult('bezeichnung_lang',$row);
|
||||
$this->bezeichnung_kurz=$sprache->parseSprachResult('bezeichnung_kurz',$row);
|
||||
$this->bezeichnung_lang=$sprache->parseSprachResult('bezeichnung_lang',$row);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+12
-1
@@ -3101,7 +3101,7 @@ if(!$result = @$db->db_query("SELECT kosten FROM public.tbl_raumtyp"))
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_raumtyp: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_raumtyp: neue Spalte koste n hinzugefuegt';
|
||||
echo '<br>public.tbl_raumtyp: neue Spalte kosten hinzugefuegt';
|
||||
}
|
||||
|
||||
// Spalte onlinebewerbung fuer tbl_studiensemester
|
||||
@@ -3115,6 +3115,17 @@ if(!$result = @$db->db_query("SELECT onlinebewerbung FROM public.tbl_studienseme
|
||||
echo '<br>public.tbl_studiensemester: neue Spalte onlinebewerbung hinzugefuegt';
|
||||
}
|
||||
|
||||
// Spalte exklusiv fuer campus.tbl_infoscreen_content
|
||||
if(!$result = @$db->db_query("SELECT exklusiv FROM campus.tbl_infoscreen_content"))
|
||||
{
|
||||
$qry = 'ALTER TABLE campus.tbl_infoscreen_content ADD COLUMN exklusiv boolean NOT NULL default false;';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_infoscreen_content: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>campus.tbl_infoscreen_content: neue Spalte exklusiv hinzugefuegt';
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
|
||||
@@ -35,7 +35,7 @@ $rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/infoscreen'))
|
||||
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">
|
||||
@@ -46,15 +46,46 @@ $datum_obj = new datum();
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<script type="text/javascript" src="../../include/js/jquery.js"></script>
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery.ui.timepicker.css" type="text/css">
|
||||
<script type="text/javascript" src="../../include/js/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/tablesort/table.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.timepicker.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#myTable").tablesorter(
|
||||
$("#myTable").tablesorter(
|
||||
{
|
||||
sortList: [[0,0],[5,0]],
|
||||
widgets: ['zebra']
|
||||
});
|
||||
});
|
||||
|
||||
$( ".datepicker_datum" ).datepicker({
|
||||
changeMonth: true,
|
||||
changeYear: true,
|
||||
dateFormat: "dd.mm.yy",
|
||||
showButtonPanel: true,
|
||||
currentText: "Today",
|
||||
closeText: "Close",
|
||||
});
|
||||
|
||||
$( ".timepicker" ).timepicker({
|
||||
showPeriodLabels: false,
|
||||
hourText: "Hour",
|
||||
minuteText: "Minute",
|
||||
rows: 4,
|
||||
});
|
||||
|
||||
/*
|
||||
$("#refreshzeit").timepicker(
|
||||
{
|
||||
showPeriodLabels: false,
|
||||
showHours: false,
|
||||
minuteText: "",
|
||||
minutes: {starts: 20, ends: 300, interval: 20},
|
||||
rows: 5,
|
||||
});*/
|
||||
}
|
||||
);
|
||||
function checkValue()
|
||||
@@ -76,6 +107,33 @@ $datum_obj = new datum();
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style>
|
||||
.ui-timepicker-table table td a
|
||||
{
|
||||
padding:0.2em 0.3em 0.2em 0.3em;
|
||||
width: 2em;
|
||||
}
|
||||
.ui-widget
|
||||
{
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.ui-widget button
|
||||
{
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.ui-timepicker-table table
|
||||
{
|
||||
font-size: 0.9em;
|
||||
}
|
||||
.ui-widget-content .ui-priority-secondary
|
||||
{
|
||||
opacity: 1;
|
||||
}
|
||||
.ui-widget-content .ui-priority-primary
|
||||
{
|
||||
font-weight: normal;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -100,13 +158,14 @@ $datum_obj = new datum();
|
||||
if($action=='save')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('basis/infoscreen', null, 'sui'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
die($rechte->errormsg);
|
||||
$my_infoscreen_id = $_POST['infoscreen_id'];
|
||||
$infoscreen_content_id = $_POST['infoscreen_content_id'];
|
||||
$content_id = $_POST['content_id'];
|
||||
$gueltigvon = $_POST['gueltigvon'];
|
||||
$gueltigbis = $_POST['gueltigbis'];
|
||||
$gueltigvon = $_POST['gueltigvondatum'].' '.$_POST['gueltigvonzeit'];
|
||||
$gueltigbis = $_POST['gueltigbisdatum'].' '.$_POST['gueltigbiszeit'];
|
||||
$refreshzeit = $_POST['refreshzeit'];
|
||||
$exklusiv = (isset ($_POST['exklusiv'])?true:false);
|
||||
|
||||
$infoscreen = new infoscreen();
|
||||
if($infoscreen_content_id!='')
|
||||
@@ -127,6 +186,7 @@ $datum_obj = new datum();
|
||||
$infoscreen->refreshzeit = $refreshzeit;
|
||||
$infoscreen->updateamum = date('Y-m-d H:i:s');
|
||||
$infoscreen->updatevon = $user;
|
||||
$infoscreen->exklusiv = $exklusiv;
|
||||
|
||||
$infoscreen_ids=explode(',',$my_infoscreen_id);
|
||||
if (count($infoscreen_ids)>1)
|
||||
@@ -198,16 +258,30 @@ $datum_obj = new datum();
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gültig von</td>
|
||||
<td><input type="text" id="gueltigvon" size="18" name="gueltigvon" value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigvon,'d.m.Y H:i:s')),'" /> <input type="button" value="Jetzt" onclick="document.getElementById(\'gueltigvon\').value=\''.date('d.m.Y H:i:s').'\';" /> ( Format: ',date('d.m.Y H:i:s'),' )</td>
|
||||
<td>
|
||||
<input class="datepicker_datum" type="text" id="gueltigvondatum" size="10" name="gueltigvondatum" placeholder= "dd.mm.yyyy"value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigvon,'d.m.Y')),'" />
|
||||
<input class="timepicker" type="text" id="gueltigvonzeit" size="6" name="gueltigvonzeit" placeholder= "hh:mm" value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigvon,'H:i')),'" />
|
||||
<input type="button" value="Jetzt" onclick="document.getElementById(\'gueltigvondatum\').value=\''.date('d.m.Y').'\';document.getElementById(\'gueltigvonzeit\').value=\''.date('H:i').'\';" />
|
||||
<input type="button" value="Leeren" onclick="document.getElementById(\'gueltigvondatum\').value=\'\';document.getElementById(\'gueltigvonzeit\').value=\'\';" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gültig bis</td>
|
||||
<td><input type="text" id="gueltigbis" size="18" name="gueltigbis" value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigbis,'d.m.Y H:i:s')),'" /> <input type="button" value="Jetzt" onclick="document.getElementById(\'gueltigbis\').value=\''.date('d.m.Y H:i:s').'\';" /> ( Format: ',date('d.m.Y H:i:s'),' )</td>
|
||||
<td>
|
||||
<input class="datepicker_datum" type="text" id="gueltigbisdatum" size="10" name="gueltigbisdatum" placeholder= "dd.mm.yyyy"value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigbis,'d.m.Y')),'" />
|
||||
<input class="timepicker" type="text" id="gueltigbiszeit" size="6" name="gueltigbiszeit" placeholder= "hh:mm" value="',$db->convert_html_chars($datum_obj->formatDatum($infoscreen->gueltigbis,'H:i')),'" />
|
||||
<input type="button" value="Jetzt" onclick="document.getElementById(\'gueltigbisdatum\').value=\''.date('d.m.Y').'\';document.getElementById(\'gueltigbiszeit\').value=\''.date('H:i').'\'" />
|
||||
<input type="button" value="Leeren" onclick="document.getElementById(\'gueltigbisdatum\').value=\'\';document.getElementById(\'gueltigbiszeit\').value=\'\';" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Refreshzeit</td>
|
||||
<td><input id="refreshzeit" type="text" size="18" name="refreshzeit" value="',$db->convert_html_chars($infoscreen->refreshzeit),'"/> Zeit, wie lange die Seite angezeigt wird (in Sekunden)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Exklusiv</td>
|
||||
<td><input id="exklusiv" type="checkbox" name="exklusiv" '.($infoscreen->exklusiv===true?'checked':'').'/> Exklusiveinträge haben Vorrang vor normalen Einträgen</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" value="Speichern" onclick="return checkValue();"/></td>
|
||||
@@ -229,6 +303,7 @@ $datum_obj = new datum();
|
||||
<th>Gültig von</th>
|
||||
<th>Gültig bis</th>
|
||||
<th>Refreshzeit</th>
|
||||
<th>Exklusiv</th>
|
||||
<th colspan="2">Aktion</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -237,33 +312,51 @@ $datum_obj = new datum();
|
||||
$jetzt = time();
|
||||
$aktiv=false;
|
||||
$zukunft=false;
|
||||
$exklusiv = false;
|
||||
|
||||
//Wenn mindestens ein Content als Exklusiv markiert ist, wird dieser vorrangig behandelt
|
||||
foreach($infoscreen->result as $row)
|
||||
{
|
||||
$gueltigvon=$datum_obj->mktime_fromtimestamp($row->gueltigvon);
|
||||
$gueltigbis=$datum_obj->mktime_fromtimestamp($row->gueltigbis);
|
||||
|
||||
if($row->exklusiv==true && (($gueltigvon<=$jetzt) || ($gueltigvon=='')) && (($gueltigbis>=$jetzt) || ($gueltigbis=='')))
|
||||
$exklusiv = true;
|
||||
}
|
||||
foreach($infoscreen->result as $row)
|
||||
{
|
||||
$passiv=false;
|
||||
$content = new content();
|
||||
$content->getContent($row->content_id, 'German');
|
||||
$gueltigvon=$datum_obj->mktime_fromtimestamp($row->gueltigvon);
|
||||
$gueltigbis=$datum_obj->mktime_fromtimestamp($row->gueltigbis);
|
||||
|
||||
if ((($gueltigvon<=$jetzt) || ($gueltigvon=='')) && (($gueltigbis>=$jetzt) || ($gueltigbis=='')))
|
||||
if ((($gueltigvon<=$jetzt) || ($gueltigvon=='')) && (($gueltigbis>=$jetzt) || ($gueltigbis=='')) && ($exklusiv==false && $row->exklusiv==false))
|
||||
$aktiv=true;
|
||||
elseif ($exklusiv==true && $row->exklusiv==true)
|
||||
$aktiv=true;
|
||||
else
|
||||
{
|
||||
$aktiv=false;
|
||||
}
|
||||
|
||||
if ($aktiv==false && ($gueltigvon>=$jetzt))
|
||||
$zukunft=true;
|
||||
elseif ((($gueltigvon<=$jetzt) || ($gueltigvon=='')) && (($gueltigbis>=$jetzt) || ($gueltigbis=='')) && ($exklusiv==true && $row->exklusiv==false))
|
||||
$passiv=true;
|
||||
else
|
||||
$zukunft=false;
|
||||
|
||||
echo '<tr '.($aktiv==true?'':'style="color:grey"').'>';
|
||||
echo '<td width="10px" align="center">'.($aktiv==false?($zukunft==true?'<img title="2 gelb" src="../../skin/images/ampel_gelb.png" alt="ampel_gelb">':'<img title="3 rot" src="../../skin/images/ampel_rot.png" alt="ampel_rot">'):'<img title="1 gruen" src="../../skin/images/ampel_gruen.png" alt="ampel_gruen">').'</td>';
|
||||
echo '<tr '.($aktiv==true || $passiv==true?'':'style="color:grey"').'>';
|
||||
echo '<td width="10px" align="center">'.($aktiv==false?($zukunft==true || $passiv==true?'<img title="2 gelb" src="../../skin/images/ampel_gelb.png" alt="ampel_gelb">':'<img title="3 rot" src="../../skin/images/ampel_rot.png" alt="ampel_rot">'):'<img title="1 gruen" src="../../skin/images/ampel_gruen.png" alt="ampel_gruen">').'</td>';
|
||||
echo '<td>',$db->convert_html_chars($row->infoscreen_content_id),'</td>';
|
||||
echo '<td>',$db->convert_html_chars($row->infoscreen_id),'</td>';
|
||||
echo '<td>',$db->convert_html_chars($row->content_id),'</td>';
|
||||
echo '<td>',$db->convert_html_chars($content->titel),'</td>';
|
||||
echo '<td '.($zukunft==true?'style="color:black"':''). '>',$db->convert_html_chars($datum_obj->formatDatum($row->gueltigvon,'d.m.Y H:i:s')),'</td>';
|
||||
echo '<td>',$db->convert_html_chars($datum_obj->formatDatum($row->gueltigbis,'d.m.Y H:i:s')),'</td>';
|
||||
echo '<td name="'.$datum_obj->formatDatum($row->gueltigvon,'Y-m-d H:i').'" '.($zukunft==true?'style="color:black"':''). '>',$db->convert_html_chars($datum_obj->formatDatum($row->gueltigvon,'d.m.Y H:i')),'</td>';
|
||||
echo '<td name="'.$datum_obj->formatDatum($row->gueltigbis,'Y-m-d H:i').'">',$db->convert_html_chars($datum_obj->formatDatum($row->gueltigbis,'d.m.Y H:i')),'</td>';
|
||||
echo '<td>',$db->convert_html_chars($row->refreshzeit),'</td>';
|
||||
echo '<td>'.($row->exklusiv===true?'<b>Exklusiv</b>':'').'</td>';
|
||||
echo '<td><a href="infoscreen_details.php?action=update&infoscreen_id=',$db->convert_html_chars($infoscreen_id),'&infoscreen_content_id=',$db->convert_html_chars($row->infoscreen_content_id),'">bearbeiten</a>';
|
||||
echo '<td><a href="infoscreen_details.php?action=delete&infoscreen_id=',$db->convert_html_chars($infoscreen_id),'&infoscreen_content_id=',$db->convert_html_chars($row->infoscreen_content_id),'">entfernen</a>';
|
||||
echo '</tr>';
|
||||
|
||||
Reference in New Issue
Block a user