From 3657873be76b63cfa97ae6c5c65596ac80fcbe09 Mon Sep 17 00:00:00 2001 From: buttle Date: Fri, 25 Mar 2022 10:20:12 +0100 Subject: [PATCH] adds request timeout and error detection --- view/common/wordpress-menu.phtml | 36 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/view/common/wordpress-menu.phtml b/view/common/wordpress-menu.phtml index 480f5d7..04e6244 100644 --- a/view/common/wordpress-menu.phtml +++ b/view/common/wordpress-menu.phtml @@ -2,27 +2,29 @@ use Zend\Http\Client; -$client = New Client; $client = new Client('https://dev.arc-hive.zone/wp-json/menus/v1/menus/4'); +$client->setOptions(array("timeout"=>1)); $response = $client->send(); -$response_items = json_decode($response->getBody()); -$items = new ArrayObject(); +$response_data = json_decode($response->getBody()); +$items = new ArrayObject; +$items[0] = new ArrayObject(); -foreach ($response_items as $menu_item) { - $item_url = $menu_item->url; - if (strtolower($menu_item->title) == 'login') { - $item_url = "/login"; +if (!$response->isClientError()&& $response_data) { + foreach ($response_data as $menu_item) { + $item_url = $menu_item->url; + if (strtolower($menu_item->title) == 'login') { + $item_url = "/login"; + } + $item = [ + "ID" => $menu_item->ID, + "title" => $menu_item->title, + "url" => $item_url + ]; + if (!array_key_exists($menu_item->menu_item_parent, $items)) { + $items[$menu_item->menu_item_parent] = new ArrayObject(); + } + $items[$menu_item->menu_item_parent][$menu_item->ID] =$item; } - $item = [ - "ID" => $menu_item->ID, - "title" => $menu_item->title, - "url" => $item_url, - "menu_item_parent" => $menu_item->menu_item_parent, - ]; - if (!array_key_exists($menu_item->menu_item_parent, $items)) { - $items[$menu_item->menu_item_parent] = new ArrayObject(); - } - $items[$menu_item->menu_item_parent][$menu_item->ID] =$item; } //print_r($items);