Example #1
0
 public static function passagesDisplayMultiline($passages)
 {
     $display = "";
     foreach ($passages as $passage) {
         $display .= Filter_Books::passageDisplay($passage[0], $passage[1], $passage[2]);
         $display .= "\n";
     }
     return $display;
 }
Example #2
0
 /**
  * This function produces the text of the current passage, e.g.: Genesis 1:1.
  * Returns: The passage text
  */
 private function getCurrentPassageText()
 {
     return Filter_Books::passageDisplay($this->currentBookIdentifier, $this->currentChapterNumber, $this->currentVerseNumber);
 }
Example #3
0
function processIdentifiers($user, $bible, $book, $chapter, $oldId, $newId, &$email)
{
    if ($oldId != 0) {
        $database_modifications = Database_Modifications::getInstance();
        $database_config_user = Database_Config_User::getInstance();
        $database_config_bible = Database_Config_Bible::getInstance();
        $database_bibles = Database_Bibles::getInstance();
        $database_history = Database_History::getInstance();
        $stylesheet = $database_config_bible->getExportStylesheet($bible);
        $old_chapter_usfm = $database_modifications->getUserChapter($user, $bible, $book, $chapter, $oldId);
        $old_chapter_usfm = $old_chapter_usfm['oldtext'];
        $new_chapter_usfm = $database_modifications->getUserChapter($user, $bible, $book, $chapter, $newId);
        $new_chapter_usfm = $new_chapter_usfm['newtext'];
        $timestamp = $database_modifications->getUserTimestamp($user, $bible, $book, $chapter, $newId);
        $old_verse_numbers = Filter_Usfm::getVerseNumbers($old_chapter_usfm);
        $new_verse_numbers = Filter_Usfm::getVerseNumbers($new_chapter_usfm);
        $verses = array_merge($old_verse_numbers, $new_verse_numbers);
        $verses = array_unique($verses);
        sort($verses, SORT_NUMERIC);
        foreach ($verses as $verse) {
            $old_verse_usfm = Filter_Usfm::getVerseText($old_chapter_usfm, $verse);
            $new_verse_usfm = Filter_Usfm::getVerseText($new_chapter_usfm, $verse);
            if ($old_verse_usfm != $new_verse_usfm) {
                $filter_text_old = new Filter_Text($bible);
                $filter_text_new = new Filter_Text($bible);
                $filter_text_old->html_text_standard = new Html_Text(Locale_Translate::_("Bible"));
                $filter_text_new->html_text_standard = new Html_Text(Locale_Translate::_("Bible"));
                $filter_text_old->text_text = new Text_Text();
                $filter_text_new->text_text = new Text_Text();
                $filter_text_old->addUsfmCode($old_verse_usfm);
                $filter_text_new->addUsfmCode($new_verse_usfm);
                $filter_text_old->run($stylesheet);
                $filter_text_new->run($stylesheet);
                $old_html = $filter_text_old->html_text_standard->getInnerHtml();
                $new_html = $filter_text_new->html_text_standard->getInnerHtml();
                $old_text = $filter_text_old->text_text->get();
                $new_text = $filter_text_new->text_text->get();
                if ($old_text != $new_text) {
                    $modification = Filter_Diff::diff($old_text, $new_text);
                    $email .= "<div>";
                    $email .= Filter_Books::passageDisplay($book, $chapter, $verse);
                    $email .= " ";
                    $email .= $modification;
                    $email .= "</div>";
                    if ($database_config_user->getUserUserChangesNotificationsOnline($user)) {
                        $changeNotificationUsers = array($user);
                        $database_modifications->recordNotification($changeNotificationUsers, "☺", $bible, $book, $chapter, $verse, $old_html, $modification, $new_html);
                    }
                    $database_history->record($timestamp, $user, $bible, $book, $chapter, $verse, $old_html, $modification, $new_html);
                }
            }
        }
    }
}
Example #4
0
$hitCount = count($ids);
echo "<font size=\"-1\" color=\"grey\"><hr /></font>\n";
echo "<p><font size=\"-1\" color=\"grey\">{$hitCount} " . Locale_Translate::_("chapters") . "</font></p>\n";
// Go through the search hits.
foreach ($ids as $id) {
    // Get the details of this search hit.
    $details = $database_search->getBiblePassage($id);
    if ($details == NULL) {
        continue;
    }
    $bible = $details["bible"];
    $book = $details["book"];
    $chapter = $details["chapter"];
    $verse = $details["verse"];
    // The title.
    $title = "{$bible}" . " | " . Filter_Books::passageDisplay($book, $chapter, $verse);
    $title = Filter_Html::sanitize($title);
    // The URL.
    $url = "../exports/{$bible}/web/" . Filter_Paths::htmlFileNameBible("", $book, $chapter);
    // Output title and URL.
    echo "<p style=\"margin-top: 0.75em; margin-bottom: 0em\"><a href=\"{$url}\">{$title}</a></p>\n";
    // The excerpt.
    $text = $database_search->getBibleVerseText($bible, $book, $chapter, $verse);
    $text = explode("\n", $text);
    $excerpt = "";
    // Go through each line of text separately.
    foreach ($text as $line) {
        $markedLine = Filter_Markup::words($queryWords, $line);
        if ($markedLine != $line) {
            // Store this bit of the excerpt.
            $excerpt .= "<p style=\"margin-top: 0em; margin-bottom: 0em\">{$markedLine}</p>\n";
Example #5
0
$passage = explode(".", $from);
$from = Filter_Books::passage2integer($passage);
$to = $database_config_user->getPrintPassageToForUser($user);
$passage = explode(".", $to);
$to = Filter_Books::passage2integer($passage);
$result = array();
$books = $database_bibles->getBooks($bible);
foreach ($books as $book) {
    $chapters = $database_bibles->getChapters($bible, $book);
    foreach ($chapters as $chapter) {
        $usfm = $database_bibles->getChapter($bible, $book, $chapter);
        $verses = Filter_Usfm::getVerseNumbers($usfm);
        foreach ($verses as $verse) {
            $passage = Filter_Books::passage2integer(array($book, $chapter, $verse));
            if ($passage >= $from && $passage <= $to) {
                $passageText = Filter_Books::passageDisplay($book, $chapter, $verse);
                $database_jobs->setProgress($jobId, $passageText);
                $result[] = '<div class="nextresource">';
                $result[] = "<p>{$passageText}</p>";
                foreach ($resources as $resource) {
                    $result[] = "<p>";
                    $result[] = $resource;
                    $html = Resource_Logic::getHtml($resource, $book, $chapter, $verse);
                    $result[] = $html;
                    $result[] = "</p>";
                }
                $result[] = "</div>";
                $result[] = "<br>";
            }
        }
    }
Example #6
0
 public function testPassageDisplay()
 {
     $this->assertEquals("Genesis 10:2", Filter_Books::passageDisplay(1, 10, 2));
     $this->assertEquals("Exodus 11:2", Filter_Books::passageDisplay(2, 11, 2));
 }
Example #7
0
                $filter_text_compare->text_text = new Text_Text();
                $filter_text_bible->addUsfmCode($bible_verse_usfm);
                $filter_text_compare->addUsfmCode($compare_verse_usfm);
                $filter_text_bible->run($stylesheet);
                $filter_text_compare->run($stylesheet);
                $bible_html = $filter_text_bible->html_text_standard->getInnerHtml();
                $compare_html = $filter_text_compare->html_text_standard->getInnerHtml();
                $bible_text = $filter_text_bible->text_text->get();
                $compare_text = $filter_text_compare->text_text->get();
                if ($bible_text != $compare_text) {
                    $modification = Filter_Diff::diff($compare_text, $bible_text);
                    $result[] = Filter_Books::passageDisplay($book, $chapter, $verse) . " " . $modification;
                    $new[] = Filter_Books::passageDisplay($book, $chapter, $verse) . " " . $bible_text;
                }
                $modification = Filter_Diff::diff($compare_verse_usfm, $bible_verse_usfm);
                $raw[] = Filter_Books::passageDisplay($book, $chapter, $verse) . " " . $modification;
            }
        }
    }
}
// Add the absent books / chapters to the comparison.
if (count($absent)) {
    $result[] = "";
    $result = array_merge($result, $absent);
}
// Add any differences in the raw USFM to the comparison.
if (count($raw)) {
    $result[] = "";
    $result = array_merge($result, $raw);
}
// Add the text of the new verses, as they are in the $bible.