Ampelsystem - diverse Bugfixes

This commit is contained in:
Andreas Österreicher
2011-11-30 15:11:37 +00:00
parent 29de736d46
commit cadaac0e0d
4 changed files with 62 additions and 12 deletions
+24 -9
View File
@@ -59,6 +59,7 @@ $datum_obj = new datum();
$type = isset($_GET['type'])?$_GET['type']:'';
$ampel_id = isset($_GET['ampel_id'])?$_GET['ampel_id']:'';
$message='';
if($type=='bestaetigen' && is_numeric($ampel_id))
{
@@ -69,7 +70,9 @@ if($type=='bestaetigen' && is_numeric($ampel_id))
{
if($ampel->bestaetigen($user, $ampel_id))
{
$message = '<span class="ok">OK</span>';
//$message = '<span class="ok">OK</span>';
//Ampel Ansicht im Seiten-Header aktualisieren
$message='<script type="text/javascript">window.parent.loadampel()</script>';
}
else
$message = '<span class="error">'.$ampel->errormsg.'</span>';
@@ -81,9 +84,10 @@ if($type=='bestaetigen' && is_numeric($ampel_id))
$message = '<span class="error">'.$p->t('tools/ampelNichtGefunden').'</span>';
}
echo $message;
$ampel = new ampel();
$ampel->loadUserAmpel($user, true);
$ampel->loadUserAmpel($user, true, true);
echo '
<table id="myTable" class="tablesorter">
@@ -112,30 +116,41 @@ foreach($ampel->result as $row)
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)
{
case 'rot':
echo '<img src="../../../skin/images/ampel_rot.png">';
$status= '<img src="../../../skin/images/ampel_rot.png">';
break;
case 'gelb':
echo '<img src="../../../skin/images/ampel_gelb.png">';
$status= '<img src="../../../skin/images/ampel_gelb.png">';
break;
case 'gruen':
echo '<img src="../../../skin/images/ampel_gruen.png">';
$status= '<img src="../../../skin/images/ampel_gruen.png">';
break;
default:
$status= '-';
break;
}
echo $status;
echo '</td>';
echo '<td>'.$row->beschreibung[$sprache].'</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>';
if(!$ampel->isBestaetigt($user,$row->ampel_id))
echo '<td><a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen">bestätigen</a></td>';
echo '<td>';
if(!$bestaetigt)
echo '<a href="'.$_SERVER['PHP_SELF'].'?ampel_id='.$row->ampel_id.'&type=bestaetigen">'.$p->t('tools/ampelBestaetigen').'</a>';
else
echo '<td></td>';
echo $p->t('tools/ampelBestaetigt');
echo '</td>';
// echo "<td>".date('d.m.Y',$ts_now)."</td>";
// echo "<td align=\"center\">".date('d.m.Y',$ts_vorlaufzeit)."</td>";
+34 -3
View File
@@ -203,6 +203,12 @@ class ampel extends basis_db
/**
* Laedt alle aktuellen Ampeln eines Users
* @param $user
* @param $zukuenftige_anzeigen
* wenn true, werden alle zukuenftigen Ampeln geladen
* wenn false, werden nur die Ampeln geladen die innerhalb der vorlaufzeit liegen
* @param $bestaetigt
* wenn true, werden alle Ampeln geladen
* wenn false, werden nur die Ampeln geladen die noch nicht bestaetigt wurden
*/
public function loadUserAmpel($user, $zukuenftige_anzeigen=false, $bestaetigt=false)
{
@@ -252,6 +258,28 @@ class ampel extends basis_db
}
}
/**
* Prueft die Daten vor dem Speichern
* @return boolean
*/
public function validate()
{
$benutzer_select = mb_strtolower($this->benutzer_select);
if(mb_strstr($benutzer_select, 'update ') || mb_strstr($benutzer_select, 'insert '))
{
$this->errormsg = 'Der Benutzer Select darf nur Selects beinhalten';
return false;
}
if(!mb_strstr($benutzer_select,'select '))
{
$this->errormsg = 'Der Benutzer Select muss einen Select-Befehl beinhalten';
return false;
}
return true;
}
/**
* Speichert eine Ampel
* @param $new
@@ -261,6 +289,9 @@ class ampel extends basis_db
if(is_null($new))
$new = $this->new;
if(!$this->validate())
return false;
$sprache = new sprache();
$sprache->loadIndexArray();
@@ -277,9 +308,9 @@ class ampel extends basis_db
$qry.=" benutzer_select, deadline,
vorlaufzeit, verfallszeit, insertamum, insertvon , updateamum, updatevon) VALUES(".
$this->addslashes($this->kurzbz).',';
reset($this->beschreibung);
foreach($this->beschreibung as $key=>$value)
$this->addslashes($value).',';
$qry.=$this->addslashes($value).',';
$qry .= $this->addslashes($this->benutzer_select).','.
$this->addslashes($this->deadline).','.
@@ -294,7 +325,7 @@ class ampel extends basis_db
{
$qry = 'UPDATE public.tbl_ampel SET'.
' kurzbz = '.$this->addslashes($this->kurzbz).',';
reset($this->beschreibung);
foreach($this->beschreibung as $key=>$value)
{
$idx = $sprache->index_arr[$key];
+2
View File
@@ -33,5 +33,7 @@ $this->phrasen['tools/ampelStatus']='Status';
$this->phrasen['tools/ampelBeschreibung']='Beschreibung';
$this->phrasen['tools/ampelDeadline']='Deadline';
$this->phrasen['tools/ampelAktion']='Aktion';
$this->phrasen['tools/ampelBestaetigen']='bestätigen';
$this->phrasen['tools/ampelBestaetigt']='bestätigt';
?>
+2
View File
@@ -33,4 +33,6 @@ $this->phrasen['tools/ampelStatus']='Status';
$this->phrasen['tools/ampelBeschreibung']='Description';
$this->phrasen['tools/ampelDeadline']='Deadline';
$this->phrasen['tools/ampelAktion']='Action';
$this->phrasen['tools/ampelBestaetigen']='confirm';
$this->phrasen['tools/ampelBestaetigt']='confirmed';
?>