#411 kontakt formular, email towards bucher, kugler & gebhardt, adjusted text of Kandidat - direct link to his page on buergerkandidaten, Kontakt Link

This commit is contained in:
Ulf Gebhardt 2017-08-21 00:15:53 +02:00
parent 181419f255
commit 5ce77d4d30
9 changed files with 98 additions and 12 deletions

View File

@ -1,2 +1,6 @@
<?php
class api_buergerkandidaten extends \SYSTEM\API\api_system {}
class api_buergerkandidaten extends \SYSTEM\API\api_system {
public static function call_email($to,$from,$text){
return default_kontakt::email($to,$from,$text);}
}

View File

@ -1,13 +1,39 @@
<?php
class default_kontakt implements \SYSTEM\PAGE\Page {
var $zu = null;
public function __construct($zu = null) {
$this->zu = $zu;}
public static function title(){
return \SYSTEM\PAGE\text::get('title_kontakt');}
public static function meta(){
return \SYSTEM\PAGE\text::tag('meta_kontakt');}
public function html(){
$vars = \SYSTEM\PAGE\text::tag('buergerkandidat');
$vars['selected_sebastian_bucher'] = ($this->zu == 'sebastian_bucher' ? 'selected' : '');
$vars['selected_gerhard_kugler'] = ($this->zu == 'gerhard_kugler' ? 'selected' : '');
$vars['selected_ulf_gebhardt'] = ($this->zu == 'ulf_gebhardt' ? 'selected' : '');
return SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_kontakt/tpl/default_kontakt.tpl'))->SERVERPATH(), $vars);
}
public static function js(){return array(new PPAGE('default_kontakt/js/default_kontakt.js'));}
public static function email($to,$from,$text){
switch($to){
case 'sebastian_bucher':
$to = 'buergerkandidat-hp@web.de';
break;
case 'gerhard_kugler':
$to = 'G.W.Kugler@web.de';
break;
default:
$to = 'service@webcraft-media.de';
break;
}
$header = 'From: '.$from."\r\n".
'Reply-To: '.$from."\r\n";
return mail($to, 'Kontaktanfrage direktkandidat-hp.de', $text, $header) ? \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::fail();
}
public static function js(){return array( \LIB\lib_jqbootstrapvalidation::js(),
new PPAGE('default_kontakt/js/default_kontakt.js'));}
public static function css(){return array();}
}

View File

@ -1,2 +1,23 @@
function init_unterstuetzen(){
function init_kontakt(){
$("#contact_form input, select, textarea").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.ajax({type :'POST',
url : './api.php?',
data : { call: 'email',
from: $('#input_contact_email').val(),
to: $('#input_contact_to').val(),
text: $('#input_contact_message').val()},
success : function(data) {
if(data.status){
$('.help-block').html("EMail erfolgreich abgeschickt.");
$('#input_contact_message').val('');
}else{
$('.help-block').html("EMail nicht erfolgreich abgeschickt - wir kümmern uns umgehend darum!");}
}
});
event.preventDefault();
}
});
}

View File

@ -4,5 +4,36 @@
</h2>
</div>
<div class="panel-body">
${content_kontakt}
<form class="textbox trojan" id="contact_form">
<div class="control-group">
<div class="controls col-lg-12 col-md-12 col-sm-12 col-xs-12 padding0" style="margin-bottom: 15px;">
<label>Empfänger:</label>
<select class="form-control" id="input_contact_to">
<option value="sebastian_bucher" ${selected_sebastian_bucher}>Sebastian Bucher - Direktkandidat für die Bergstraße</option>
<option value="gerhard_kugler" ${selected_gerhard_kugler}>Gerhard Kugler - Sprecher des Bürgerkomitees Bergstraße</option>
<option value="ulf_gebhardt" ${selected_ulf_gebhardt}>Ulf Gebhardt - Administrator</option>
</select>
</div>
<div class="controls col-lg-12 col-md-12 col-sm-12 col-xs-12 padding0" style="margin-bottom: 15px;">
<label>Antwort an:</label>
<input class="form-control text_width"
type="email"
id="input_contact_email"
placeholder="Email Adresse"
data-validation-email-message="Bitte gebe doch eine gültige EMail-Adresse an!"
required data-validation-required-message="Bitte gebe doch eine EMail-Adresse an!">
</div>
<div class="controls col-lg-12 col-md-12 col-sm-12 col-xs-12 padding0">
<label>Ihre Nachricht:</label>
<textarea class="form-control text_width"
id="input_contact_message"
rows="7"
required data-validation-required-message="Bitte beschreibe kurz dein Anliegen ;-)."></textarea>
</div>
<div class="col-md-12 padding0">
<div class="help-block"></div>
<button type="submit" class="btn-sm btn btn-success" id="btn_send"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>&nbsp;Email senden!</button>
</div>
</div>
</form>
</div>

View File

@ -69,7 +69,7 @@
</div>
</div>
<div class="row">
<div id="footer-left" class="col-md-5 col-sm-5 col-xs-5 padding0">&nbsp;&nbsp;<a href="#!impressum" title="Impressum">Impressum</a></div>
<div id="footer-left" class="col-md-5 col-sm-5 col-xs-5 padding0">&nbsp;&nbsp;<a href="#!impressum" title="Impressum">Impressum</a> | <a href="#!kontakt" title="Kontakt">Kontakt</a></div>
<div id="footer-right" class="col-md-5 col-sm-5 col-xs-5 pull-right padding0">© 2017 <a href="https://www.webcraft-media.de" title="Webcraft Media Webdesign" target="blank">Webcraft Media</a>&nbsp;&nbsp;</div>
</div>
</div>

View File

@ -19,8 +19,8 @@ class page_buergerkandidaten extends \SYSTEM\API\api_default {
public static function page_kandidat(){
return (new default_kandidat())->html();}
public static function page_kontakt(){
return (new default_kontakt())->html();}
public static function page_kontakt($zu = null){
return (new default_kontakt($zu))->html();}
public static function page_unterstuetzen(){
return (new default_unterstuetzen())->html();}

View File

@ -1 +1,5 @@
-- REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 1, 2, 1, 'vote', 'id', 'UINT0');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 1, 3, 1, 'kontakt', 'zu', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (200, 0, 2, 10, 'email', 'to', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (201, 0, 2, 10, 'email', 'from', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (202, 0, 2, 10, 'email', 'text', 'STRING');

View File

@ -2,5 +2,5 @@ REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (15, 1, 'impressum', 'impressum', -1, 0, 0, '#content', './?page=impressum', 'init_impressum', 'default_impressum');
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (20, 1, 'faq', 'faq', -1, 0, 0, '#content', './?page=faq', 'init_faq', 'default_faq');
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (25, 1, 'kandidat', 'kandidat', -1, 0, 0, '#content', './?page=kandidat', 'init_kandidat', 'default_kandidat');
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (30, 1, 'kontakt', 'kontakt', -1, 0, 0, '#content', './?page=kontakt', 'init_kontakt', 'default_kontakt');
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (30, 1, 'kontakt', 'kontakt', -1, 0, 0, '#content', './?page=kontakt&zu=${zu}', 'init_kontakt', 'default_kontakt');
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (35, 1, 'unterstuetzen', 'unterstuetzen', -1, 0, 0, '#content', './?page=unterstuetzen', 'init_unterstuetzen', 'default_unterstuetzen');

File diff suppressed because one or more lines are too long