diff --git a/js/saimod_mail.js b/js/saimod_mail.js index 8d35725..1074da5 100644 --- a/js/saimod_mail.js +++ b/js/saimod_mail.js @@ -406,23 +406,26 @@ function init_saimod_mail_email() { }); $('#btn-email-image-new').click(function(){ - var $new = $('.email-image-new').clone().removeClass('email-image-new'); - $('#tbody_mail_email_images').append($new); + var $new = $('.email-image-new').clone().removeClass('email-image-new'); + $('#tbody_mail_email_images').append($new); }); $('#btn-email-placeholder-new').click(function(){ - var $new = $('.email-placeholder-new').clone().removeClass('email-placeholder-new'); - $('#tbody_mail_email_placeholders').append($new); + var $new = $('.email-placeholder-new').clone().removeClass('email-placeholder-new'); + $('#tbody_mail_email_placeholders').append($new); }); $('.btn-email-placeholder-switch-value-new').click(function(){ - var $new = $(this).parent().parent().parent().find('.email-placeholder-switch-value-new').clone().removeClass('email-placeholder-switch-value-new'); - $(this).parent().parent().parent().append($new); }); $('.email-placeholder-type').trigger('change'); } +function placeholder_switch_new(e){ + var $new = $(e).parent().parent().parent().find('.email-placeholder-switch-value-new').clone().removeClass('email-placeholder-switch-value-new'); + $(e).parent().parent().parent().append($new); +} + function placeholder_type(e){ switch(e.val()){ case '2': diff --git a/saimod_mail.php b/saimod_mail.php index 1a2f464..53b466d 100644 --- a/saimod_mail.php +++ b/saimod_mail.php @@ -339,7 +339,8 @@ class saimod_mail extends \SYSTEM\SAI\sai_module{ $vars['placeholders'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mail/tpl/saimod_mail_email_placeholder.tpl'))->SERVERPATH(),$row); } //placeholder new - $new_placeholder = ['selected_1' => 'selected', 'selected_2' => '', 'selected_3' => '', + $new_placeholder = ['id' => '', + 'selected_1' => 'selected', 'selected_2' => '', 'selected_3' => '', 'name' => '', 'text_value' => '', 'name_default' => '', 'switch_table' => '', 'switch_field' => '', 'switch_default' => '', @@ -406,22 +407,26 @@ class saimod_mail extends \SYSTEM\SAI\sai_module{ public static function sai_mod__SAI_saimod_mail_action_update_email($data){ \SQL\EMAIL_UPDATE::QI(array($data['name'],$data['account'],$data['sender'],$data['subject'],$data['text_template'],$data['html_template'],$data['id'])); - foreach($data['images'] as $image){ - if($image['deleted'] && $image['id']){ - \SQL\EMAIL_IMAGE_DELETE::QI(array($data['id'],$image['id'])); - } else if($image['id']){ - \SQL\EMAIL_IMAGE_UPDATE::QI(array($image['name'],$image['file'],$image['mime'],$data['id'],$image['id'])); - } else if(!$image['deleted']){ - \SQL\EMAIL_IMAGE_INSERT::QI(array($image['id'],$data['id'],$image['name'],$image['file'],$image['mime'])); + if(array_key_exists('images', $data)){ + foreach($data['images'] as $image){ + if($image['deleted'] && $image['id']){ + \SQL\EMAIL_IMAGE_DELETE::QI(array($data['id'],$image['id'])); + } else if($image['id']){ + \SQL\EMAIL_IMAGE_UPDATE::QI(array($image['name'],$image['file'],$image['mime'],$data['id'],$image['id'])); + } else if(!$image['deleted']){ + \SQL\EMAIL_IMAGE_INSERT::QI(array($image['id'],$data['id'],$image['name'],$image['file'],$image['mime'])); + } } } - foreach($data['placeholders'] as $placeholder){ - if($placeholder['deleted'] && $placeholder['id']){ - \SQL\EMAIL_PLACEHOLDER_DELETE::QI(array($data['id'],$placeholder['id'])); - } else if($placeholder['id']){ - \SQL\EMAIL_PLACEHOLDER_UPDATE::QI(array($placeholder['name'],$placeholder['type'],json_encode($placeholder['data']),$data['id'],$placeholder['id'])); - } else if(!$placeholder['deleted']){ - \SQL\EMAIL_PLACEHOLDER_INSERT::QI(array($placeholder['id'],$data['id'],$placeholder['name'],$placeholder['type'],json_encode($placeholder['data']))); + if(array_key_exists('placeholders', $data)){ + foreach($data['placeholders'] as $placeholder){ + if($placeholder['deleted'] && $placeholder['id']){ + \SQL\EMAIL_PLACEHOLDER_DELETE::QI(array($data['id'],$placeholder['id'])); + } else if($placeholder['id']){ + \SQL\EMAIL_PLACEHOLDER_UPDATE::QI(array($placeholder['name'],$placeholder['type'],json_encode($placeholder['data']),$data['id'],$placeholder['id'])); + } else if(!$placeholder['deleted']){ + \SQL\EMAIL_PLACEHOLDER_INSERT::QI(array($placeholder['id'],$data['id'],$placeholder['name'],$placeholder['type'],json_encode($placeholder['data']))); + } } } return \JsonResult::ok(); diff --git a/sql/mysql/system_mails.sql b/sql/mysql/system_mails.sql index 2147aef..761435e 100644 --- a/sql/mysql/system_mails.sql +++ b/sql/mysql/system_mails.sql @@ -2,9 +2,9 @@ INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (1,'Test Liste' INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (2,'Newsletter',1); INSERT IGNORE INTO email_list (`id`,`name`,`system_lock`) VALUES (3,'Prototype',1); -INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (1,'Mail Test','Testing | DEMOCRACY ','${emoji_mobile} DEMOCRACY Mail Test',1,2,0); -INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (1,0,'Mail Test Text','Use this Mail for testing',0); -INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (2,1,'Mail Test HTML','Use this Mail for testing',0); +INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (1,'Mail Test','Testing | DEMOCRACY ','${emoji_mobile} DEMOCRACY Mail Test',1,2,NULL); +INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (1,0,'Mail Test Text','Use this Mail for testing',NULL); +INSERT IGNORE INTO email_template (`id`,`type`,`name`,`value`,`system_lock`) VALUES (2,1,'Mail Test HTML','Use this Mail for testing',NULL); INSERT IGNORE INTO email (`id`,`name`,`sender`,`subject`,`template_text`,`template_html`,`system_lock`) VALUES (10,'Website Contact','${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); diff --git a/tpl/saimod_mail_email_placeholder.tpl b/tpl/saimod_mail_email_placeholder.tpl index a9445e7..5996caf 100644 --- a/tpl/saimod_mail_email_placeholder.tpl +++ b/tpl/saimod_mail_email_placeholder.tpl @@ -40,7 +40,7 @@ Values - + ${switch_values}