diff --git a/include/ampel.class.php b/include/ampel.class.php index 7c0aaa57f..66676664f 100755 --- a/include/ampel.class.php +++ b/include/ampel.class.php @@ -1,5 +1,5 @@ deadline = $row->deadline; $this->vorlaufzeit = $row->vorlaufzeit; $this->verfallszeit = $row->verfallszeit; + $this->email = $row->email; $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; @@ -109,13 +111,20 @@ class ampel extends basis_db /** * Laedt alle vorhandenen Ampeln + * @param aktiv lade nur aktive Ampeln */ - public function getAll() + public function getAll($aktiv=false) { $sprache = new sprache(); $beschreibung = $sprache->getSprachQuery('beschreibung'); - $qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel ORDER BY deadline"; + $qry = "SELECT *,".$beschreibung." FROM public.tbl_ampel"; + if($aktiv) + { + $qry .= " WHERE (NOW()>(deadline-(vorlaufzeit || ' days')::interval)::date)"; + $qry .= " AND (NOW()<(deadline+(verfallszeit || ' days')::interval)::date)"; + } + $qry .= " ORDER BY deadline"; if($result = $this->db_query($qry)) { @@ -130,6 +139,7 @@ class ampel extends basis_db $obj->deadline = $row->deadline; $obj->vorlaufzeit = $row->vorlaufzeit; $obj->verfallszeit = $row->verfallszeit; + $obj->email = $this->db_parse_bool($row->email); $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; @@ -243,6 +253,7 @@ class ampel extends basis_db $obj->deadline = $row->deadline; $obj->vorlaufzeit = $row->vorlaufzeit; $obj->verfallszeit = $row->verfallszeit; + $obj->email = $row->email; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; @@ -306,7 +317,7 @@ class ampel extends basis_db } $qry.=" benutzer_select, deadline, - vorlaufzeit, verfallszeit, insertamum, insertvon , updateamum, updatevon) VALUES(". + vorlaufzeit, verfallszeit, email, insertamum, insertvon , updateamum, updatevon) VALUES(". $this->db_add_param($this->kurzbz).','; reset($this->beschreibung); foreach($this->beschreibung as $key=>$value) @@ -316,6 +327,7 @@ class ampel extends basis_db $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->insertamum).','. $this->db_add_param($this->insertvon).','. $this->db_add_param($this->updateamum).','. @@ -336,6 +348,7 @@ class ampel extends basis_db ' 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).','. ' 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).';'; @@ -486,6 +499,7 @@ class ampel extends basis_db $obj->deadline = $row->deadline; $obj->vorlaufzeit = $row->vorlaufzeit; $obj->verfallszeit = $row->verfallszeit; + $obj->email = $row->email; $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; diff --git a/system/ampel_erinnerungsmail.php b/system/ampel_erinnerungsmail.php new file mode 100644 index 000000000..02b882965 --- /dev/null +++ b/system/ampel_erinnerungsmail.php @@ -0,0 +1,53 @@ + + */ + +require_once('../config/vilesci.config.inc.php'); +require_once('../include/basis_db.class.php'); +require_once('../include/mail.class.php'); +require_once('../include/ampel.class.php'); + +$db = new basis_db(); +$ampel=new ampel(); +$ampel->getAll(true); + +foreach($ampel->result as $a) +{ + if(!$a->email) + continue; + + $qry=$a->benutzer_select; + $message = $a->beschreibung['German']; + $subject = $a->kurzbz; + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $uid = $row->uid; + + $mail = new mail($uid.'@'.DOMAIN, 'cis@'.DOMAIN, $subject, $message); + if($mail->send()) + echo "Email an $uid versandt\n"; + else + echo "Fehler beim Versenden des Erinnerungsmails an $uid\n"; + } + } +} +?> \ No newline at end of file diff --git a/system/pruefung_bestaetigen.php b/system/pruefung_bestaetigen.php new file mode 100644 index 000000000..f0e8295a5 --- /dev/null +++ b/system/pruefung_bestaetigen.php @@ -0,0 +1,63 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../config/vilesci.config.inc.php'); +require_once('../include/basis_db.class.php'); +require_once('../include/datum.class.php'); +require_once('../include/mail.class.php'); +require_once('../include/pruefungCis.class.php'); +require_once('../include/pruefungsanmeldung.class.php'); + +$date = new datum(); +$db = new basis_db(); + +$pruefungen=new pruefungCis(); +$pruefungen->getAllPruefungen(); + +echo date('Y-m-d',strtotime('now + 1 day')); +echo '=====
'; +echo 'Start
'; +foreach($pruefungen->result as $p) +{ + if($p->storniert) + continue; + + $p->getTermineByPruefung(); + foreach($p->termine as $termin) + { +// echo $date->formatDatum($termin->von,'Y-m-d'); + if($date->formatDatum($termin->von,'Y-m-d') == date('Y-m-d',strtotime('now + 1 day'))) //Datumsüberprüfung + { + $anm_obj=new pruefungsanmeldung(); + $anmeldungen=$anm_obj->getAnmeldungenByTermin($termin->pruefungstermin_id); + foreach($anmeldungen as $anm) + { + $anm_obj->changeState($anm->pruefungsanmeldung_id,'bestaetigt'); + } + echo 'true
'; + } + else + echo 'false
'; + } +} +echo 'Ende'; +?> \ No newline at end of file diff --git a/vilesci/stammdaten/ampel_details.php b/vilesci/stammdaten/ampel_details.php index cd444d5ab..b42cd660f 100755 --- a/vilesci/stammdaten/ampel_details.php +++ b/vilesci/stammdaten/ampel_details.php @@ -68,6 +68,7 @@ $datum_obj = new datum(); $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']); $new = (isset($_POST['new'])?$_POST['new']:'true'); if($new=='true') { @@ -89,6 +90,7 @@ $datum_obj = new datum(); $ampel->deadline = $datum_obj->formatDatum($deadline,'Y-m-d'); $ampel->vorlaufzeit = $vorlaufzeit; $ampel->verfallszeit = $verfallszeit; + $ampel->email = $email; $ampel->updateamum = date('Y-m-d H:i:s'); $ampel->updatevon = $user; @@ -133,46 +135,53 @@ $datum_obj = new datum(); break; } - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ''; - echo ''; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ''; - echo ''; - echo ' '; - echo ' '; - echo ' '; - echo ''; + echo ' + + +
KurzbzDeadline
Benutzer SelectVorlaufzeit (in Tagen)
Verfallszeit (in Tagen)
+ + + + + + + + + + + + + + + + + + + + + + + + '; $sprache = new sprache(); $sprache->getAll(); foreach($sprache->result as $lang) { - echo ''; - echo ' '; - echo ' '; - echo ' '; - echo ''; + echo ' + + + + + '; } - echo ''; - echo ' '; - echo ' '; - echo ' '; - echo '
KurzbzDeadline
Benutzer SelectVorlaufzeit (in Tagen)
Verfallszeit (in Tagen)
Erinnerung per Emaildb_parse_bool($ampel->email)?'checked':'').'>
Beschreibung '.$lang->sprache.'
Beschreibung '.$lang->sprache.'
'; - echo '
'; + echo ' + + + + + + '; echo ''; ?>