diff options
Diffstat (limited to 'apps/console/diatheke/cgi/diatheke.pl')
-rwxr-xr-x | apps/console/diatheke/cgi/diatheke.pl | 467 |
1 files changed, 0 insertions, 467 deletions
diff --git a/apps/console/diatheke/cgi/diatheke.pl b/apps/console/diatheke/cgi/diatheke.pl deleted file mode 100755 index 1d3de91..0000000 --- a/apps/console/diatheke/cgi/diatheke.pl +++ /dev/null @@ -1,467 +0,0 @@ -#!/usr/bin/perl - -# Typical Linux/Unix settings -$err = "2> /dev/null"; -$sword_path = "/home/sword"; # SWORD_PATH environment variable you want to use -$diatheke = "nice /usr/bin/diatheke"; # location of diatheke command line program - -# Typical Windows settings -#$err = ""; -#$sword_path = "C:\\Program Files\\CrossWire\\The SWORD Project"; # SWORD_PATH environment variable you want to use -#$diatheke = "$sword_path\\diatheke.exe"; # location of diatheke command line program - -$cgiurl = "http:\/\/bible.gotjesus.org\/cgi-bin"; - -$scriptname = "diatheke.pl"; -$defaultfontface = "Times New Roman, Times, Roman, serif"; # default font name -$maxverses = 50; # maximum number of verses diatheke will return per query (prevents people from asking for Gen1:1-Rev22:21) -$defaultbook = "KJV"; # book to query when none is selected, but a verse/search is entered -$deflocale = "abbr"; # this is just the default for cases where user has not selected a locale and his browser does not reveal one -- you can also set locale using locale=<locale> in the GET URL - -############################################################################### -## You should not need to edit anything below this line. -## Unless you want to modify functionality of course. :) -############################################################################### - -$version = "4.2"; - -sub plussifyaddress { - ($p_ver = @_[0]) =~ tr/ /+/; - $p_newline = "<a href=\"$scriptname?verse=$p_ver&@_[1]=on\">"; - return $p_newline; -} - -sub urlvers { - $u_verse = @_[0]; - $u_version = @_[1]; - $u_oldverse = $u_verse; - $u_verse =~ tr/ /+/; - $u_newline = "<a href=\"$scriptname?verse=$u_verse&$u_version=on\">$u_oldverse</a>"; - return $u_newline; -} - -$ENV{'SWORD_PATH'} = $sword_path; - -print "Content-type: text/html\n\n"; - - -if ($ENV{'HTTP_COOKIE'}) { - - $cookie = $ENV{'HTTP_COOKIE'}; - $cookie =~ s/\; /=/g; - %cookiedata = split(/=/, $cookie); - - $defversion = $cookiedata{DEFTRANS}; - $locale = $cookiedata{LOCALE}; -} - -if ($defversion eq "") { - $defversion = 'KJV'; -} -if ($locale eq "") { - $locale = $ENV{'HTTP_ACCEPT_LANGUAGE'}; - $locale =~ s/(..).*/$1/; - if ($locale eq "") { - $locale = $deflocale; - } - elsif ($locale eq "en") { - $locale = "abbr"; - } -} - -$hostname = $ENV{'REMOTE_ADDR'}; -@values = split(/\&/,$ENV{'QUERY_STRING'}); -$n = 0; -$palm = 0; - -$latinxlit = ""; - -$optionfilters = ""; -$debug=0; -foreach $i (@values) { - ($varname, $mydata) = split(/=/,$i); - if ($varname ne "Submit" && $varname ne "lookup") { - if ($varname eq "verse") { - $verse = $mydata; - $verse =~ tr/+/ /; - $verse =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - } - elsif ($varname eq "search" && $mydata ne "" && $mydata ne "off") { - $search = "-s $mydata"; - } - - elsif ($varname eq "strongs") { - $optionfilters .= "n"; - } - elsif ($varname eq "footnotes") { - $optionfilters .= "f"; - } - elsif ($varname eq "headings") { - $optionfilters .= "h"; - } - elsif ($varname eq "morph") { - $optionfilters .= "m"; - } - elsif ($varname eq "hebcant") { - $optionfilters .= "c"; - } - elsif ($varname eq "hebvowels") { - $optionfilters .= "v"; - } - elsif ($varname eq "grkacc") { - $optionfilters .= "a"; - } - elsif ($varname eq "lemmas") { - $optionfilters .= "l"; - } - elsif ($varname eq "scriprefs") { - $optionfilters .= "s"; - } - elsif ($varname eq "arshape") { - $optionfilters .= "r"; - } - elsif ($varname eq "bidi") { - $optionfilters .= "b"; - } - - elsif ($varname eq "latinxlit") { - $latinxlit = "-t Latin"; - } - - elsif ($varname eq "palm") { - $palm = 1; - } - elsif ($varname eq "debug") { - $debug = 1; - } - elsif ($varname eq "locale") { - $locale = $mydata; - } - elsif ($varname eq "maxverses") { - $maxverses = $mydata; - } - elsif ($mydata eq "on" || $mydata eq "ON") { - $versions[$n] = $varname; - $n++; - } - } -} -if ($optionfilters ne "") { - $optionfilters = "-o " . $optionfilters; -} - - - -if ($n == 0) { - $versions[0] = $defaultbook; - $n++; -} - -if ($verse eq "") { - - @versionlist = `$diatheke -b system -k modulelist $err`; - @versionlist2 = @versionlist; - @localelist = `$diatheke -b system -k localelist $err`; - - print <<DEF1; -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>Diatheke Online Bible</title> -</head> - -<body> - -<form method="get" action="$scriptname"> - <p /><input type="radio" name="search" checked value="" /><font face="Arial, Helvetica, sans-serif">Verse/Commentary Lookup - Verse or Search key:</font><input type="text" name="verse" size="20"><input type="submit" name="Submit" value="Submit"><input type="reset" name="Reset" value="Reset"><br /> - <input type="radio" name="search" value="phrase" /><font face="Arial, Helvetica, sans-serif">Phrase Search</font><br /> - <input type="radio" name="search" value="multiword" /><font face="Arial, Helvetica, sans-serif">Multiple Word Search</font><br /> - <input type="radio" name="search" value="regex" /><font face="Arial, Helvetica, sans-serif">Regular Expression Search</font><br /> - <table width="100%" border="0"> - <tr> - <td width="50%"> - <input type="checkbox" name="strongs" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Strong's Numbers</font></td> - <td width="50%"> - <input type="checkbox" name="headings" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Section Headings</font></td> - </tr> - <tr> - <td width="50%"> - <input type="checkbox" name="footnotes" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Footnotes</font></td> - <td width="50%"> - <input type="checkbox" name="scriprefs" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Scripture Cross-References</font></td> - </tr> - <tr> - <td width="50%"> - <input type="checkbox" name="morph" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Morphology</font></td> - <td width="50%"> - <input type="checkbox" name="hebvowels" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Vowels</font></td> - </tr> - <tr> - <td width="50%"> - <input type="checkbox" name="lemmas" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Lemmas</font></td> - <td width="50%"> - <input type="checkbox" name="hebcant" value="on"> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Hebrew Cantillation - Marks </font></td> - </tr> - <tr> - <td width="50%"> - <input type="checkbox" name="latinxlit" value="on"> - <font face="Arial, Helvetica, sans-serif" size="-1">Latin Transliterate</font> - </td> - <td width="50%"> - <input type="checkbox" name="grkacc" value="on" checked> - <font size="-1" face="Arial, Helvetica, sans-serif">Show Greek Accents</font> - </td> - </tr> - </table> - <br /> - <table BORDER="0" WIDTH="100%"> -DEF1 - - foreach $line (@versionlist) { - chomp($line); - - if ($line eq "Biblical Texts:") { - print "<tr><td><font face=$defaultfontface><b>Biblical Texts:</b></font><br /></td></tr>"; - } - elsif ($line eq "Commentaries:") { - print "<tr><td><font face=$defaultfontface><b>Commentaries:</b></font></td></tr>"; - } - elsif ($line eq "Dictionaries:") { - print "<tr><td><font face=$defaultfontface><b>Dictionaries & Lexica:</b></font></td></tr>"; - } - else { - $line =~ s/([^:]+) : (.+)/<tr><td><input type=\"checkbox\" name=\"$1\" value=\"on\"><font size=\"-1\" face=$defaultfontface>$2 ($1)<\/font><\/td><\/tr>/; - print "$line\n"; - } - - } - - print <<DEF2; - </table> -</form> - -<form method="get" action="dia-def.pl"> - Select default Bible version for cross-references: <select name="defversion" size="1"> - -DEF2 - - $biblesflag = 1; - foreach $line (@versionlist2) { - if ($biblesflag == 1) { - chomp ($line); - if ($line eq "Biblical Texts:") { - } - elsif ($line eq "Commentaries:") { - $biblesflag = 0; - } - else { - $line =~ s/([^:]+) : (.+)/<option value=\"$1\">$2 ($1)<\/option>/; - print "$line\n"; - } - } - } - - print <<DEF3; -</select><input type="submit" name="Submit" value="Submit"></form><br/><form method="get" action="dia-def.pl">Select locale: -<select name="locale" size="1"><option value="">browser default</option> -<option value="en">en</option> -DEF3 - foreach $line (@localelist) { - chomp($line); - print "<option value=\"$line\">$line<\/option>"; - } -print <<DEF4 -</select> -<input type="submit" name="Submit" value="Submit"> -</form> -</body> -</html> -DEF4 - -} -else { - - - -if ($palm == 0) { -print <<END; - -<html><head> -<title>Diatheke Interlinear Bible</title> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta name="palmcomputingplatform" content="true"> -<meta name="historylisttext" content="Diatheke"> -<style type="text/css"> -#divBottom{position:absolute; visibility:hidden; font-family:arial,helvetica; height:30; width:100; font-size:10pt; font-weight:bold} -A:link, A:visited, A:active{text-decoration: none} -</style> -<script type="text/javascript" language="JavaScript"> -/******************************************************************************** -Copyright (C) 1999 Thomas Brattli -This script is made by and copyrighted to Thomas Brattli at www.bratta.com -Visit for more great scripts. This may be used freely as long as this msg is intact! -I will also appriciate any links you could give me. -********************************************************************************/ -//Default browsercheck, added to all scripts! -function checkBrowser(){ - this.ver=navigator.appVersion; - this.dom=document.getElementById?1:0; - this.ie5=( (this.ver.indexOf("MSIE 6")>-1 || this.ver.indexOf("MSIE 5")>-1) && this.dom)?1:0; - this.ie4=(document.all && !this.dom)?1:0; - this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; - this.ns4=(document.layers && !this.dom)?1:0; - this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5); - return this; -} -bw=new checkBrowser() -/******************************************************************************** -Remeber to set the look of the divBottom layer in the stylesheet (if you wan't -another font or something) -********************************************************************************/ -/*Set these values, gright for how much from the right you wan't the layer to go -and gbottom for how much from the bottom you want it*/ -var gright=160 -var gbottom=80 - - - -/******************************************************************************** -Constructing the ChangeText object -********************************************************************************/ -function makeObj(obj,nest){ - nest=(!nest) ? '':'document.'+nest+'.'; - this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0; - this.moveIt=b_moveIt; -} -function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y} - -/******************************************************************************** -Initilizing the page, getting height and width to moveto and calls the -object constructor -********************************************************************************/ - function geoInit(){ - oGeo=new makeObj('divBottom'); - pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth; - pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight; - checkIt(); - // sets the resize handler. - onresize=resized; - if(bw.ie4 || bw.ie5) window.onscroll=checkIt; - // shows the div - oGeo.css.visibility='visible'; - } -/******************************************************************************** -This function executes onscroll in ie and every 30 millisecond in ns -and checks if the user have scrolled, and if it has it moves the layer. -********************************************************************************/ -function checkIt(){ - if(bw.ie4 || bw.ie5) oGeo.moveIt(document.body.scrollLeft +pageWidth-gright,document.body.scrollTop+pageHeight-gbottom); - else if(bw.ns4){ - oGeo.moveIt(window.pageXOffset+pageWidth-gright, window.pageYOffset+pageHeight-gbottom); - setTimeout('checkIt()',30); - } -} - -//Adds a onresize event handler to handle the resizing of the window. -function resized(){ - pageWidth=(bw.ie4 || bw.ie5)?document.body.offsetWidth-4:innerWidth; - pageHeight=(bw.ie4 || bw.ie5)?document.body.offsetHeight-2:innerHeight; - if(bw.ie4 || bw.ie5) checkIt() -} - - -//Calls the geoInit onload -if(bw.bw && !bw.ns5) onload=geoInit; - -//Here we will write the div out so that lower browser won't see it.' -if(bw.bw && !bw.ns5) document.write('<div id="divBottom"><table><tr><td align="center">Powered by<br /><img src="http://www.crosswire.org/sword/pbsword.gif"><br /><a href="http://www.crosswire.org/">www.crosswire.org</td></tr></table></div>') -</script> - -</head> - -<body bgcolor="#FFFFFF"><font face="$defaultfontface"> - -END -} -else { -print <<END - -<html><head> -<title>HANDiatheke</title> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<meta name="palmcomputingplatform" content="true"> -<meta name="historylisttext" content="HANDiatheke"> -</head> -<body bgcolor="#FFFFFF"><font face="$defaultfontface"> -END -} -for ($i = 0; $i < $n; $i++) { - - $line = "$diatheke $search $optionfilters $latinxlit -l $locale -m $maxverses -f cgi -b $versions[$i] -k \"$verse\" $err"; - - if ($debug) { - print "command line: $line\n<br />"; - } - $line = `$line`; - - chomp($line); - - $line =~ s/!DIATHEKE_URL!/$scriptname\?/g; - -# Parse and link to Strong's references if present - - $info = `$diatheke -b info -k $versions[$i] $err`; - $info =~ /([^\;]+)\;([^\;]+)/; - $format = $1; - $type = $2; - - if ($versions[$i] eq "StrongsHebrew") { - $line =~ s/(see HEBREW for )([0-9]+)/<a href=\"$scriptname?verse=$2&StrongsHebrew=on\">$1$2\<\/a\>/g; - } - elsif($versions[$i] eq "StrongsGreek") { - $line =~ s/(see GREEK for )([0-9]+)/<a href=\"$scriptname?verse=$2&StrongsGreek=on\">$1$2\<\/a\>/g; - } - #case for searches - elsif($search ne "") { - $line =~ s/<entry>([^<]+)<\/entry>/urlvers($1, $versions[$i])/eg; - } - #case for non-ThML, non-Bible texts - elsif($type ne "Biblical Texts") { - $book = $verse; - $book =~ s/^([A-Za-z0-9]+) [0-9]+:[0-9]+.*/$1/; - $chapter = $verse; - $chapter =~ s/[A-Za-z0-9]+ ([0-9]+):[0-9]+.*/$1/; - $line =~ s/\#*([1-9]*[A-Z][a-z]+\.*) ([0-9]+):([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$1+$2%3A$3&$defversion=on\">$1 $2:$3\<\/a\>/g; - $line =~ s/\#([0-9]+):([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$book+$1%3A$2&$defversion=on\">$book $1:$2\<\/a\>/g; - $line =~ s/\#([0-9]+-*,*[0-9]*)\|*/<a href=\"$scriptname?verse=$book+$chapter%3A$1&$defversion=on\">$book $chapter:$1\<\/a\>/g; - } - - if ($locale ne "abbr") { - $line =~ s/href=\"$scriptname([^\"]+)\"/href=\"$scriptname$1&locale=$locale\"/g; - } - if ($palm == 1) { - $line =~ s/href=\"$scriptname([^\"]+)\"/href=\"$cgiurl\/$scriptname$1&palm=on\"/g; - } - - print "$line <br /><br />\n"; -} - -if ($palm == 1) { - print "<hr>Powered by Diatheke (http:\/\/www.gotjesus.org\/sword\/diatheke) and the SWORD Project (http:\/\/www.crosswire.org\/sword)."; -} - -print "<br /><br /><br /><br /></font></body></html>"; - -} - - |