Update ajax to check for an array before doing foreach on it.
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 2 May 2017 16:01:20 +0000 (12:01 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 2 May 2017 16:01:20 +0000 (12:01 -0400)
Giving error on golf club site that has no events.

models/admin/ajax/eventsCalMonthAJAX.php

index 5eda666..dc24261 100644 (file)
@@ -240,24 +240,25 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes
             )";
 
             $times = $this->getModelTimesData();
-
-            foreach ($times as $e=>$val){
-                $sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events WHERE id = " . $val['event'];
-                $info[$e] = $wpdb->get_results($sql);
-                $event_slugs[$e] = $info[$e][0]->name_slug;
-                $event_data[$e]['title'] = html_entity_decode($val['event_name']);
-
-                $start = date('Y-m-d H:i:s', strtotime($val['start_time']['datetime']));
-                $last = date('Y-m-d H:i:s', strtotime($val['end_time']['datetime']));
-
-                $all_day = $val['all_day']['value'];
-
-                $event_data[$e]['all_day'] = ($all_day === "0" ? false : true);
-                $event_data[$e]['start'] = ($start);
-                $event_data[$e]['last'] = ($last);
-                $event_data[$e]['slug'] = $event_slugs[$e];
-                $slug = $event_slugs[$e];
-                $event_data[$e]['url'] = GLM_MEMBERS_EVENTS_SITE_BASE_URL . "event-detail/" . $slug . "/";
+            if ( is_array( $times ) ) {
+                foreach ($times as $e=>$val){
+                    $sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events WHERE id = " . $val['event'];
+                    $info[$e] = $wpdb->get_results($sql);
+                    $event_slugs[$e] = $info[$e][0]->name_slug;
+                    $event_data[$e]['title'] = html_entity_decode($val['event_name']);
+
+                    $start = date('Y-m-d H:i:s', strtotime($val['start_time']['datetime']));
+                    $last = date('Y-m-d H:i:s', strtotime($val['end_time']['datetime']));
+
+                    $all_day = $val['all_day']['value'];
+
+                    $event_data[$e]['all_day'] = ($all_day === "0" ? false : true);
+                    $event_data[$e]['start'] = ($start);
+                    $event_data[$e]['last'] = ($last);
+                    $event_data[$e]['slug'] = $event_slugs[$e];
+                    $slug = $event_slugs[$e];
+                    $event_data[$e]['url'] = GLM_MEMBERS_EVENTS_SITE_BASE_URL . "event-detail/" . $slug . "/";
+                }
             }
         }