From: Steve Sutton Date: Fri, 9 Aug 2019 15:33:40 +0000 (-0400) Subject: Updating html newsletter X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/index.cgi?a=commitdiff_plain;h=da378478f2f55698be2f4fc91506e68b8049c12c;p=WP-Plugins%2Fglm-member-db-messages.git Updating html newsletter Working on the fix for image alignment. --- diff --git a/index.php b/index.php index b5653ef..9f8f7a7 100644 --- a/index.php +++ b/index.php @@ -116,6 +116,21 @@ if ($is_active != '1') { add_action( 'admin_notices', 'glmMembersMessagesPluginRequired' ); deactivate_plugins('/'.GLM_MEMBERS_MESSAGES_PLUGIN_SLUG.'/index.php'); } +// Check for the Contact Plugin to be installed and active. +function glmMembersMessagesContactPluginRequired() { + echo ' +
+

The '.GLM_MEMBERS_MESSAGES_PLUGIN_NAME.' add-on requires the GLM Associate Contacts Plugin to be installed and active!

+

The '.GLM_MEMBERS_MESSAGES_PLUGIN_NAME.' plugin has been de-activated.

+
+ '; +} +$plugin_name = 'glm-member-db-contacts/index.php'; +$is_active = is_plugin_active($plugin_name); +if ($is_active != '1') { + add_action( 'admin_notices', 'glmMembersMessagesContactPluginRequired' ); + deactivate_plugins('/'.GLM_MEMBERS_MESSAGES_PLUGIN_SLUG.'/index.php'); +} /** * Hooks for creating help documentation diff --git a/models/admin/ajax/ajaxMessagePreview.php b/models/admin/ajax/ajaxMessagePreview.php index c4971cc..4d09191 100644 --- a/models/admin/ajax/ajaxMessagePreview.php +++ b/models/admin/ajax/ajaxMessagePreview.php @@ -70,6 +70,8 @@ class GlmMembersAdmin_ajax_ajaxMessagePreview extends GlmMembersAdmin_messages_i // Save plugin configuration object $this->config = $config; + parent::__construct( $this->wpdb, $this->config ); + } diff --git a/models/admin/ajax/newsletter.php b/models/admin/ajax/newsletter.php index c74d2fe..055c7ff 100644 --- a/models/admin/ajax/newsletter.php +++ b/models/admin/ajax/newsletter.php @@ -98,7 +98,10 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages $smarty->templateAssign( $k, $d ); } } - $emailContent = $smarty->template->fetch( 'eval:' . wpautop( $message['message_body'] ) ); + $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!

'; } @@ -140,4 +143,42 @@ class GlmMembersAdmin_ajax_newsletter extends GlmDataEmailMessages echo $output; exit; } + + + 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: 5px;' ); + break; + case 'right': + $image->setAttribute( 'style', 'float: right; margin: 5px;' ); + 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 de3f416..a11094b 100644 --- a/models/admin/messages/index.php +++ b/models/admin/messages/index.php @@ -338,14 +338,17 @@ 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 ) ) { - $message = $this->getEntry( $messageId ); - // echo '
$message: ' . print_r( $message, true ) . '
'; + 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', @@ -371,12 +374,15 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages $smarty->templateAssign( $k, $d ); } } - $emailContent = $smarty->template->fetch( 'eval:' . wpautop( $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!

'; } 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, @@ -512,8 +518,13 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages case 'list': $view = 'list'; + default: - $where = "T.archived <> true"; + if ( isset( $_REQUEST['filterArchived'] ) && $filterArchived = filter_var( $_REQUEST['filterArchived'], FILTER_VALIDATE_BOOLEAN ) ) { + $where = "T.archived = true"; + } else { + $where = "T.archived <> true"; + } $this->postStats = true; $this->postSent = true; $messages = $this->getList( $where ); diff --git a/views/admin/messages/editHtmlEmail.html b/views/admin/messages/editHtmlEmail.html index d3cb2f2..dbe91b3 100644 --- a/views/admin/messages/editHtmlEmail.html +++ b/views/admin/messages/editHtmlEmail.html @@ -141,6 +141,7 @@ 'field' => 'message_body', 'label' => 'Message Content', 'height' => '450', + 'media' => true, 'required' => $data.fieldRequired.message_body, 'errorText' => 'Message Content is Required', 'dataError' => $data.fieldFail.message_body diff --git a/views/admin/messages/list.html b/views/admin/messages/list.html index be0756c..1cc439c 100644 --- a/views/admin/messages/list.html +++ b/views/admin/messages/list.html @@ -1,6 +1,48 @@ {include file='admin/header.html'}

List Messages

+{* Form Start *} +{$ui = [ + 'id' => 'messageSearch', + 'action' => "{$thisUrl}?page={$thisPage}", + 'method' => 'post', + 'file' => false +]} +{include file='ui/f6/form-start.html'} + + + +
+
+ Filter + + {* Show Archived *} + {$ui = [ + 'value' => $smarty.request.filterArchived|default:'', + 'field' => 'filterArchived', + 'label' => 'Show Archived', + 'required' => false, + 'errorText' => 'Show Archived is Required', + 'dataError' => '' + ]} + {include file='ui/f6/checkbox.html'} + + {* Submit *} + {$ui = [ + 'class' => 'primary', + 'label' => 'Submit', + 'submit' => true, + 'id' => '', + 'cancel' => "" + ]} + {include file='ui/f6/submit.html'} + +
+
+ +{* Form End *} +{include file='ui/f6/form-end.html'} + Add Message {include file='admin/messages/listMessagesTable.html'}