diff --git a/.gitmodules b/.gitmodules index ef63c55..00b0020 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,9 @@ [submodule "lib/system"] path = lib/system url = git@github.com:webcraftmedia/system.git +[submodule "wecker_manufaktur/sai/saimod_mail"] + path = wecker_manufaktur/sai/saimod_mail + url = git@github.com:webcraftmedia/saimod_mail.git +[submodule "lib/mail_cannon"] + path = lib/mail_cannon + url = git@github.com:webcraftmedia/lib_mail_cannon.git diff --git a/lib/autoload.inc b/lib/autoload.inc index b3dbb18..4bb898e 100644 --- a/lib/autoload.inc +++ b/lib/autoload.inc @@ -1,2 +1,3 @@ SERVERPATH()); $vars = array_merge($vars, \SYSTEM\PAGE\text::tag('wecker_manufaktur')); return \SYSTEM\PAGE\replace::replaceFile((new PPAGE('default_page/tpl/default_page.tpl'))->SERVERPATH(), $vars); } diff --git a/wecker_manufaktur/page/default_page/js/default_page.js b/wecker_manufaktur/page/default_page/js/default_page.js index c5438da..4a90239 100644 --- a/wecker_manufaktur/page/default_page/js/default_page.js +++ b/wecker_manufaktur/page/default_page/js/default_page.js @@ -8,6 +8,74 @@ $(document).ready(function() { $('.project-link').click(function(e){showProject(e,$(this).attr('project'),false,true)}) $('.project-person-link').click(function(e){showPerson(e,$(this).attr('person'),true,false)}) + + $("#apply-send").click(function(e){ + e.preventDefault(); + var data = { name: $('#apply-name').val(), + email: $('#apply-email').val(), + message: $('#apply-message').val()}; + + if (data.name.length < 3 ){ + alert( "Bitte einen Namen eingeben"); + $("#apply-name").focus(); + return null; + } + if (!validateEmail(data.email)){ + alert( "Bitte einen gültige E-Mail eingeben"); + $("#apply-email").focus(); + return null; + } + if (data.message.length > 500 ){ + alert( "Bitte einen kürzeren Text eingeben"); + $("#apply-message").focus(); + return null; + } + + sendMail(data,function(data){ + if(data && data.status){ + $("#apply-message").val('') + alert("Danke! Deine Nachricht wurde versendet."); + } else { + alert("Deine Nachricht konnte nicht versendet weden. Bitte versuche es später noch einmal. Danke."); + } + }); + }); + + $('#apply-message').on('keyup',function(){ + $('#apply-count').html($(this).val().length+'/500'); + }); + + $('#footer-nl-subscribe').click(function(e){ + e.preventDefault(); + var email = $('#footer-nl-email').val(); + + if(!validateEmail(email)){ + alert( "Bitte einen gültige E-Mail eingeben"); + $('#footer-nl-email').focus() + } else { + $.ajax({ + async: true, + url: './api.php', + type: 'GET', + dataType: 'JSON', + data: { + call: 'send_subscribe', + data: { email: email} + }, + success: function(data){ + if(!data.status){ + alert("Das Eintragen in den Newsletter hat leider nicht funktioniert. Bitte versuche es später noch einmal. Danke."); + } else { + $('#confirm').show(); + $('#formular').hide(); + } + }, + error: function(){ + alert("Das Eintragen in den Newsletter hat leider nicht funktioniert. Bitte versuche es später noch einmal. Danke."); + } + }); + } + }); }); function showPerson(event,subject_id,jump,toggle){ @@ -61,4 +129,28 @@ function showProject(event,subject_id,jump,toggle){ if(!toggle || isHidden){ $('#project-details-'+subject_id).removeClass('d-none'); } -} \ No newline at end of file +} + +function sendMail(data,callback){ + $.ajax({ + async: true, + url: './api.php', + type: 'GET', + dataType: 'JSON', + data: { + call: 'send_mail', + data: data + }, + success: function(data){ + callback(data); + }, + error: function(){ + callback(false); + } + }); + } + + function validateEmail(email) { + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; + return re.test(String(email).toLowerCase()); + } \ No newline at end of file diff --git a/wecker_manufaktur/page/default_page/tpl/content_apply.tpl b/wecker_manufaktur/page/default_page/tpl/content_apply.tpl new file mode 100644 index 0000000..7084d2c --- /dev/null +++ b/wecker_manufaktur/page/default_page/tpl/content_apply.tpl @@ -0,0 +1,17 @@ +
\ No newline at end of file diff --git a/wecker_manufaktur/sai/autoload.inc b/wecker_manufaktur/sai/autoload.inc index 1157648..4cf4fed 100644 --- a/wecker_manufaktur/sai/autoload.inc +++ b/wecker_manufaktur/sai/autoload.inc @@ -1,3 +1,4 @@ SERVERPATH(), - (new \PSQL('/mysql/system_text.sql'))->SERVERPATH()); + return array( (new \PSQL('/mysql/system_api.sql'))->SERVERPATH(), + (new \PSQL('/mysql/system_page.sql'))->SERVERPATH(), + (new \PSQL('/mysql/system_text.sql'))->SERVERPATH(), + (new \PSQL('/mysql/saimod_mail.sql'))->SERVERPATH()); } } \ No newline at end of file diff --git a/wecker_manufaktur/sql/mysql/saimod_mail.sql b/wecker_manufaktur/sql/mysql/saimod_mail.sql new file mode 100644 index 0000000..53b4d0d --- /dev/null +++ b/wecker_manufaktur/sql/mysql/saimod_mail.sql @@ -0,0 +1,11 @@ +INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (2,'Newsletter',1); + + + +INSERT IGNORE INTO email (`id`,`name`,`account`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (10,'Website Contact','test@webcraft-media.de','${data_vorname} ${data_nachname} <${data_email}>','${emoji_mobile} DEMOCRACY Website: ${data_type} from ${data_email}',10,11,1); +INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (10,0,'Website Contact Text','Eine Nachricht ist über die Website eingegangen:\n\n${data_json}\n\nAchtung: Diese EMail ist die einzige Kopie dieser Daten',1); +INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (11,1,'Website Contact HTML','\nEine Nachricht ist über die Website eingegangen:| ${data_email} | \n|
| Name | \n${data_vorname} ${data_nachname} | \n
| Type | \n${data_type} | \n
| Text | \n${data_text} | \n
${data_json}\n