/** * Parses GET request. **/ public static function parse_requests($request) { $query = $request->getQueryParameters(); if (Requests::validate_request($query)) { $bookDefault = BookChecker::return_default_book_name($query['book']); if ($bookDefault) { if ($query['verse'] === $query['closingVerse']) { //Single Verse Request $verse = Verse::retrieve_id($bookDefault, $query['chapter'], $query['verse']); $text = Text::retrieve_single_text($verse['id']); $verse['ET'] = $text[0]->ET; return $verse; } else { if ($query['verse'] < $query['closingVerse']) { //Multi-verse request // Returns an array. $verse = Verse::retrieve_id($bookDefault, $query['chapter'], $query['verse']); $range = Verse::retrieve_range_id($bookDefault, $query['chapter'], $query['closingVerse']); if ($range['id'] - $verse['id'] < 20) { // $texts is a string. $texts = Text::retrieve_multiple_texts($verse['id'], $range['id']); $return = array('book' => $verse['book'], 'chapter' => $verse['chapter'], 'verse' => $verse['verse'], 'closingChapter' => $range['chapter'], 'closingVerse' => $range['verse'], 'ET' => $texts); return $return; } else { return array('Error' => 'Cannot return a range more than 20 verses.'); } } else { if ($query['verse'] > $query['closingVerse']) { return json_encode(array('Error' => 'Invalid verse range. End of range cannot be smaller than start.')); } } } } else { return json_encode(array('Error' => 'Book unknown')); } } else { return json_encode(array('Error' => 'Request incomplete.')); } }
<?php use App\Models\SearchController; use App\Models\Text; use App\Resources\Http\Requests as Request; $request = Request::make_request_object(); $verses = Request::parse_requests($request); echo json_encode($verses);