diff --git a/source/includes/events-list-block.php b/source/includes/events-list-block.php index ddb1ad7..6226bcd 100644 --- a/source/includes/events-list-block.php +++ b/source/includes/events-list-block.php @@ -41,12 +41,29 @@ class EventsListBlock { } public static function render($block_attributes, $content) { - $classNamePrefix = NAME; + $url = Settings::getUrl(); $eventsCount = $block_attributes['eventsCount']; $groupName = isset($block_attributes['groupName']) ? $block_attributes['groupName'] : ''; ob_start(); - require dirname(__DIR__) . '/view/events-list.php'; + try { + if ($groupName) { + $events = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); + } else { + $events = GraphQlClient::get_upcoming_events($url, (int) $eventsCount); + } + + $classNamePrefix = NAME; + $locale = get_locale(); + $isShortOffsetNameShown = Settings::isShortOffsetNameShown(); + $timeZone = wp_timezone_string(); + + require dirname(__DIR__) . '/view/events-list.php'; + } catch (GeneralException $e) { + require dirname(__DIR__) . '/view/events-list-not-loaded.php'; + } catch (GroupNotFoundException $e) { + require dirname(__DIR__) . '/view/events-list-group-not-found.php'; + } $output = ob_get_clean(); return $output; } diff --git a/source/includes/events-list-shortcut.php b/source/includes/events-list-shortcut.php index 2d0b450..07f8d25 100644 --- a/source/includes/events-list-shortcut.php +++ b/source/includes/events-list-shortcut.php @@ -31,11 +31,10 @@ class EventsListShortcut { ob_start(); try { if ($groupName) { - $data = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); + $events = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); } else { - $data = GraphQlClient::get_upcoming_events($url, (int) $eventsCount); + $events = GraphQlClient::get_upcoming_events($url, (int) $eventsCount); } - $events = $data['data']['group']['organizedEvents']['elements']; $classNamePrefix = NAME; $locale = get_locale(); diff --git a/source/includes/events-list-widget.php b/source/includes/events-list-widget.php index fe38d91..8382de5 100644 --- a/source/includes/events-list-widget.php +++ b/source/includes/events-list-widget.php @@ -31,11 +31,10 @@ class EventsListWidget extends \WP_Widget { try { if ($groupName) { - $data = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); + $events = GraphQlClient::get_upcoming_events_by_group_name($url, (int) $eventsCount, $groupName); } else { - $data = GraphQlClient::get_upcoming_events($url, (int) $eventsCount); + $events = GraphQlClient::get_upcoming_events($url, (int) $eventsCount); } - $events = $data['data']['events']['elements']; $classNamePrefix = NAME; $locale = get_locale(); diff --git a/source/includes/graphql-client.php b/source/includes/graphql-client.php index 1848fe1..c2e8109 100644 --- a/source/includes/graphql-client.php +++ b/source/includes/graphql-client.php @@ -65,7 +65,8 @@ final class GraphQlClient { self::checkData($data); // SessionCache.add(sessionStorage, { url, query, variables: { limit } }, data) - return $data; + $events = $data['data']['events']['elements']; + return $events; } public static function get_upcoming_events_by_group_name(string $url, int $limit, string $groupName): array { @@ -115,7 +116,8 @@ final class GraphQlClient { // return Promise.resolve(data) // } // ) - return $data; + $events = $data['data']['group']['organizedEvents']['elements']; + return $events; } private static function checkData($data) {