Double check emails.
authorSteve Sutton <steve@gaslightmedia.com>
Mon, 5 Dec 2016 21:00:07 +0000 (16:00 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Mon, 5 Dec 2016 21:00:07 +0000 (16:00 -0500)
Check email for valid email by using php filter_var.
Check each email for the admin by exploding the string by commas.

classes/helper/notification.php

index 85c7ae3..e416709 100644 (file)
@@ -93,6 +93,10 @@ class GlmMembersAdmin_event_notification extends GlmDataMembers
         if ( !$notify_to ) {
             return false;
         }
+        $validEmail = filter_var( $notify_to, FILTER_VALIDATE_EMAIL );
+        if ( !$validEmail ) {
+            return false;
+        }
 
         $memberInfoData = new GlmDataMemberInfo( $this->wpdb, $this->config );
         $memberInfo     = $memberInfoData->getActiveInfoForMember( $memberId );
@@ -155,6 +159,14 @@ class GlmMembersAdmin_event_notification extends GlmDataMembers
         if ( !$notify_to ) {
             return false;
         }
+        // Double check the email for valid address
+        $emails = explode( ',', $notify_to );
+        foreach ( $emails as $email ) {
+            $validEmail = filter_var( $email, FILTER_VALIDATE_EMAIL );
+            if ( !$validEmail ) {
+                return false;
+            }
+        }
 
         // Setup the Smarty Engine
         $smarty   = new smartyTemplateSupport();