Setting up contact address and phone numbers for mail merge.
'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();
$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' );
if ( $option2 === 'sendMessages' && isset( $_REQUEST['message_id'] ) && $messageId = filter_var( $_REQUEST['message_id'], FILTER_VALIDATE_INT ) ) {
$this->sendHtmlMessages( $searchResults, $messageId );
+ $emailsQueued = true;
}
}
'states' => $states,
'cities' => $cities,
'counties' => $counties,
+ 'emailsQueued' => $emailsQueued,
);
break;
'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 ) {
$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>';
</div> <!-- / admin content area -->
+
<div class="glm-copyright">
{$glmPluginName}<br>
Copyright © 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 -->
<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;">
-<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>
-<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" />
-<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">
-<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>
<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}
-<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>
<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}
-<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'}