From 260d39fa9909d89a72540b437345ef0fa0f68c7a Mon Sep 17 00:00:00 2001
From: "de@itstall.de" <de@itstall.de>
Date: Fri, 9 Mar 2018 10:26:23 +0100
Subject: [PATCH] Guest pilot registration

---
 application/controllers/Register.php          | 111 ++++++++++++++----
 application/language/english/english_lang.php |   7 ++
 .../language/english/form_validation_lang.php |  14 +++
 .../language/german/form_validation_lang.php  |  14 +++
 application/language/german/german_lang.php   |   7 ++
 application/models/admin/Reports_model.php    |   2 +-
 .../views/admin/members/member_edit.php       |   2 +-
 application/views/register/guest.php          |  55 +++++----
 .../views/register/guest_model_add.php        |   4 +-
 9 files changed, 165 insertions(+), 51 deletions(-)
 create mode 100644 application/language/english/english_lang.php
 create mode 100644 application/language/english/form_validation_lang.php
 create mode 100644 application/language/german/form_validation_lang.php
 create mode 100644 application/language/german/german_lang.php

diff --git a/application/controllers/Register.php b/application/controllers/Register.php
index 3ac5569..d4177c8 100644
--- a/application/controllers/Register.php
+++ b/application/controllers/Register.php
@@ -18,30 +18,72 @@ class Register extends CI_Controller {
         $this->load->view('layout', $data);
     }
     public function register() {
-        if($this->input->post('birthday')) { $birthday = date_to_default($this->input->post('birthday')); } else { $birthday = null; }
-        $data['firstname'] = $this->input->post('firstname');
-        $data['lastname'] = $this->input->post('lastname');
-        $data['street'] = $this->input->post('street');
-        $data['zip'] = $this->input->post('zip');
-        $data['town'] = $this->input->post('town');
-        $data['birthday'] = $birthday;
-        $data['club'] = $this->input->post('club');
-        $data['phone'] = $this->input->post('phone');
-        $data['email'] = $this->input->post('email');
-        $data['insurance_number'] = $this->input->post('insurance_number');
-        $data['camping'] = $this->input->post('camping');
-        $result = $this->register_model->add($data);
+        if(isset($_POST['btn'])) {
+            $this->load->library('form_validation');
+            $this->form_validation->set_error_delimiters('<div class="alert alert-danger alert-dismissible">', '</div>');
+            $this->form_validation->set_rules('firstname', 'lang:firstname', 'required');
+            $this->form_validation->set_rules('lastname', 'lang:lastname', 'required');
+            $this->form_validation->set_rules('street', 'lang:street', 'required');
+            $this->form_validation->set_rules('zip', 'lang:zip', 'required');
+            $this->form_validation->set_rules('town', 'lang:town', 'required');
+            $this->form_validation->set_rules('birthday', 'lang:birthday', 'required');
+            $this->form_validation->set_rules('email', 'lang:email', 'required|valid_email');
+            if ($this->form_validation->run() == FALSE)
+            {
+                $data['firstname'] = $this->input->post('firstname');
+                $data['lastname'] = $this->input->post('lastname');
+                $data['street'] = $this->input->post('street');
+                $data['zip'] = $this->input->post('zip');
+                $data['town'] = $this->input->post('town');
+                $data['birthday'] = $this->input->post('birthday');
+                $data['club'] = $this->input->post('club');
+                $data['phone'] = $this->input->post('phone');
+                $data['email'] = $this->input->post('email');
+                $data['insurance_number'] = $this->input->post('insurance_number');
+                $data['title'] = 'Anmeldung';
+                $data['view'] = 'register/guest';
+                $this->load->view('layout', $data);
+            }
+            else {
+                if ($this->input->post('birthday')) {
+                    $birthday = date_to_default($this->input->post('birthday'));
+                } else {
+                    $birthday = null;
+                }
+                $data['firstname'] = $this->input->post('firstname');
+                $data['lastname'] = $this->input->post('lastname');
+                $data['street'] = $this->input->post('street');
+                $data['zip'] = $this->input->post('zip');
+                $data['town'] = $this->input->post('town');
+                $data['birthday'] = $birthday;
+                $data['club'] = $this->input->post('club');
+                $data['phone'] = $this->input->post('phone');
+                $data['email'] = $this->input->post('email');
+                $data['insurance_number'] = $this->input->post('insurance_number');
+                $data['camping'] = $this->input->post('camping');
+                $result = $this->register_model->add($data);
 
-        $this->sendemail($result, $this->input->post('email'));
+                $this->sendemail($result, $data);
 
-        if(isset($_POST['btn']['finish'])) {
-            $this->finish($result);
-        }
-        elseif(isset($_POST['btn']['modell_add'])) {
-            $this->guest_model_add($result);
+                if (isset($_POST['btn']['finish'])) {
+                    $this->finish($result);
+                } elseif (isset($_POST['btn']['modell_add'])) {
+                    $this->guest_model_add($result);
+                }
+            }
         }
     }
     public function guest() {
+        $data['firstname'] = null;
+        $data['lastname'] = null;
+        $data['street'] = null;
+        $data['zip'] = null;
+        $data['town'] = null;
+        $data['birthday'] = null;
+        $data['club'] = null;
+        $data['phone'] = null;
+        $data['email'] = null;
+        $data['insurance_number'] = null;
         $data['title'] = 'Anmeldung';
         $data['view'] = 'register/guest';
         $this->load->view('layout', $data);
@@ -76,15 +118,40 @@ class Register extends CI_Controller {
         $data['guest_id'] = $guest_id;
         $this->load->view('layout', $data);
     }
-    public function sendemail($guest_id, $email="de@itstall.de") {
+    public function sendemail($guest_id, $data) {
         $this->load->library('email');
+        $camping=null;
 
         $subject = 'Gastpiloten Anmeldung bei MFG Condor';
-        $message = 'Deine Piloten ID lautet: '.$guest_id;
+
+        if($data['camping'] == 'no') {
+            $camping = 'Kein Stellplatz';
+        }
+        elseif($data['camping'] == 'camper') {
+            $camping = 'Wohnmobil/Wohnwagen';
+        }
+        elseif($data['camping'] == '') {
+            $camping = 'Zelt';
+        }
+
+        $message = 'Deine Piloten ID lautet: '.$guest_id.'<br/>
+                    <br/>
+                    Folgende Daten haben wir von dir erfasst:<br/>
+                    Vorname: '.$data['firstname'].'<br/>
+                    Nachname: '.$data['lastname'].'<br/>
+                    Straße: '.$data['street'].'<br/>
+                    PLZ: '.$data['zip'].'<br/>
+                    Ort: '.$data['town'].'<br/>
+                    Geburtstag: '.date_to_german($data['birthday']).'<br/>
+                    Verein: '.$data['club'].'<br/>
+                    Telefon: '.$data['phone'].'<br/>
+                    Email: '.$data['email'].'<br/>
+                    Versicherungsnummer: '.$data['insurance_number'].'<br/>
+                    Stellplatz: '.$camping;
 
         $result = $this->email
             ->from('news@mfg-condor.de')
-            ->to($email)
+            ->to($data['email'])
             ->bcc('news@mfg-condor.de')
             ->subject($subject)
             ->message($this->email->full_html($subject, $message))
diff --git a/application/language/english/english_lang.php b/application/language/english/english_lang.php
new file mode 100644
index 0000000..aa8cc8d
--- /dev/null
+++ b/application/language/english/english_lang.php
@@ -0,0 +1,7 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Dennis Eisold
+ * Date: 08.03.2018
+ * Time: 23:09
+ */
\ No newline at end of file
diff --git a/application/language/english/form_validation_lang.php b/application/language/english/form_validation_lang.php
new file mode 100644
index 0000000..a474357
--- /dev/null
+++ b/application/language/english/form_validation_lang.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Dennis Eisold
+ * Date: 08.03.2018
+ * Time: 22:45
+ */
+$lang['firstname'] = 'Firstname';
+$lang['lastname'] = 'Lastname';
+$lang['street'] = 'Street';
+$lang['zip'] = 'Zip';
+$lang['town'] = 'Town';
+$lang['birthday'] = 'Birthday';
+$lang['email'] = 'Email';
\ No newline at end of file
diff --git a/application/language/german/form_validation_lang.php b/application/language/german/form_validation_lang.php
new file mode 100644
index 0000000..dcd7cfb
--- /dev/null
+++ b/application/language/german/form_validation_lang.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Dennis Eisold
+ * Date: 08.03.2018
+ * Time: 22:45
+ */
+$lang['firstname'] = 'Vorname';
+$lang['lastname'] = 'Nachname';
+$lang['street'] = 'Straße';
+$lang['zip'] = 'PLZ';
+$lang['town'] = 'Ort';
+$lang['birthday'] = 'Geburtstag';
+$lang['email'] = 'Email';
\ No newline at end of file
diff --git a/application/language/german/german_lang.php b/application/language/german/german_lang.php
new file mode 100644
index 0000000..aa8cc8d
--- /dev/null
+++ b/application/language/german/german_lang.php
@@ -0,0 +1,7 @@
+<?php
+/**
+ * Created by PhpStorm.
+ * User: Dennis Eisold
+ * Date: 08.03.2018
+ * Time: 23:09
+ */
\ No newline at end of file
diff --git a/application/models/admin/Reports_model.php b/application/models/admin/Reports_model.php
index 954b39a..6f0e725 100644
--- a/application/models/admin/Reports_model.php
+++ b/application/models/admin/Reports_model.php
@@ -1,7 +1,7 @@
 <?php
 class Reports_model extends CI_Model {
     public function get_birthdays() {
-        $this->db->select('members.id, members.firstname, members.lastname, members.birthday, DAY(members.birthday) AS day, MONTH(members.birthday) AS month, (YEAR(CURRENT_DATE) - YEAR(members.birthday)) - (RIGHT(CURRENT_DATE,5) < RIGHT(members.birthday, 5)) AS age');
+        $this->db->select('members.id, members.firstname, members.lastname, members.birthday, DAY(members.birthday) AS day, MONTH(members.birthday) AS month, YEAR(NOW()) - YEAR(members.birthday) AS age');
         $this->db->from('members');
         $this->db->join('member_types', 'member_types.id=members.member_type_id');
         $this->db->where('member_types.is_member', '1');
diff --git a/application/views/admin/members/member_edit.php b/application/views/admin/members/member_edit.php
index ee37365..bb6c005 100644
--- a/application/views/admin/members/member_edit.php
+++ b/application/views/admin/members/member_edit.php
@@ -129,7 +129,7 @@
                     <div class="form-group">
                         <label for="members_note" class="col-sm-2 control-label">Notizen</label>
                         <div class="col-sm-9">
-                            <textarea class="form-control" rows="5" name="members_note" class="form-control" id="members_note" placeholder="" value="<?= $member_data['members_note'];?>"></textarea>
+                            <textarea class="form-control" rows="5" name="members_note" class="form-control" id="members_note" placeholder=""><?= $member_data['members_note'];?></textarea>
                         </div>
                     </div>
                     <div class="form-group">
diff --git a/application/views/register/guest.php b/application/views/register/guest.php
index fecace4..7ed802b 100644
--- a/application/views/register/guest.php
+++ b/application/views/register/guest.php
@@ -7,6 +7,7 @@
             <div class="box box-body with-border">
                 <div class="col-md-6">
                     <h4><i class="fa fa-plus"></i> &nbsp;Gastpilot anmelden</h4>
+                    <?php echo validation_errors(); ?>
                 </div>
             </div>
         </div>
@@ -20,14 +21,15 @@
                         <div class="col-sm-12">
                             <h5>
                                 Um den Ablauf am Platz einfacher zu machen, kannst du dich hier schon mal anmelden.<br/>
-                                Wir senden dir eine Reservierungsbestätigung, sowie deine Pilotennummer, im Anschluß,  per Email zu.<br/>
-                                Mit deiner Pilotennummer kommst du dann einfach zur Flugleitung, hier zeigen wir deinen Stellplatz und klären die restlichen Formalitäten.<br/>
+                                Wir senden dir eine Reservierungsbestätigung, sowie deine Pilotennummer, im Anschluss,  per Email zu.<br/>
+                                Solltest du keine Email von uns erhalten, prüfe bitte deinen Spamordner oder schreibe uns an news@mfg-condor.de<br/>
+                                Mit deiner Pilotennummer kommst du dann einfach zur Flugleitung, hier zeigen wir dir deinen Stellplatz und klären die restlichen Formalitäten.<br/>
                                 <br/>
-                                Bitte vergiß nicht deine Versicherungsbestätigung der Flugleitung vorzulegen.<br/>
+                                Bitte vergiss nicht deine Versicherungsbestätigung und falls vorhanden, deinen Lärmpass, der Flugleitung vorzulegen.<br/>
                                 <br/>
                                 <b>Die Anmeldung ist für dich kostenfrei und unverbindlich.</b><br>
                                 <br>
-                                Falls du einen Stellplatz reserviert hast, jedoch nicht kommen kannst, gib uns bitte bescheid damit wir diesen neu vergeben können.
+                                Falls du einen Stellplatz reserviert hast, jedoch nicht kommen kannst, gib uns bitte Bescheid, damit wir diesen neu vergeben können.
                             </h5>
                         </div>
                     </div>
@@ -38,50 +40,50 @@
                     </div>
                     <div class="row">
                         <div class="col-sm-6">
-                            <label for="firstname" class="">Vorname</label>
-                            <input name="firstname" type="text" class="form-control" maxlength="50">
+                            <label for="firstname" class="">Vorname *</label>
+                            <input name="firstname" type="text" class="form-control" maxlength="50" value="<?=$firstname?>">
                         </div>
                         <div class="col-sm-6">
-                            <label for="lastname" class="">Nachname</label>
-                            <input name="lastname" type="text" class="form-control" maxlength="50">
+                            <label for="lastname" class="">Nachname *</label>
+                            <input name="lastname" type="text" class="form-control" maxlength="50" value="<?=$lastname?>">
                         </div>
                     </div>
                     <div class="row">
                         <div class="col-sm-5">
-                            <label for="street" class="">Straße</label>
-                            <input name="street" type="text" class="form-control" maxlength="50">
+                            <label for="street" class="">Straße *</label>
+                            <input name="street" type="text" class="form-control" maxlength="50" value="<?=$street?>">
                         </div>
                         <div class="col-sm-2">
-                            <label for="zip" class="">PLZ</label>
-                            <input name="zip" type="text" class="form-control" maxlength="10">
+                            <label for="zip" class="">Postleitzahl *</label>
+                            <input name="zip" type="text" class="form-control" maxlength="10" value="<?=$zip?>">
                         </div>
                         <div class="col-sm-5">
-                            <label for="town" class="">Ort</label>
-                            <input name="town" type="text" class="form-control" maxlength="50">
+                            <label for="town" class="">Ort *</label>
+                            <input name="town" type="text" class="form-control" maxlength="50" value="<?=$town?>">
                         </div>
                     </div>
                     <div class="row">
                         <div class="col-sm-6">
-                            <label for="birthday" class="control-label">Geburtstag</label>
-                            <input type="text" class="form-control datepicker" id="datepicker" name="birthday" data-provide="datepicker" data-date-format="dd.mm.yyyy">
+                            <label for="birthday" class="control-label">Geburtstag *</label>
+                            <input type="text" class="form-control datepicker" id="datepicker" name="birthday" data-provide="datepicker" data-date-format="dd.mm.yyyy" value="<?=date_to_german($birthday)?>">
                         </div>
                         <div class="col-sm-6">
                             <label for="club" class="control-label">Verein</label>
-                            <input type="text" name="club" class="form-control" id="club" placeholder="" maxlength="50">
+                            <input type="text" name="club" class="form-control" id="club" maxlength="50" value="<?=$club?>">
                         </div>
                     </div>
                     <div class="row">
                         <div class="col-sm-3">
                             <label for="phone" class="control-label">Telefon</label>
-                            <input type="text" name="phone" class="form-control" id="phone" placeholder="" maxlength="50">
+                            <input type="text" name="phone" class="form-control" id="phone" maxlength="50" value="<?=$phone?>">
                         </div>
                         <div class="col-sm-4">
-                            <label for="email" class="control-label">eMail</label>
-                            <input type="text" name="email" class="form-control" id="email" placeholder="" maxlength="50">
+                            <label for="email" class="control-label">eMail *</label>
+                            <input type="text" name="email" class="form-control" id="email" maxlength="50" value="<?=$email?>">
                         </div>
                         <div class="col-sm-5">
-                            <label for="insurance_number" class="control-label">Versicherungs Nummer</label>
-                            <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" maxlength="50">
+                            <label for="insurance_number" class="control-label">Versicherungsnummer</label>
+                            <input type="text" name="insurance_number" class="form-control" id="insurance_number" maxlength="50" value="<?=$insurance_number?>">
                         </div>
                     </div>
                     <div class="row">
@@ -99,9 +101,12 @@
                     </div>
                     <div class="row">
                         <div class="col-sm-12">
-                            <h5>Wenn du schon weißt mit welchen Modellen du zu uns kommst, kannst du diese im nächsten Schritt angeben.<br/>
-                                Dann musst du am Platz keine Zettel mehr ausfüllen, der wartet schon fertig auf dich ;)<br/>
-                                Falls du es noch nicht weißt, ist es auch nicht schlimm, dann machen wir das am Platz zusammen.</h5>
+                            <h5>Wenn du schon weißt, mit welchen Modellen du zu uns kommst, kannst du diese im nächsten Schritt angeben.<br/>
+                                Dann musst du am Platz keinen Zettel mehr ausfüllen, der wartet schon fertig auf dich ;)<br/>
+                                Falls du es noch nicht weißt, ist es auch nicht schlimm, dann machen wir das am Platz zusammen.<br/>
+                            <br/>
+                                * Pflichtangaben
+                            </h5>
                         </div>
                     </div>
                     <div class="row">
diff --git a/application/views/register/guest_model_add.php b/application/views/register/guest_model_add.php
index 7acdc4f..0149076 100644
--- a/application/views/register/guest_model_add.php
+++ b/application/views/register/guest_model_add.php
@@ -69,13 +69,13 @@
                     </div>
                     <div class="row">
                         <div class="col-sm-8">
-                            <label>Weitere Infor zum Modell / Original und zur Flugvorführung</label>
+                            <label>Weitere Informationen zum Modell / Original und zur Flugvorführung</label>
                             <textarea name="information" class="form-control" rows="5"></textarea>
                         </div>
                     </div>
                     <div class="row">
                         <div class="col-sm-12">
-                            <h5>Wenn du auf "Weiter..." klickst, kannst du weitere Modelle anlegen.</h5>
+                            <h5>Wenn du auf "Modell hinzufügen" klickst, kannst du weitere Modelle anlegen.</h5>
                         </div>
                     </div>
                     <div class="row">
-- 
GitLab