Extension:BibleRef

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
BibleRef

Release status: unknown

Implementation Tag
Description This extension allows you to easily link Bible references to the Bible text at BibleGateway.com.
Author(s) Matt Dolan http://mgdproductions.co.uk
Last version 1.2
License No license specified
Download No link
Check usage and version matrix

This extension allows you to easily link Bible references to the Bible text at BibleGateway.com.

Contents

Installation [edit]

Add this line at the end of LocalSettings.php :

 include_once('extensions/BibleRef.php');

You can add a variable (optional) $wgBibleRefDefaultVersion in the LocalSettings.php file to change the default version, example to use a French version as default :

 $wgBibleRefDefaultVersion = 'ls';

Copy the following code into extensions/BibleRef.php :

<?php
# Bible References
# Version: 1.1
#
# Modified 7th May 2007 by Matt Dolan
#
# Links a Bible reference to the text at Biblegateway.com
#
# You can take advantage of BibleGateway's features such as displaying two references together:
# eg. Matt 28:18-20,2Cor 4
# 
# Tag :
#   <bible>ref</bible>
# Example :
#   Col 1:15-20
#   <bible>Col 1:15-20</bible>
# 
# Soli Deo Gloria!

 
$wgExtensionFunctions[] = 'wfBibleRef';
$wgExtensionCredits['parserhook'][] = array(
        'name' => 'Bible References',
        'version' => 1.2,
        'description' => 'Links Bible References to BibleGateway.com',
        'author' => 'Matt Dolan',
        'url' => 'http://www.mediawiki.org/wiki/Extension:BibleRef'
);
 
function wfBibleRef() {
        global $wgParser;
        $wgParser->setHook('bible', 'linkBibleRef');
}
 
# The callback function for converting the input text to HTML output
function linkBibleRef($input, $args) {
        global $wgBibleRefDefaultVersion;
 
        // BibleGateway's Version numbers
        $versions = array(
                'niv-us'        => 31, // New International Version (American English)
                'niv'           => 64, // New International Version (British English)
                'nasb'          => 49, // North American Standard Bible
                'esv'           => 47, // English Standard Version
                'tniv'          => 72, // Today's New International Version
                'msg'           => 65, // The Message
                'nlt'           => 51, // New Living Translation
                'kjv'           => 9,  // King James Version
                'av'            => 9,  // Authorised Version (= KJV)
                'cev'           => 46, // Contemporary English Version
                'nkjv'          => 50, // New King James Version
                'ls'            => 2,  // Louis Segond
                'sem'           => 32, // La Bible du Semeur
        );
 
 
        // Added functionality for other online Bibles - array values are URLs to search path
        $nonBGVersions = array(
                'net'           => 'http://net.bible.org/passage.php?passage=',              // Net Bible
                'greek'         => 'http://www.zhubert.com/bible?source=greek&verseref=',    // Original Greek
        );
 
 
        $versionText = strtolower($args['ver']);                // get the desired version from the XML tag
 
        if ($versionText=='')                           // if no version specified in XML tag
        {
                if (isset($wgBibleRefDefaultVersion)) {         // use the default defined value, if that's set elsewhere
                        if (is_int($wgBibleRefDefaultVersion))
                                $versionText = $wgBibleRefDefaultVersion;
                        else
                                $versionText = $versions[$wgBibleRefDefaultVersion];
                }
                else                                    // if none if given, default to ESV
                        $versionText = 47;
        }
 
 
        if ($nonBGVersions[$versionText]!='') {         // if the version requested match a non-Bible Gateway one above  
                $output = "<a href='".$nonBGVersions[$versionText].urlencode($input)."' ";
        }
        else {
                if ($versions[$versionText]!='')        // if the version requested match one defined above...
                        $version = $versions[$versionText];     // get the BibleGateway version number
                elseif (is_int($versionText))                   // if the given 'ver' tag is an integer, we'll assumed it's a version number
                        $version = $versionText;
 
                $output  = "<a href='http://www.biblegateway.com/passage/?search=".urlencode($input).";&version=".$version.";' ";
        }
 
        // if 'thisframe' is not specified in the XML tag, load it in a new window
        if (!isset($args['thiswindow']))
                $output .= " target='_blank'";
        $output .= ">".htmlspecialchars($input)."</a>";
 
        return $output;
}

Usage [edit]

Example: <bible>Col 1:15-20</bible>

Bible Version [edit]

The default Bible version is the ESV (English Standard Version) (see $wgBibleRefDefaultVersion above)

You may specify an alternate version in the tag, using the 'ver' attribute. Possible values:

  • 'NIV-US' - New International Version (American English)
  • 'NIV' - New International Version (British English)
  • 'NASB' - North American Standard Bible
  • 'ESV' - English Standard Version
  • 'TNIV' - Today's New International Version
  • 'MSG' - The Message
  • 'NLT' - New Living Translation
  • 'KJV' - King James Version
  • 'AV' - Authorised Version (synonym for KJV)
  • 'CEV' - Contemporary English Version
  • 'NKJV' - New King James Version
  • 'LS' - Louis Segond (french)
  • 'SEM' - La Bible du Semeur (french)
  • 'NET' - Net Bible
  • 'Greek' - Original Greek

Eg.: <bible ver="niv">John 1:1</bible>


Link Target Window [edit]

The Bible page by default will open in a new window. If you would rather it opened in the same window add the flag 'thiswindow'.

Eg.: <bible thiswindow>2 Cor 4</bible>


Credits [edit]

Created by Matt Dolan - http://mgdproductions.co.uk

Example [edit]

See an example of this add-on in action at: Cubic Path Wiki (run by the author of the AIM extension)

See also [edit]