From 846438f10c963e412af390f9ba6b9726a222dda6 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 13 Dec 2017 15:54:39 +0100 Subject: [PATCH] faq send question functionality --- democracy/api/api_democracy.php | 34 +++++++++++- democracy/api/tpl/send_mail_faq.tpl | 24 ++++++++ democracy/page/default_faq/js/default_faq.js | 55 +++++++++++++++++++ .../page/default_faq/tpl/default_faq.tpl | 49 +++++++++++++++++ democracy/path/PAPI.php | 5 ++ democracy/sql/mysql/system_api.sql | 1 + 6 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 democracy/api/tpl/send_mail_faq.tpl create mode 100644 democracy/path/PAPI.php diff --git a/democracy/api/api_democracy.php b/democracy/api/api_democracy.php index d2248a5..c61d575 100644 --- a/democracy/api/api_democracy.php +++ b/democracy/api/api_democracy.php @@ -1,2 +1,34 @@ SERVERPATH()); + date_default_timezone_set('Europe/Berlin'); + + $mail = new PHPMailer; + + $mail->CharSet = 'utf-8'; + + $mail->Host = 'atmanspacher.eu'; + $mail->Port = 465; + $mail->SMTPSecure = 'tls'; + $mail->SMTPAuth = true; + + $mail->setFrom( $data["email"], 'Neue Frage von - '. $data["vorname"] .' '. $data["nachname"]); + $mail->addReplyTo( $data["email"], $data["vorname"] .' '. $data["nachname"]); + $mail->addAddress( 'contact@democracy-deutschland.de', 'democracy-deutschland.de'); + + $vars = $data; + $vars['datum'] = date("d.m.Y"); + $vars['uhrzeit'] = date("H:i"); + $html = \SYSTEM\PAGE\replace::replaceFile((new PAPI('tpl/send_mail_faq.tpl'))->SERVERPATH(), $vars); + + $mail->Subject = 'DEMOCRACY: Frage von '.$data["vorname"] .' '. $data["nachname"].' erhalten!'; + $mail->Body = $html; + $mail->IsHTML(true); + + //send the message, check for errors + if(!$mail->send()){ + throw new \SYSTEM\LOG\ERROR("Mailer Error: " . $mail->ErrorInfo);} + return \SYSTEM\LOG\JsonResult::ok(); + } +} \ No newline at end of file diff --git a/democracy/api/tpl/send_mail_faq.tpl b/democracy/api/tpl/send_mail_faq.tpl new file mode 100644 index 0000000..3bb1739 --- /dev/null +++ b/democracy/api/tpl/send_mail_faq.tpl @@ -0,0 +1,24 @@ +

Eine neue Frage ist von democracy-deutschland.de gesendet worden:

+
+
+
+

Abegesendet: ${datum} - ${uhrzeit}

+
+ + + + + + + + + + + + + + + + + +

Vorname:

${vorname}

Nachname:

${nachname}

EMail:

${email}

Text:

${frage}
\ No newline at end of file diff --git a/democracy/page/default_faq/js/default_faq.js b/democracy/page/default_faq/js/default_faq.js index 5746862..7cb3155 100644 --- a/democracy/page/default_faq/js/default_faq.js +++ b/democracy/page/default_faq/js/default_faq.js @@ -9,4 +9,59 @@ function init_faq(){ $("#content").animate({"right":"0"}, 500); $("#slider3").responsiveSlides({speed: 3000}); $('#toTopHover').click(); + + $("#submitquestion").click(function(){ + var vorname = $("#fvorname").val(); + var nachname = $("#fnachname").val(); + var email = $("#femail").val(); + var frage = $("#exampleTextarea").val(); + + //check + if (vorname === "" || vorname.length < 3 ){ + alert( "bitte einen Vornamen eingeben"); + $("#fvorname").focus(); + return null; + } + if (nachname === "" || nachname.length < 3 ){ + alert( "bitte einen Nachname eingeben"); + $("#fnachname").focus(); + return null; + } + if (email === "" || email.length < 8 ){ + alert( "bitte einen E-Mail eingeben"); + $("#femail").focus(); + return null; + } + if (frage == "" || frage.length < 3 ){ + alert( "bitte eine Frage eingeben"); + $("#exampleTextarea").focus(); + return null; + } + + //send + $.ajax({ + async: true, + url: './api.php', + type: 'GET', + dataType: 'JSON', + data: { + call: 'send_mail_faq', + data: { vorname: vorname, + nachname: nachname, + email: email, + frage: frage} + }, + success: function(data){ + if(!data.status){ + alert("Deine Frage konnte nicht versendet weden. Bitte versuche es später noch einmal. Danke."); + } else { + $("#exampleTextarea").val(''); + alert("Danke! Deine Frage wurde versendet."); + } + }, + error: function(){ + alert("Deine Frage konnte nicht versendet weden. Bitte versuche es später noch einmal. Danke."); + } + }); + }); } \ No newline at end of file diff --git a/democracy/page/default_faq/tpl/default_faq.tpl b/democracy/page/default_faq/tpl/default_faq.tpl index b124403..4f57209 100644 --- a/democracy/page/default_faq/tpl/default_faq.tpl +++ b/democracy/page/default_faq/tpl/default_faq.tpl @@ -4,6 +4,55 @@

${questions} +
+ +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
  Frage stellen
+
+
+
+
+
\ No newline at end of file diff --git a/democracy/path/PAPI.php b/democracy/path/PAPI.php new file mode 100644 index 0000000..ea294d0 --- /dev/null +++ b/democracy/path/PAPI.php @@ -0,0 +1,5 @@ +