function getReferenceData($reference_string) { # Preg match parts preg_match('/(\\d?\\s?\\w*)\\s+(\\d+):?(.+)?/', $reference_string, $reference_parts); # Check parts if ($reference_parts && $reference_parts[1] && $reference_parts[2]) { # Handle book $book_object = getBookByName($reference_parts[1]); $reference_data['book'] = $book_object->getName(); # Handle chapter $reference_data['chapter'] = $reference_parts[2]; # Handle verses if (isset($reference_parts[3])) { $reference_data['verses'] = getNumbersArrayFromString($reference_parts[3]); } # Return reference data return $reference_data; } else { # Return error return false; } }
break; case "insert_scripture": $name = filter_input(INPUT_POST, "book", FILTER_SANITIZE_STRING); $verse = filter_input(INPUT_POST, "verse", FILTER_VALIDATE_INT); $chapter = filter_input(INPUT_POST, "chapter", FILTER_VALIDATE_INT); $content = filter_input(INPUT_POST, "content", FILTER_SANITIZE_STRING); $new_topic = filter_input(INPUT_POST, "new_topic", FILTER_SANITIZE_STRING); $topic_names = filter_input(INPUT_POST, "topic_names", FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY); $new_topic_name = filter_input(INPUT_POST, "new_topic_name", FILTER_SANITIZE_STRING); require_once 'private/dbtest.php'; require_once 'model/books.php'; $book = getBookByName($name); while ($book === NULL) { $result = insertBook($name); if ($result != 1) { $book = getBookByName($name); } } require_once 'model/topics.php'; if ($new_topic == "true") { insertTopic($new_topic_name); $topic_names[] = $new_topic_name; } foreach ($topic_names as $topic_name) { $topic = getTopicByName($topic_name); while ($topic === NULL) { $result = insertTopic($name); if ($result != 1) { $topic = getTopicByName($name); } }