Get rid of errors from event list model
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 23 Jun 2016 20:59:28 +0000 (16:59 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 23 Jun 2016 20:59:28 +0000 (16:59 -0400)
Check for the items and that it is an array before you foreach it.

models/front/events/list.php

index 6534ac7..57d425e 100644 (file)
@@ -471,26 +471,28 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         $eventsByDate = $mainEvents = array();
         if ($events) {
             foreach ( $events as $event ) {
-                foreach ( $event['times'] as $eventTime ) {
-                    $eventDateTime = mktime(
-                        0,
-                        0,
-                        0,
-                        date('n', $eventTime['start_time']['timestamp']),
-                        date('j', $eventTime['start_time']['timestamp']),
-                        date('Y', $eventTime['start_time']['timestamp'])
-                    );
-                    $event['starting_date'] = $eventTime['start_time']['timestamp'];
-                    $event['ending_date']   = $eventTime['end_time']['timestamp'];
-                    //$eventsByDate[$eventDateTime][$eventTime['start_time']['timestamp']][] = $event;
-                    if ( $event['all_day'] ) {
-                        $eventsByDate[$eventDateTime][][$eventDateTime . '-' . $event['id']] = $event;
-                    } else {
-                        $eventsByDate[$eventDateTime][][$event['starting_date'] . '-' . $event['id']] = $event;
-                    }
-                    // if there's a name search stop for the first occurrence of that event
-                    if ( $action == 'event-list-name' ) {
-                        break;
+                if ( isset( $event['times'] ) && is_array( $event['times'] ) ) {
+                    foreach ( $event['times'] as $eventTime ) {
+                        $eventDateTime = mktime(
+                            0,
+                            0,
+                            0,
+                            date('n', $eventTime['start_time']['timestamp']),
+                            date('j', $eventTime['start_time']['timestamp']),
+                            date('Y', $eventTime['start_time']['timestamp'])
+                        );
+                        $event['starting_date'] = $eventTime['start_time']['timestamp'];
+                        $event['ending_date']   = $eventTime['end_time']['timestamp'];
+                        //$eventsByDate[$eventDateTime][$eventTime['start_time']['timestamp']][] = $event;
+                        if ( $event['all_day'] ) {
+                            $eventsByDate[$eventDateTime][][$eventDateTime . '-' . $event['id']] = $event;
+                        } else {
+                            $eventsByDate[$eventDateTime][][$event['starting_date'] . '-' . $event['id']] = $event;
+                        }
+                        // if there's a name search stop for the first occurrence of that event
+                        if ( $action == 'event-list-name' ) {
+                            break;
+                        }
                     }
                 }
             }