Working on more replacement for messages.
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 10 Jun 2019 19:38:21 +0000 (15:38 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 10 Jun 2019 19:38:21 +0000 (15:38 -0400)
Setting up contact address and phone numbers for mail merge.

models/admin/ajax/newsletter.php
models/admin/messages/index.php
views/admin/footer.html
views/admin/header.html
views/admin/messages/editHtmlEmail.html
views/admin/messages/editTemplate.html
views/admin/messages/index.html
views/admin/messages/list.html
views/admin/messages/listMessagesTable.html
views/admin/messages/listTemplates.html
views/admin/messages/search.html

index b7e1a7a..e7d10cd 100644 (file)
@@ -79,8 +79,16 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages
                     'name' => 'Test Member',
                 ),
                 'contact' => array(
-                    'fname' => 'John',
-                    'lname' => 'Doe',
+                    'fname'        => 'John',
+                    'lname'        => 'Doe',
+                    'addr1'        => '120 E Lake St.',
+                    'addr2'        => 'P.O. Box 20',
+                    'city'         => 'Petoskey',
+                    'state'        => 'MI',
+                    'zip'          => '49770',
+                    'office_phone' => '(231) 555-1234',
+                    'home_phone'   => '(231) 555-4242',
+                    'mobile_phone' => '(231) 555-2424',
                 ),
             );
             $smarty = new smartyTemplateSupport();
index e5553dc..aa4584d 100644 (file)
@@ -130,6 +130,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
             $mTypeSelected = false;
             $whereParts    = array();
             $catsToUse     = array();
+            $emailsQueued  = false;
 
             wp_enqueue_style( 'select2','https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css' );
             wp_enqueue_script( 'select2js', 'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js' );
@@ -274,6 +275,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
 
                 if ( $option2 === 'sendMessages' && isset( $_REQUEST['message_id'] ) && $messageId = filter_var( $_REQUEST['message_id'], FILTER_VALIDATE_INT ) ) {
                     $this->sendHtmlMessages( $searchResults, $messageId );
+                    $emailsQueued = true;
                 }
 
             }
@@ -306,6 +308,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                 'states'        => $states,
                 'cities'        => $cities,
                 'counties'      => $counties,
+                'emailsQueued'  => $emailsQueued,
             );
             break;
 
@@ -323,10 +326,19 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                         'name' => 'Test Member',
                     ),
                     'contact' => array(
-                        'fname' => 'John',
-                        'lname' => 'Doe',
+                        'fname'        => 'John',
+                        'lname'        => 'Doe',
+                        'addr1'        => '120 E Lake St.',
+                        'addr2'        => 'P.O. Box 20',
+                        'city'         => 'Petoskey',
+                        'state'        => 'MI',
+                        'zip'          => '49770',
+                        'office_phone' => '(231) 555-1234',
+                        'home_phone'   => '(231) 555-4242',
+                        'mobile_phone' => '(231) 555-2424',
                     ),
                 );
+                // echo '<pre>$emailData: ' . print_r( $emailData, true ) . '</pre>';
                 $smarty = new smartyTemplateSupport();
                 require GLM_MEMBERS_PLUGIN_SETUP_PATH . '/standardTemplateParams.php';
                 if ( is_array( $emailData ) && count( $emailData ) > 0 ) {
@@ -462,18 +474,28 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                 $whereParts[] = "T.active = true";
                 $whereParts[] = "T.email like '%@%'";
                 $where = implode( " AND ", $whereParts );
-                $memberContacts = $Contacts->getSimplified( $where );
+                $memberContacts = $Contacts->getList( $where );
                 if ( $memberContacts && !empty( $memberContacts ) ) {
                     foreach ( $memberContacts as $contact ) {
+                        // echo '<pre>$contact: ' . print_r( $contact, true ) . '</pre>';
                         $emailData = array(
                             'member' => array(
                                 'name' => $memData['member'],
                             ),
                             'contact' => array(
-                                'fname' => $contact['fname'],
-                                'lname' => $contact['lname'],
+                                'fname'        => $contact['fname'],
+                                'lname'        => $contact['lname'],
+                                'addr1'        => $contact['addr1'],
+                                'addr2'        => $contact['addr2'],
+                                'city'         => $contact['city'],
+                                'state'        => $contact['state']['value'],
+                                'zip'          => $contact['zip'],
+                                'office_phone' => $contact['office_phone'],
+                                'home_phone'   => $contact['home_phone'],
+                                'mobile_phone' => $contact['mobile_phone'],
                             )
                         );
+                        // echo '<pre>$emailData: ' . print_r( $emailData, true ) . '</pre>';
                         $messageBody = $this->generateHTML( $emailData, wpautop( $message['message_body'] ), $message['template_id']['value'] );
                         // echo '<pre>$messageBody: ' . print_r( $messageBody, true ) . '</pre>';
 
index 6029dc1..7221530 100644 (file)
@@ -1,11 +1,12 @@
 
     </div> <!-- / admin content area -->
+
     <div class="glm-copyright">
         {$glmPluginName}<br>
         Copyright &copy; 2014-{$thisYear} Gaslight Media - All Rights Reserved<br>
         Phone: 231-487-0692 - E-Mail: info@gaslightmedia.com<br>
         <a href="http://www.gaslightmedia.com">http://www.gaslightmedia.com</a>
     </div>
-     
-  
-</div> <!-- / wrap -->
\ No newline at end of file
+
+
+</div> <!-- / wrap -->
index 25b377b..959bfb0 100644 (file)
@@ -1,11 +1,8 @@
 <div class="wrap" id="glm-member-db-messages-app">
-
-    {* Navigation *}
-
+    <h2>Member Communication</h2>
     <h2 class="nav-tab-wrapper">
         <a href="{$thisUrl}?page={$thisPage}&option=search" class="nav-tab{if $thisOption==search} nav-tab-active{/if}">Search Members/Contacts/Profiles</a>
         <a href="{$thisUrl}?page={$thisPage}&option=list" class="nav-tab{if $thisOption==list} nav-tab-active{/if}">Email Messages</a>
         <a href="{$thisUrl}?page={$thisPage}&option=listTemplates" class="nav-tab{if $thisOption==listTemplates} nav-tab-active{/if}">Email Templates</a>
     </h2>
-
-    <div id="glm-admin-content-container" style="width: 1024px; box-sizing: border-box;">
+    <div id="glm-admin-content-container" style="width: 1024px;">
index 9819125..2a2e28c 100644 (file)
@@ -1,5 +1,5 @@
-<h2>Html Email</h2>
 {include file='admin/header.html'}
+<h2>Html Email</h2>
 
 <form action="{$thisUrl}?page={$thisPage}" method="post">
     <input type="hidden" name="option" value="updateHtmlEmail" />
                         <th>{literal}{$contact.lname}{/literal}</th>
                         <td>Contact Last Name</td>
                     </tr>
+                    <tr>
+                        <th>{literal}{$contact.addr1}{/literal}</th>
+                        <td>Contact Address Line 1</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.addr1}{/literal}</th>
+                        <td>Contact Address Line 1</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.city}{/literal}</th>
+                        <td>Contact City</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.state}{/literal}</th>
+                        <td>Contact State</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.zip}{/literal}</th>
+                        <td>Contact Zip</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.office_phone}{/literal}</th>
+                        <td>Contact Office Phone</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.home_phone}{/literal}</th>
+                        <td>Contact Home Phone</td>
+                    </tr>
+                    <tr>
+                        <th>{literal}{$contact.mobile_phone}{/literal}</th>
+                        <td>Contact Mobile Phone</td>
+                    </tr>
                 </table>
 
 
