check before using foreach
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Feb 2019 13:48:09 +0000 (08:48 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 20 Feb 2019 13:48:09 +0000 (08:48 -0500)
test if variable is an array and non empty first.

models/admin/ajax/leadCsvExport.php

index 77da2c6..121310f 100644 (file)
@@ -227,7 +227,7 @@ class GlmMembersAdmin_ajax_leadCsvExport extends GlmDataTravelLeads
                     'notes'       => $notes,
                     'referred_by' => $referred_by,
                 );
-                if ( $lead['contacts'] ) {
+                if ( isset( $lead['contacts'] ) && is_array( $lead['contacts'] ) && !empty( $lead['contacts'] ) ) {
                     $contact_number = 1;
                     foreach ( $lead['contacts'] as $contact ) {
                         $lead_results[$key]['contact_' . $contact_number . '_title'] = $contact['title'];
@@ -325,14 +325,16 @@ class GlmMembersAdmin_ajax_leadCsvExport extends GlmDataTravelLeads
     {
         $ret = '';
         $format = "%s\r%s\r";
-        foreach($notes as $log) {
-            $logMessage = preg_replace("/\n/", '', $log['notes']);
-            $logMessage = str_replace("\"", "'", $logMessage);
-            $ret .= sprintf(
-                $format,
-                $log['updated']['datetime'],
-                $logMessage
-            );
+        if ( is_array( $notes ) ) {
+            foreach($notes as $log) {
+                $logMessage = preg_replace("/\n/", '', $log['notes']);
+                $logMessage = str_replace("\"", "'", $logMessage);
+                $ret .= sprintf(
+                    $format,
+                    $log['updated']['datetime'],
+                    $logMessage
+                );
+            }
         }
         return $ret;
     }
@@ -341,13 +343,15 @@ class GlmMembersAdmin_ajax_leadCsvExport extends GlmDataTravelLeads
     {
         $ret = '';
         $format = "%s %s %s\r";
-        foreach($contacts as $c) {
-            $ret .= sprintf(
-                $format,
-                $c['name'],
-                $c['email'],
-                $c['phone']
-            );
+        if ( is_array( $contacts ) ) {
+            foreach($contacts as $c) {
+                $ret .= sprintf(
+                    $format,
+                    $c['name'],
+                    $c['email'],
+                    $c['phone']
+                );
+            }
         }
         return $ret;
     }
@@ -356,11 +360,13 @@ class GlmMembersAdmin_ajax_leadCsvExport extends GlmDataTravelLeads
     {
         $ret = '';
         $format = "%s\r";
-        foreach($refs as $r) {
-            $ret .= sprintf(
-                $format,
-                $r['referredby_name']
-            );
+        if ( is_array( $refs ) ) {
+            foreach($refs as $r) {
+                $ret .= sprintf(
+                    $format,
+                    $r['referredby_name']
+                );
+            }
         }
         return $ret;
     }