Beispiel #1
0
if (isset($target)) {
    if ($target == "") {
        $dialog_list = new Dialog_List2(Locale_Translate::_("Select which Bible to insert the cross references into"));
        $bibles = Access_Bible::bibles();
        foreach ($bibles as $bible) {
            if (Access_Bible::write($bible)) {
                $dialog_list->add_row($bible, "&target={$bible}");
            }
        }
        $dialog_list->run();
    } else {
        $database_config_user->setTargetXrefBible($target);
    }
}
$source = $database_config_user->getSourceXrefBible();
if (!Access_Bible::read($source)) {
    $source = "";
    $database_config_user->setSourceXrefBible($source);
}
$target = $database_config_user->getTargetXrefBible();
if (!Access_Bible::write($target)) {
    $target = "";
    $database_config_user->setTargetXrefBible($target);
}
if ($source == "") {
    $source = "--";
}
if ($target == "") {
    $target = "--";
}
$view->view->source = $source;
Beispiel #2
0
if (isset($copy)) {
    $dialog_entry = new Dialog_Entry(array("origin" => $copy), Locale_Translate::_("Please enter a name for where to copy the Bible to"), "", "", "");
    die;
}
@($origin = $_GET['origin']);
if (isset($origin)) {
    $destination = $_POST['entry'];
    if (isset($destination)) {
        $bibles = $database_bibles->getBibles();
        if (in_array($destination, $bibles)) {
            $error_message = Locale_Translate::_("Cannot copy Bible because the destination Bible already exists.");
        } else {
            ignore_user_abort(true);
            set_time_limit(0);
            // User needs read access to the original.
            if (Access_Bible::read($origin)) {
                $database_bibles->createBible($destination);
                $books = $database_bibles->getBooks($origin);
                foreach ($books as $book) {
                    $chapters = $database_bibles->getChapters($origin, $book);
                    foreach ($chapters as $chapter) {
                        $data = $database_bibles->getChapter($origin, $book, $chapter);
                        Bible_Logic::storeChapter($destination, $book, $chapter, $data);
                    }
                }
                $success_message = Locale_Translate::_("The Bible was copied.");
                // Check / grant access to destination Bible.
                if (!Access_Bible::write($destination)) {
                    $database_users->grantAccess2Bible($session_logic->currentUser(), $destination);
                }
            }
Beispiel #3
0
 // The files get stored at http://site.org/bibledit-web/changes/<Bible>/<date>
 $basePath = "revisions/" . $bible . "/" . strftime("%Y-%m-%d_%H:%M:%S");
 $directory = realpath("..") . "/{$basePath}";
 mkdir($directory, 0777, true);
 // Produce the USFM and html files.
 Filter_Diff::produceVerseLevel($bible, $directory);
 // Create online page with changed verses.
 $versesoutputfile = "{$directory}/changed_verses.html";
 Filter_Diff::runDiffFile("{$directory}/verses_old.txt", "{$directory}/verses_new.txt", $versesoutputfile);
 // Email users.
 $subject = Locale_Translate::_("Recent changes") . " " . $bible;
 $emailBody = file_get_contents($versesoutputfile);
 $users = $database_users->getUsers();
 foreach ($users as $user) {
     if ($database_config_user->getUserBibleChangesNotification($user)) {
         if (Access_Bible::read($bible, $user)) {
             if (!Filter_Client::enabled()) {
                 $database_mail->send($user, $subject, $emailBody);
             }
         }
     }
 }
 // Generate the online change notifications.
 $books = $database_modifications->getTeamDiffBooks($bible);
 foreach ($books as $book) {
     $chapters = $database_modifications->getTeamDiffChapters($bible, $book);
     foreach ($chapters as $chapter) {
         $database_logs->log("{$bible} " . Filter_Books::passageDisplay($book, $chapter, "") . " Listing changes", Filter_Roles::TRANSLATOR_LEVEL);
         $old_chapter_usfm = $database_modifications->getTeamDiff($bible, $book, $chapter);
         $new_chapter_usfm = $database_bibles->getChapter($bible, $book, $chapter);
         $old_verse_numbers = Filter_Usfm::getVerseNumbers($old_chapter_usfm);