index be76075..7eec3ce 100644 (file)
@@ -1,5 +1,5 @@
-<h2>Html Email</h2>
 {include file='admin/header.html'}
+<h2>Html Email</h2>
 
 <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
     <input type="hidden" name="option" value="updateTemplate" />
index 00a79db..0f92075 100644 (file)
@@ -1,7 +1,7 @@
-<h2>Messages Dashboard</h2>
-
 {include file='admin/header.html'}
 
+<h2>Messages Dashboard</h2>
+
 <div class="glma-row">
     <div class="glma-small-8 glma-columns">
         <form action="{$thisUrl}?page={$thisPage}" method="get">
index 5a999ab..e6ac216 100644 (file)
@@ -1,5 +1,5 @@
-<h2>List Messages</h2>
 {include file='admin/header.html'}
+<h2>List Messages</h2>
 
 <a href="{$thisUrl}?page={$thisPage}&option=editHtmlEmail" class="button button-primary glm-right">Add Message</a>
 
index 2929d22..5a3b6bf 100644 (file)
@@ -18,7 +18,7 @@
                     <td> {$message.last_updated.timestamp|date_format:"%D %r"} </td>
                     <td> {$message.sent|date_format:"%D %r"} </td>
                     <td> {$message.stats|date_format:"%D %r"} </td>
-                    <td> <a href="{$thisUrl}?page={$thisPage}&option=preview&id={$message.template_id.value}&message_id={$message.id}">Preview Template</a> </td>
+                    <td> <a href="{$thisUrl}?page={$thisPage}&option=preview&id={$message.template_id.value}&message_id={$message.id}">Preview</a> </td>
                 </tr>
             {/foreach}
         {/if}
index e58218f..7ffe932 100644 (file)
@@ -1,5 +1,5 @@
-<h2>List Messages</h2>
 {include file='admin/header.html'}
+<h2>List Templates</h2>
 
 <a href="{$thisUrl}?page={$thisPage}&option=editTemplate" class="button button-primary glm-right">Add Template</a>
 
@@ -17,7 +17,7 @@
                 <tr>
                     <td> {$template.id} </td>
                     <td> <a href="{$thisUrl}?page={$thisPage}&option=editTemplate&id={$template.id}">{$template.name}</a> </td>
-                    <td> <a href="{$thisUrl}?page={$thisPage}&option=preview&id={$template.id}">Preview Template</a> </td>
+                    <td> <a href="{$thisUrl}?page={$thisPage}&option=preview&id={$template.id}">Preview</a> </td>
                 </tr>
             {/foreach}
         {/if}
index 8b5429f..04805ba 100644 (file)
@@ -1,6 +1,5 @@
-<h2>Search Members</h2>
-
 {include file='admin/header.html'}
+<h2>Search Members</h2>
 
 {if $searchResults}
     <form action="{$thisUrl}?page={$thisPage}" method="post">
     </form>
 {/if}
 
+{if $emailsQueued}<span class="glm-notice glm-flash-updated">Emails Queued</span>{/if}
+
 {if $searchResults}
     <table class="wp-list-table widefat fixed posts glm-admin-table" style="width: 1200px;">
         <thead>
     </table>
 {/if}
 
+<script>
+jQuery(document).ready(function($) {
+
+    // Flash certain elements for a short time after display
+    $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
+
+});
+</script>
+
 {include file='admin/footer.html'}