diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php index 33e7a03f7..7a322e44e 100755 --- a/cis/private/tools/ampelverwaltung.php +++ b/cis/private/tools/ampelverwaltung.php @@ -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 = 'OK'; + //$message = 'OK'; + //Ampel Ansicht im Seiten-Header aktualisieren + $message=''; } else $message = ''.$ampel->errormsg.''; @@ -81,9 +84,10 @@ if($type=='bestaetigen' && is_numeric($ampel_id)) $message = ''.$p->t('tools/ampelNichtGefunden').''; } +echo $message; $ampel = new ampel(); -$ampel->loadUserAmpel($user, true); +$ampel->loadUserAmpel($user, true, true); echo '
';
switch($ampelstatus)
{
case 'rot':
- echo ' ';
+ $status= ' ';
break;
case 'gelb':
- echo ' ';
+ $status= ' ';
break;
case 'gruen':
- echo ' ';
+ $status= ' ';
break;
default:
+ $status= '-';
break;
}
+ echo $status;
+
echo ' | ';
- echo ''.$row->beschreibung[$sprache].' | '; + $beschreibung = $row->beschreibung[$sprache]; + if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE])) + $beschreibung = $row->beschreibung[DEFAULT_LANGUAGE]; + echo ''.$beschreibung.' | '; echo ''.$datum_obj->formatDatum($row->deadline,'d.m.Y').' | '; - if(!$ampel->isBestaetigt($user,$row->ampel_id)) - echo 'bestätigen | '; + echo ''; + if(!$bestaetigt) + echo ''.$p->t('tools/ampelBestaetigen').''; else - echo ' | '; + echo $p->t('tools/ampelBestaetigt'); + echo ''; // echo " | ".date('d.m.Y',$ts_now)." | "; // echo "".date('d.m.Y',$ts_vorlaufzeit)." | "; diff --git a/include/ampel.class.php b/include/ampel.class.php index 19c031f82..80f28016a 100755 --- a/include/ampel.class.php +++ b/include/ampel.class.php @@ -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]; diff --git a/locale/de-AT/tools.php b/locale/de-AT/tools.php index 5e9743e64..fc1e0a5c6 100755 --- a/locale/de-AT/tools.php +++ b/locale/de-AT/tools.php @@ -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'; ?> diff --git a/locale/en-US/tools.php b/locale/en-US/tools.php index b393ab346..9b57f313f 100755 --- a/locale/en-US/tools.php +++ b/locale/en-US/tools.php @@ -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'; ?>