/**
  * @param Resource_Booking_DB $rb_db
  * @param $resource_id
  * @param string $format Either 'json' or 'array'
  * @return mixed
  */
 public static function get_resource_info_or_die(Resource_Booking_DB $rb_db, $resource_id, $format = "json")
 {
     $resourceA = $rb_db->get_resource_info($resource_id);
     if (!$resourceA || count($resourceA) != 1) {
         // And die
         wp_send_json_error(array("message" => "Wrong resource"));
     }
     $resource = $resourceA[0];
     $resourceMetaA = $rb_db->get_resource_meta($resource_id);
     $response = new stdClass();
     $response->success = true;
     $response->resourceInfo = array("resource_id" => $resource->ID, "title" => $resource->post_title);
     foreach ($resourceMetaA as $meta) {
         switch ($meta->meta_key) {
             case Resource_Booking_Res_Mb::RESOURCE_TYPE:
                 $response->resourceInfo["resource_type"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::PAGE_DESCRIPTION_ID:
                 $response->resourceInfo["page_description_id"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::OPEN_FROM:
                 $response->resourceInfo["open_from"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::OPEN_TILL:
                 $response->resourceInfo["open_till"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::WORKS_OVERNIGHT:
                 $response->resourceInfo["works_overnight"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::WORKS_HOLIDAYS:
                 $response->resourceInfo["works_holidays"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::SLOT_MIN:
                 $response->resourceInfo["slot_min"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::SLOT_MAX:
                 $response->resourceInfo["slot_max"] = $meta->meta_value;
                 break;
             case Resource_Booking_Res_Mb::SLOT_LENGTH:
                 $response->resourceInfo["slot_length"] = $meta->meta_value;
                 break;
             default:
                 break;
         }
     }
     if (!isset($response->resourceInfo["resource_type"])) {
         $response->resourceInfo["resource_type"] = Resource_Booking_Res_Mb::$resource_type["default"];
     }
     if (!isset($response->resourceInfo["page_description_id"])) {
         $response->resourceInfo["page_description_id"] = Resource_Booking_Res_Mb::$resource_page_description_id["default"];
     } else {
         $link = get_permalink($response->resourceInfo["page_description_id"]);
         if ($link) {
             $response->resourceInfo["page_description_id"] = $link;
         } else {
             $response->resourceInfo["page_description_id"] = Resource_Booking_Res_Mb::$resource_page_description_id["default"];
         }
     }
     if (!isset($response->resourceInfo["open_from"])) {
         $response->resourceInfo["open_from"] = Resource_Booking_Res_Mb::$resource_open_from["default"];
     }
     if (!isset($response->resourceInfo["open_till"])) {
         $response->resourceInfo["open_till"] = Resource_Booking_Res_Mb::$resource_open_till["default"];
     }
     if (!isset($response->resourceInfo["works_overnight"])) {
         $response->resourceInfo["works_overnight"] = Resource_Booking_Res_Mb::$resource_works_overnight["default"];
     }
     if (!isset($response->resourceInfo["works_holidays"])) {
         $response->resourceInfo["works_holidays"] = Resource_Booking_Res_Mb::$resource_works_holidays["default"];
     }
     if (!isset($response->resourceInfo["slot_min"])) {
         $response->resourceInfo["slot_min"] = Resource_Booking_Res_Mb::$resource_slot_min["default"];
     }
     if (!isset($response->resourceInfo["slot_max"])) {
         $response->resourceInfo["slot_max"] = Resource_Booking_Res_Mb::$resource_slot_max["default"];
     }
     if (!isset($response->resourceInfo["slot_length"])) {
         $response->resourceInfo["slot_length"] = Resource_Booking_Res_Mb::$resource_slot_length["default"];
     }
     if ("json" == $format) {
         echo json_encode($response);
         wp_die();
         // this is required to terminate immediately and return a proper response
     } else {
         return $response;
     }
 }