Updating the classes extending messages
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 9 Aug 2019 18:56:19 +0000 (14:56 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 9 Aug 2019 18:56:19 +0000 (14:56 -0400)
put fixImages method in base class

classes/data/dataEmailMessages.php
models/admin/ajax/newsletter.php
models/admin/messages/index.php
models/admin/messages/sendMessagesEmails.php
views/email/messages/newsletter.html

index 1913c2d..253c202 100644 (file)
@@ -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( '<?xml encoding="UTF-8">' . $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;
+    }
+
 }
index 0b50e18..ff723e3 100644 (file)
@@ -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 = '<p>Message Content would go here!</p>';
@@ -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;
-    }
-
 }
index a23eba3..17473f6 100644 (file)
@@ -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 '<pre>$this->config: ' . print_r( $this->config, true ) . '</pre>';
             $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 '<pre>$catsToUse: ' . print_r( $catsToUse, true ) . '</pre>';
 
             if ( $catsToUse && $catsToUse !== '' ) {
                 $cats = '';
@@ -266,7 +264,6 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                 )";
                 // $catSelectedString = $cats;
             }
-            // echo '<pre>$categories: ' . print_r( $categories, true ) . '</pre>';
 
             // 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 '<pre>$where: ' . print_r( $where, true ) . '</pre>';
 
                 $searchResults = $Members->getList( $where );
-                // $searchResults = $Members->getSimpleMemberInfoList( $where );
-                // echo '<pre>$searchResults: ' . print_r( $searchResults, true ) . '</pre>';
 
                 $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 '<pre>$_REQUEST: ' . print_r( $_REQUEST, true ) . '</pre>';
-
             $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 '<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 ) {
@@ -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 '<pre>'.print_r($_REQUEST, true).'</pre>';
             $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 '<pre>$contact: ' . print_r( $contact, true ) . '</pre>';
                         $emailData = array(
                             'member' => array(
                                 'name' => $memData['member'],
@@ -596,9 +576,7 @@ class GlmMembersAdmin_messages_index extends GlmDataEmailMessages
                                 '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>';
 
                         // 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;
-    }
 }
index 10a55b0..d48d0d3 100644 (file)
@@ -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(
index 2753f77..1aa258e 100644 (file)
@@ -6,7 +6,7 @@
 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <meta name="viewport" content="width=device-width">
-    <title>My Newsletter Email Template Subject</title>
+    <title>{$templateName}</title>
     {literal}
     <style>@media only screen{html{min-height:100%;background:#f3f3f3}}@media only screen and (max-width:596px){.small-float-center{margin:0 auto!important;float:none!important;text-align:center!important}}@media only screen and (max-width:596px){table.body img{width:auto;height:auto}table.body center{min-width:0!important}table.body .container{width:95%!important}table.body .columns{height:auto!important;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:16px!important;padding-right:16px!important}table.body .columns .columns{padding-left:0!important;padding-right:0!important}table.body .collapse .columns{padding-left:0!important;padding-right:0!important}th.small-6{display:inline-block!important;width:50%!important}th.small-12{display:inline-block!important;width:100%!important}.columns th.small-12{display:block!important;width:100%!important}table.menu{width:100%!important}table.menu td,table.menu th{width:auto!important;display:inline-block!important}table.menu.vertical td,table.menu.vertical th{display:block!important}table.menu[align=center]{width:auto!important}}</style>
     {/literal}