From 778a8f03a5fca1c8903e799924dabc5d99f2a6c6 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 9 Aug 2019 14:56:19 -0400 Subject: [PATCH] Updating the classes extending messages put fixImages method in base class --- classes/data/dataEmailMessages.php | 36 +++++++++ models/admin/ajax/newsletter.php | 37 --------- models/admin/messages/index.php | 83 +++----------------- models/admin/messages/sendMessagesEmails.php | 2 +- views/email/messages/newsletter.html | 2 +- 5 files changed, 50 insertions(+), 110 deletions(-) diff --git a/classes/data/dataEmailMessages.php b/classes/data/dataEmailMessages.php index 1913c2d..253c202 100644 --- a/classes/data/dataEmailMessages.php +++ b/classes/data/dataEmailMessages.php @@ -232,4 +232,40 @@ class GlmDataEmailMessages extends GlmDataAbstract } + public function fixImages( $content ) + { + $dom = new DOMDocument( '1.0', 'UTF-8' ); + $dom->encoding = 'UTF-8'; + $test = $dom->loadHTML( '' . $content ); + $images = $dom->getElementsByTagName( 'img' ); + foreach ( $images as $image ) { + $width = $height = $align = null; + if ( $image->hasAttribute( 'class' ) ) { + // Is it left or right or center? + if ( preg_match( '/alignleft/', $image->getAttribute('class'))) { + $align = 'left'; + } + if ( preg_match( '/alignright/', $image->getAttribute('class'))) { + $align = 'right'; + } + if ( preg_match( '/aligncenter/', $image->getAttribute('class'))) { + $align = 'center'; + } + } + switch ( $align ) { + case 'left': + $image->setAttribute( 'style', 'float: left; margin: 10px;' ); + break; + case 'right': + $image->setAttribute( 'style', 'float: right; margin: 10px;' ); + break; + case 'center': + $image->setAttribute( 'style', 'display: block; text-align: center; margin: 0 auto;' ); + break; + } + } + $content = $dom->saveHTML(); + return $content; + } + } diff --git a/models/admin/ajax/newsletter.php b/models/admin/ajax/newsletter.php index 0b50e18..ff723e3 100644 --- a/models/admin/ajax/newsletter.php +++ b/models/admin/ajax/newsletter.php @@ -100,7 +100,6 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages } $message['message_body'] = $this->fixImages( $message['message_body'] ); $htmlMessage = wpautop( $message['message_body'] ); - // $htmlMessage = nl2br( $message['message_body'] ); $emailContent = $smarty->template->fetch( 'eval:' . $htmlMessage ); } else { $emailContent = '

Message Content would go here!

'; @@ -145,40 +144,4 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages } - public function fixImages( $content ) - { - $dom = new DOMDocument( '1.0', 'UTF-8' ); - $dom->encoding = 'UTF-8'; - $test = $dom->loadHTML( $content ); - $images = $dom->getElementsByTagName( 'img' ); - foreach ( $images as $image ) { - $width = $height = $align = null; - if ( $image->hasAttribute( 'class' ) ) { - // Is it left or right or center? - if ( preg_match( '%alignleft%', $image->getAttribute('class'))) { - $align = 'left'; - } - if ( preg_match( '%alignright%', $image->getAttribute('class'))) { - $align = 'right'; - } - if ( preg_match( '%aligncenter%', $image->getAttribute('class'))) { - $align = 'center'; - } - } - switch ( $align ) { - case 'left': - $image->setAttribute( 'style', 'float: left; margin: 10px;' ); - break; - case 'right': - $image->setAttribute( 'style', 'float: right; margin: 10px;' ); - break; - case 'center': - $image->setAttribute( 'style', 'display: block; text-align: center; margin: 0 auto;' ); - break; - } - } - $content = $dom->saveHTML(); - return $content; - } - } diff --git a/models/admin/messages/index.php b/models/admin/messages/index.php index a23eba3..17473f6 100644 --- a/models/admin/messages/index.php +++ b/models/admin/messages/index.php @@ -104,7 +104,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $option = ''; $option2 = false; $viewPath = 'admin/messages/'; - $mergeTags = array( + $mergeTags = [ 'Member Name', '{$member.name}', 'Contact First Name', '{$contact.fname}', 'Contact Last Name', '{$contact.lname}', @@ -116,7 +116,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages 'Contact Office Phone', '{$contact.office_phone}', 'Contact Home Phone', '{$contact.home_phone}', 'Contact Mobile Phone', '{$contact.mobile_phone}', - ); + ]; // Setup Foundation 6 wp_enqueue_style( 'Foundation6', GLM_MEMBERS_PLUGIN_URL . 'css/foundation-6.min.css' ); @@ -130,7 +130,9 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $option2 = $_REQUEST['option2']; } - $tData = array(); + // Initialize $tData array. + $tData = array(); + // Get a count of templates $templateCount = $this->wpdb->get_var( "SELECT count(*) @@ -147,7 +149,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages switch ( $option ) { case 'search': - // echo '
$this->config: ' . print_r( $this->config, true ) . '
'; $view = 'search'; $searchResults = array(); $messages = array(); @@ -169,7 +170,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages if ( isset( $_REQUEST['filterMemberStatus'] ) && $filterStatus = filter_var( $_REQUEST['filterMemberStatus'], FILTER_VALIDATE_INT) ) { $whereParts[] = " T.id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE status = " . $filterStatus . ")"; } else { - // $whereParts[] = "T..id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE status != " . $this->config['status_numb']['Archived'] . ")"; } if ( isset( $_REQUEST['filterMemberCity'] ) && $filterMemberCity = filter_var( $_REQUEST['filterMemberCity'], FILTER_VALIDATE_INT) ) { $whereParts[] = " T.id IN ( SELECT member FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "member_info WHERE city = " . $filterMemberCity . ")"; @@ -186,7 +186,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages if ( isset( $_REQUEST['filterMemberAccess'] ) && $filterAccess = filter_var( $_REQUEST['filterMemberAccess'], FILTER_VALIDATE_INT) ) { $whereParts[] = " T.access = ".$filterAccess; - // $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where access = ".$filterAccess.")"; } if ( isset( $_REQUEST['filterMemberName'] ) && $filterMemberName = filter_var( $_REQUEST['filterMemberName'] ) ) { $textSearch = addslashes(filter_var($_REQUEST['filterMemberName'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); @@ -239,7 +238,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages if ( isset( $_REQUEST['filterCategories'] ) && count( $_REQUEST['filterCategories'] ) > 0) { $catsToUse = $_REQUEST['filterCategories']; } - // echo '
$catsToUse: ' . print_r( $catsToUse, true ) . '
'; if ( $catsToUse && $catsToUse !== '' ) { $cats = ''; @@ -266,7 +264,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages )"; // $catSelectedString = $cats; } - // echo '
$categories: ' . print_r( $categories, true ) . '
'; // Get a list of member_types for filtering require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberTypes.php'; @@ -275,7 +272,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages // Check if there is a member_type filter if ( isset( $_REQUEST['filterMemberTypes'] ) && $memberTypeFilter = filter_var( $_REQUEST['filterMemberTypes'], FILTER_VALIDATE_INT ) ) { - // $whereParts[] = " T.member IN (SELECT id FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members where member_type = $memberTypeFilter) "; $whereParts[] = " T.member_type = $memberTypeFilter "; $mTypeSelected = $memberTypeFilter; } @@ -284,15 +280,10 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages // Do search require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMembers.php'; $Members = new GlmDataMembers( $this->wpdb, $this->config ); - // require_once GLM_MEMBERS_PLUGIN_CLASS_PATH . '/data/dataMemberInfo.php'; - // $Members = new GlmDataMemberInfo( $this->wpdb, $this->config ); $where = implode( ' AND ', $whereParts ); - // echo '
$where: ' . print_r( $where, true ) . '
'; $searchResults = $Members->getList( $where ); - // $searchResults = $Members->getSimpleMemberInfoList( $where ); - // echo '
$searchResults: ' . print_r( $searchResults, true ) . '
'; $where = "T.archived <> true"; $messages = $this->getList( $where ); @@ -319,8 +310,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages // Setup States $states = $this->config['states']; - // echo '
$_REQUEST: ' . print_r( $_REQUEST, true ) . '
'; - $tData = array( 'searched' => isset($_REQUEST['search']) ? true: false, 'messages' => $messages, @@ -338,17 +327,13 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages break; case 'preview': - trigger_error( 'REQUEST: ' . print_r($_REQUEST, true), E_USER_NOTICE ); $view = 'newsletterFrame'; $viewPath = 'email/messages/'; $emailContent = ''; $messageId = false; $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); - trigger_error( '$this: ' . print_r($this->fields, true), E_USER_NOTICE ); if ( isset( $_REQUEST['message_id'] ) && $messageId = filter_var( $_REQUEST['message_id'], FILTER_VALIDATE_INT ) ) { - trigger_error( 'messageId: ' . print_r($messageId, true), E_USER_NOTICE ); $message = $this->getEntry( $messageId ); - trigger_error( 'message: ' . print_r($message, true), E_USER_NOTICE ); $emailData = array( 'member' => array( 'name' => 'Test Member', @@ -366,7 +351,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages 'mobile_phone' => '(231) 555-2424', ), ); - // echo '
$emailData: ' . print_r( $emailData, true ) . '
'; $smarty = new smartyTemplateSupport(); require GLM_MEMBERS_PLUGIN_SETUP_PATH . '/standardTemplateParams.php'; if ( is_array( $emailData ) && count( $emailData ) > 0 ) { @@ -374,7 +358,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $smarty->templateAssign( $k, $d ); } } - // $htmlMessage = wpautop( $message['message_body'] ); $htmlMessage = nl2br( $message['message_body'] ); $emailContent = $smarty->template->fetch( 'eval:' . $htmlMessage ); } else { @@ -382,7 +365,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages } if ( isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) { $template = $Templates->getEntry( $id ); - trigger_error( 'template: ' . print_r($template, true), E_USER_NOTICE ); } $tData = array( 'template_id' => $id, @@ -412,7 +394,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $error = false; $success = false; $templateData['thisOption'] = 'listTemplates'; - // echo '
'.print_r($_REQUEST, true).'
'; $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); if ( isset( $_REQUEST['id'] ) && $id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) ) { $newEntry = false; @@ -578,7 +559,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $memberContacts = $Contacts->getList( $where ); if ( $memberContacts && !empty( $memberContacts ) ) { foreach ( $memberContacts as $contact ) { - // echo '
$contact: ' . print_r( $contact, true ) . '
'; $emailData = array( 'member' => array( 'name' => $memData['member'], @@ -596,9 +576,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages 'mobile_phone' => $contact['mobile_phone'], ) ); - // echo '
$emailData: ' . print_r( $emailData, true ) . '
'; $messageBody = $this->generateHTML( $emailData, wpautop( $message['message_body'] ), $message['template_id']['value'] ); - // echo '
$messageBody: ' . print_r( $messageBody, true ) . '
'; // Add this to the email_queue $this->wpdb->insert( @@ -651,13 +629,13 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages function generateHTML( $data, $view, $template ) { - // Load Smarty Template support + // Load Smarty Template support. $smarty = new smartyTemplateSupport(); - // Add standard parameters + // Add standard parameters. require GLM_MEMBERS_PLUGIN_SETUP_PATH . '/standardTemplateParams.php'; - // Add data from model to Smarty template + // Add data from model to Smarty template. if ( is_array( $data ) && count( $data ) > 0 ) { foreach ( $data as $k => $d ) { $smarty->templateAssign( $k, $d ); @@ -665,10 +643,9 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages } $emailContent = $smarty->template->fetch( 'eval:' . $this->fixImages( $view ) ); - - $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); - $template = $Templates->getEntry( $template ); - $tData = array( + $Templates = new GlmDataEmailTemplates( $this->wpdb, $this->config ); + $template = $Templates->getEntry( $template ); + $tData = array( 'image' => $template['image'], 'content' => $emailContent, 'footer' => $template['footer'], @@ -683,46 +660,10 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $viewPath = GLM_MEMBERS_MESSAGES_PLUGIN_PATH . '/views'; $smarty->template->setTemplateDir( $viewPath ); $viewFile = 'email/messages/newsletter.html'; - $out = $smarty->template->fetch( $viewFile ); - // $out = $smarty->template->fetch( 'eval:' . $template['contents'] ); + $out = $smarty->template->fetch( $viewFile ); return $out; } - public function fixImages( $content ) - { - $dom = new DOMDocument( '1.0', 'UTF-8' ); - $dom->encoding = 'UTF-8'; - $test = $dom->loadHTML( $content ); - $images = $dom->getElementsByTagName( 'img' ); - foreach ( $images as $image ) { - $width = $height = $align = null; - if ( $image->hasAttribute( 'class' ) ) { - // Is it left or right or center? - if ( preg_match( '%alignleft%', $image->getAttribute('class'))) { - $align = 'left'; - } - if ( preg_match( '%alignright%', $image->getAttribute('class'))) { - $align = 'right'; - } - if ( preg_match( '%aligncenter%', $image->getAttribute('class'))) { - $align = 'center'; - } - } - switch ( $align ) { - case 'left': - $image->setAttribute( 'style', 'float: left; margin: 10px;' ); - break; - case 'right': - $image->setAttribute( 'style', 'float: right; margin: 10px;' ); - break; - case 'center': - $image->setAttribute( 'style', 'display: block; text-align: center; margin: 0 auto;' ); - break; - } - } - $content = $dom->saveHTML(); - return $content; - } } diff --git a/models/admin/messages/sendMessagesEmails.php b/models/admin/messages/sendMessagesEmails.php index 10a55b0..d48d0d3 100644 --- a/models/admin/messages/sendMessagesEmails.php +++ b/models/admin/messages/sendMessagesEmails.php @@ -83,7 +83,7 @@ class GlmMembersAdmin_messages_sendMessagesEmails //extends GlmDataRegistrations // $notiicationTest to true to just display notification messages public function modelAction( $actionData = false, $notificationTest = false ) { - trigger_error( 'sendMessagesEmail started', E_USER_NOTICE ); + // trigger_error( 'sendMessagesEmail started', E_USER_NOTICE ); // Request a Lock $lock = $this->requestLock( diff --git a/views/email/messages/newsletter.html b/views/email/messages/newsletter.html index 2753f77..1aa258e 100644 --- a/views/email/messages/newsletter.html +++ b/views/email/messages/newsletter.html @@ -6,7 +6,7 @@ - My Newsletter Email Template Subject + {$templateName} {literal} {/literal} -- 2.17.1