From 3a7ae37d0f3043b15153041b583a5a16ee49001c Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 14 Jun 2019 16:03:21 -0400 Subject: [PATCH] Updating templates a bit. Adding delete methods for templates and messages and redoing the forms. --- models/admin/ajax/newsletter.php | 8 +- models/admin/messages/index.php | 37 ++++- views/admin/messages/editHtmlEmail.html | 178 ++++++------------------ views/admin/messages/editTemplate.html | 81 +++-------- 4 files changed, 104 insertions(+), 200 deletions(-) diff --git a/models/admin/ajax/newsletter.php b/models/admin/ajax/newsletter.php index e7d10cd..c74d2fe 100644 --- a/models/admin/ajax/newsletter.php +++ b/models/admin/ajax/newsletter.php @@ -73,7 +73,7 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages $emailContent = ''; $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); if ( isset( $_REQUEST['message_id'] ) && $messageId = filter_var( $_REQUEST['message_id'], FILTER_VALIDATE_INT ) ) { - $message = $this->getEntry( $messageId ); + $message = $this->getEntry( $messageId ); $emailData = array( 'member' => array( 'name' => 'Test Member', @@ -102,6 +102,12 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages } else { $emailContent = '

Message Content would go here!

'; } + $template = array( + 'image' => '', + 'content' => '', + 'footor' => '', + 'templateName' => '', + ); if ( isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) { $template = $Templates->getEntry( $id ); } diff --git a/models/admin/messages/index.php b/models/admin/messages/index.php index 5a7b1bb..84f6f17 100644 --- a/models/admin/messages/index.php +++ b/models/admin/messages/index.php @@ -118,10 +118,16 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages } $tData = array(); + // Get a count of templates + $templateCount = $this->wpdb->get_var( + "SELECT count(*) + FROM " . GLM_MEMBERS_MESSAGES_PLUGIN_DB_PREFIX . "email_templates" + ); $templateData = array( 'newEntry' => false, 'thisOption' => $option, 'pluginAssetsUrl' => GLM_MEMBERS_MESSAGES_PLUGIN_BASE_URL . '/assets/', + 'templateCount' => $templateCount, ); wp_enqueue_style( 'glmaFoundation', GLM_MEMBERS_PLUGIN_URL . '/css/glma-foundation.min.css' ); @@ -359,8 +365,8 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $template = $Templates->getEntry( $id ); } $tData = array( - 'template_id' => $id, - 'message_id' => $messageId, + 'template_id' => $id, + 'message_id' => $messageId, ); break; @@ -399,6 +405,14 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages break; } + case 'deleteTemplate': + $view = 'list'; + $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); + if ( $option == 'deleteTemplate' && isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) { + $Templates->deleteEntry( $id, true ); + } + + case 'listTemplates': $view = 'listTemplates'; $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); @@ -420,6 +434,19 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $tData = array( 'message' => $message, 'newEntry' => $newEntry, + 'merge_tags' => array( + 'Member Name', '{$member.name}', + 'Contact First Name', '{$contact.fname}', + 'Contact Last Name', '{$contact.lname}', + 'Contact Address Line 1', '{$contact.addr1}', + 'Contact Address Line 2', '{$contact.addr2}', + 'Contact City', '{$contact.city}', + 'Contact State', '{$contact.state}', + 'Contact Zip', '{$contact.zip}', + 'Contact Office Phone', '{$contact.office_phone}', + 'Contact Home Phone', '{$contact.home_phone}', + 'Contact Mobile Phone', '{$contact.mobile_phone}', + ) ); break; @@ -441,6 +468,11 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages break; } + case 'deleteMessage': + $view = 'list'; + if ( $option == 'deleteMessage' && isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) { + $this->deleteEntry( $id, true ); + } case 'list': $view = 'list'; @@ -459,6 +491,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $templateData = array_merge( $templateData, $tData ); + // Return status, suggested view, and data to controller return array( 'status' => $success, diff --git a/views/admin/messages/editHtmlEmail.html b/views/admin/messages/editHtmlEmail.html index ece95f4..590266a 100644 --- a/views/admin/messages/editHtmlEmail.html +++ b/views/admin/messages/editHtmlEmail.html @@ -1,159 +1,62 @@ +{* Message Add Edit Form *} {include file='admin/header.html'}

Html Email

+{* UI for Delete Dialog *} +{if !$newEntry} + {assign var="itemName" value="Message"} + {assign var="deleteUrl" value="{$thisUrl}?page={$thisPage}&option=deleteMessage&id={$message.fieldData.id}"} + {include file='admin/ui/deleteDialog.html'} +{/if} +
{if !$newEntry} {/if} -
-
- -
-
- Archived - {if $message.fieldFail.archived}{$message.fieldFail.archived}{/if} -
-
+ {* This is for the rest of UI elements *} + {assign var="data" value=$message} -
-
- -
-
- - {if $message.fieldFail.template_id}{$message.fieldFail.template_id}{/if} -
-
+ {assign var="field" value="archived"} + {assign var="fieldLabel" value="Archived:"} + {include file="admin/ui/f6-checkbox.html"} -
-
- -
-
- - {if $message.fieldFail.from_name}{$message.fieldFail.from_name}{/if} -
-
+ {assign var="field" value="template_id"} + {assign var="fieldLabel" value="Template:"} + {include file="admin/ui/f6-select.html"} -
-
- -
-
- - {if $message.fieldFail.from_email}{$message.fieldFail.from_email}{/if} -
-
+ {assign var="field" value="from_name"} + {assign var="fieldLabel" value="From Name:"} + {include file="admin/ui/f6-text.html"} -
-
- -
-
- - {if $message.fieldFail.reply_to_email}{$message.fieldFail.reply_to_email}{/if} -
-
+ {assign var="field" value="from_email"} + {assign var="fieldLabel" value="From Email:"} + {include file="admin/ui/f6-text.html"} -
-
- -
-
- - {if $message.fieldFail.subject}{$message.fieldFail.subject}{/if} -
-
+ {assign var="field" value="reply_to_email"} + {assign var="fieldLabel" value="Reply To:"} + {include file="admin/ui/f6-text.html"} + + {assign var="field" value="subject"} + {assign var="fieldLabel" value="Subject:"} + {include file="admin/ui/f6-text.html"} + + {assign var="field" value="message_body"} + {assign var="fieldLabel" value="Message Content:"} + {include file="admin/ui/f6-editor.html"} + + {assign var="tData" value=$merge_tags} + + Merge Tags +

The "merge tags" listed below may be used in the email message to include certain information about the Member or Contact. Be sure to include the "{" and "}" and "$" characters exactly as shown.

-
- -
-
- {if $message} - {$textAreaContent = $message.fieldData.message_body} - {else} - {$textAreaContent = ''} - {/if} - {wp_editor( - $textAreaContent, - 'message_body', - json_decode('{ - "media_buttons": true, - "quicktags": false, - "textarea_name": "message_body", - "editor_height": 250 - }', true) - )} -
- {if $message.fieldFail.message_body}{$message.fieldFail.message_body}{/if} +
+ {html_table loop=$tData cols=2 table_attr='border=0 style=width: 400px;' caption='Merge Tags Examples' td_attr=['align="left"','align="left"']}
- - - - -
- Merge Tags -

The "merge tags" listed below may be used in the email message to include certain information about the Member or Contact. Be sure to include the "{" and "}" and "$" characters exactly as shown.

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{literal}{$member.name}{/literal}Member Name
{literal}{$contact.fname}{/literal}Contact First Name
{literal}{$contact.lname}{/literal}Contact Last Name
{literal}{$contact.addr1}{/literal}Contact Address Line 1
{literal}{$contact.addr1}{/literal}Contact Address Line 1
{literal}{$contact.city}{/literal}Contact City
{literal}{$contact.state}{/literal}Contact State
{literal}{$contact.zip}{/literal}Contact Zip
{literal}{$contact.office_phone}{/literal}Contact Office Phone
{literal}{$contact.home_phone}{/literal}Contact Home Phone
{literal}{$contact.mobile_phone}{/literal}Contact Mobile Phone
-

-
-
@@ -162,4 +65,5 @@ + {include file='admin/footer.html'} diff --git a/views/admin/messages/editTemplate.html b/views/admin/messages/editTemplate.html index f78a93c..13d5893 100644 --- a/views/admin/messages/editTemplate.html +++ b/views/admin/messages/editTemplate.html @@ -1,5 +1,13 @@ +{* Template Add Edit Form *} {include file='admin/header.html'} -

Html Email

+

Html Email

+ +{* UI for Delete Dialog *} +{if !$newEntry && $templateCount > 1} + {assign var="itemName" value="Template"} + {assign var="deleteUrl" value="{$thisUrl}?page={$thisPage}&option=deleteTemplate&id={$template.fieldData.id}"} + {include file='admin/ui/deleteDialog.html'} +{/if}
@@ -7,67 +15,20 @@ {/if} -
-
- -
-
- - {if $template.fieldFail.name}{$template.fieldFail.name}{/if} -
-
+ {* This is for the rest of UI elements *} + {assign var="data" value=$template} -
-
- -
-
-
- {if $template.fieldData.image} -
-
-
- -
-
-
-
- Delete Image
- {$template.fieldData.image} -
-
-
- {/if} -
New image:
-
- {if $template.fieldFail.image}

{$template.fieldFail.image}

{/if} -
-
-
+ {assign var="field" value="name"} + {assign var="fieldLabel" value="Name:"} + {include file="admin/ui/f6-text.html"} -
-
- -
-
- {if $template} - {$textAreaContent = $template.fieldData.footer} - {else} - {$textAreaContent = ''} - {/if} - {wp_editor( - $textAreaContent, - 'footer', - json_decode('{ - "media_buttons": true, - "quicktags": false, - "textarea_name": "footer", - "editor_height": 250 - }', true) - )} - {if $template.fieldFail.footer}{$template.fieldFail.footer}{/if} -
-
+ {assign var="field" value="image"} + {assign var="fieldLabel" value="Header Image:"} + {include file="admin/ui/f6-image.html"} + + {assign var="field" value="footer"} + {assign var="fieldLabel" value="Footer Content:"} + {include file="admin/ui/f6-editor.html"}
-- 2.17.1