faq send question functionality

This commit is contained in:
Ulf Gebhardt 2017-12-13 15:54:39 +01:00
parent bd3e5dc2ee
commit 846438f10c
6 changed files with 167 additions and 1 deletions

View File

@ -1,2 +1,34 @@
<?php
class api_democracy extends \SYSTEM\API\api_system {}
class api_democracy extends \SYSTEM\API\api_system {
public static function call_send_mail_faq($data){
require((new \SYSTEM\PROOT('PHPMailer-master/PHPMailerAutoload.php'))->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();
}
}

View File

@ -0,0 +1,24 @@
<h3>Eine neue Frage ist von democracy-deutschland.de gesendet worden:</h3>
<br>
<hr>
<br>
<p>Abegesendet: ${datum} - ${uhrzeit}<p>
<br>
<table>
<tr>
<td><h3>Vorname:</h3></td>
<td>${vorname}</td>
</tr>
<tr>
<td><h3>Nachname:</h3></td>
<td>${nachname}</td>
</tr>
<tr>
<td><h3>EMail:</h3></td>
<td>${email}</td>
</tr>
<tr>
<td><h3>Text:</h3></td>
<td>${frage}</td>
</tr>
</table>

View File

@ -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.");
}
});
});
}

View File

@ -4,6 +4,55 @@
<br><br>
<div class="panel-group" id="accordion">
${questions}
<div class="panel panel-default panel-faq">
<div class="panel-heading">
<h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href="#collapse_ask"><b><i class="fa fa-caret-down" aria-hidden="true"></i></b>&nbsp;&nbsp;<b>Eine Frage stellen</b></a>
</h4>
</div>
<div id="collapse_ask" class="panel-collapse collapse ${in}">
<div class="panel-body">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<label for="fvorname">Vorname</label>
<input id="fvorname" type="text" class="form-control" name="fvorname" placeholder="Vorname">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="fnachname">Nachname</label>
<input id="fnachname" type="text" class="form-control" name="fnachname" placeholder="Nachname">
</div>
</div>
<div class="col-md-4">
<div class="form-group">
<label for="femail">E-Mail</label>
<input id="femail" type="email" class="form-control" name="femail" aria-describedby="emailHelp" placeholder="Email">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<hr>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="exampleTextarea"> Frage:</label>
<textarea class="form-control" name="text" id="exampleTextarea" rows="15"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div id="submitquestion" class="btn btn-primary" style="font-size: large;"><i class="fa fa-envelope"></i>&nbsp;&nbsp;Frage stellen</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

5
democracy/path/PAPI.php Normal file
View File

@ -0,0 +1,5 @@
<?php
class PAPI extends \SYSTEM\PATH {
public function __construct($subpath = '') {
parent::__construct(new \SYSTEM\PROOT(), 'democracy/api/', $subpath);}
}

View File

@ -0,0 +1 @@
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (100, 0, 2, 10, 'send_mail_faq', 'data', 'JSON');