Exemple #1
0
 /**
  * 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.'));
     }
 }