King James Bible PHP Script Miscellaneous

A Complete Online King James Bible for your Website. Help us spread thy Word with our integrated Social Networking Tools. Easily syndicate what you have learned while reading the Bible with others on Twitter, Facebook, Myspace, Digg, YouTube?, Google, Yahoo, AOL, ASK, etc. Added Twitter API Support, Added Twitter Shout Box to Footer. Also, with our “Bookmark & Share” button you now can literally publish your thoughts with over 33 Social Networking sites instantly in one-click. Bible PHP Script v2.2 does allot more than just social bookmarking insightful Bible verses but now also translate the King James bible into 15 other languages besides English. Now share the Word of God in Arabic, German, Greek, Spanish, French, Italian, Hebrew, Korean, Russian, Slovak, Swedish, Turkish, Ukraine, Vietnamese and Chinese.

 

<?php

/**
 * File containing miscellaneous functions
 */

require_once('ClassGrepSearch.inc.php');

/**
 *
 * function to retrieve text lines from file
 *  highlighting the search string
 *
 * @param $filePath string
 * @param $classGrepSearch class Instance
 *
 */


function createLinesFromFile($filePath,$classGrepSearch)
{
 global $template;

 $linesArray = file($filePath);
 $chapterNo = (int)substr($filePath,-7,3);
 $htmlLines="";
 $classGrepSearch->setGlobalCount(0);
 $newLine = "";
 for($i=0;$i<count($linesArray);$i++)
 {
 $verseNo=(int)substr($linesArray[$i],0,strpos($linesArray[$i]," "));
 $verseText=substr($linesArray[$i],strpos($linesArray[$i]," "));
 $verseText = $classGrepSearch->allStrReplaceTag(htmlentities(html_entity_decode($verseText)),
 $template['searchResult']['Verse']['SearchKeyStartTag'],
 $template['searchResult']['Verse']['SearchKeyEndTag'] );
 if($classGrepSearch->getGlobalResult())
 {
 $htmlLines .=eval("return \"".$template['searchResult']['Verse']['ProcessHTML']."\";");
 }
 }
 $globalSearchCount = $classGrepSearch->getGlobalCount();
 return     $htmlLines;
}






/**
 *
 * function to get array of all Book Names
 *
 * return array
 *
 */


function getBooks()
{
 global $Book;

 return $Book;
}

/**
 *
 * function to get array of all Book Index from
 *  Book Names
 * return array
 *
 */



function getBookIndex()
{
 global $BookIndex;

 return $BookIndex;
}

/**
*
* function to return the Book Names
*  from start and end index
*
* @param $start_span number
* @param $end_span number
*
*    return array
*/

function getBookNames($startSpan,$endSpan)
{
 $Book = array();
 $Book = getBooks();
 $resultArray=array();
 for($i=$startSpan;$i<=$endSpan;$i++)
 {
 array_push($resultArray,$Book["All"][$i]);
 }

 return $resultArray;

}

/**
*
* function to get category name from
*  a category number
*
* @param $aCategoryNumber number
*
*    return array
*/


function getCategoryName($aCategoryNumber)
{
 $Category["11"]="Apocalyptic Books";
 $Category["3"]="Books of Moses";
 $Category["9"]="Epistles";
 $Category["4"]="Gospels";
 $Category["8"]="Historical Books";
 $Category["5"]="Major Prophets";
 $Category["6"]="Minor Prophets";
 $Category["2"]="New Testament";
 $Category["1"]="Old Testament";
 $Category["10"]="Pauline Epistles";
 $Category["7"]="Wisdom Books";
 if(isset($Category[$aCategoryNumber]))
 {
 return $Category[$aCategoryNumber];
 }
 else
 {
 return false;
 }
}

/**
*
* function to get all Book Names
*  in a particular category
*
* @param $aCategoryName string
*/


function getBookCategory($aCategoryName)
{
 $Book = array();
 $Book = getBooks();
 $resultArray=array();
 foreach($Book[$aCategoryName] as $BookName)
 {
 array_push($resultArray,$BookName);
 }
 return $resultArray;

}

/**
*
* function to create HTML Lines
* from database for the given
* search string.
*
* @param $databaseInfo array
* @param $classGrepSearch class Instance
*
* return string
*/


function createLinesFromDB($databaseInfo,$classGrepSearch)
{
 global $limit,$start_span,$end_span,$bookset,$template,$version;
 $databasehost = $databaseInfo['databasehost'];
 $databasename = $databaseInfo['databasename'];
 $databasetable = $databaseInfo['databasetable'];
 $databaseusername = $databaseInfo['databaseusername'];
 $databasepassword = $databaseInfo['databasepassword'] ;
 $classGrepSearch->setGlobalCount(0);
 $Books=getBooks();
 $htmlLines="";
 $con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
 mysql_select_db($databasename);
 $searchArray=$classGrepSearch->getSearchArray();
 if($classGrepSearch->getSearchType()=="allInFile")
 {
 $varArray['limit']=$limit;
 $varArray['start_span']=$start_span;
 $varArray['end_span']=$end_span;
 $varArray['bookset']=$bookset;
 $varArray['databasetable']=$databasetable;
 $sql = createAllinChapterSQL($classGrepSearch,$varArray);
 }
 else
 {
 $sql = " SELECT * FROM ".$databasetable."  where ";

 if($limit == "bookset")
 {
 $sql .="( ";
 foreach($Books[getCategoryName($bookset)] as $BookName)
 {
 $bookId=array_search($BookName, $Books["All"]);
 $sql .="bookid = $bookId or ";
 }
 $sql=substr($sql,0,(strlen($sql)-3));
 $sql .=") and ";
 }
 if($limit == "span")
 {

 for($i=$start_span;$i<=$end_span;$i++)
 {
 if($i==$start_span)
 {
 $sql .="( ";
 }

 $sql .="bookid = $i ";
 if($i != $end_span)
 {
 $sql .=" or ";
 }
 else
 {
 $sql .=") and ";
 }
 }
 }
 foreach($searchArray as $search)
 {

 if($classGrepSearch->getCaseSensitive())
 {
 $sql .="binary ";
 }
 if($classGrepSearch->getSearchType()=="all")
 {
 $sql .= "versetext like '%".$search."%' and ";
 }else
 {
 $sql .= "versetext like '%".$search."%' or  ";
 }
 }
 $sql=substr($sql,0,(strlen($sql)-4)).";";
 }
 $result=mysql_query($sql) or die(mysql_error());
 $htmlLines="";
 $newLine ="";
 $prevChapterNo=0;
 $ChapterNo=0;
 $BookID=0;
 $prevBookID=0;
 $bookFirsttime=true;
 while($row=mysql_fetch_array($result))
 {



 $newLine="";
 $BookID=(int)$row[BOOKID];
 $ChapterNo=(int)$row[CHAPTERNO];
 $verseNo=(int)$row[VERSENO];
 $bookName=$Books["All"][$BookID];    $verseText=$classGrepSearch->allStrReplaceTag(htmlentities(html_entity_decode($row[VERSETEXT]))
 ,$template['searchResult']['Verse']['SearchKeyStartTag'],
 $template['searchResult']['Verse']['SearchKeyEndTag']);
 if($classGrepSearch->getGlobalResult())
 {
 $newLine .=$template['searchResult']['Verse']['StartHTML'];
 $newLine .=eval("return \"".$template['searchResult']['Verse']['ProcessHTML']."\";");
 $newLine .=$template['searchResult']['Verse']['EndHTML'];

 if(($BookID!=$prevBookID))
 {
 if($bookFirsttime)
 {
 $newLine =$template['searchResult']['Book']['StartHTML'].
 eval("return \"".$template['searchResult']['Book']['ProcessHTML']."\";").
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;
 $bookFirsttime=false;

 }else
 {
 $newLine =$template['searchResult']['Chapter']['EndHTML'].
 $template['searchResult']['Book']['EndHTML'].
 $template['searchResult']['Book']['StartHTML'].
 eval("return \"".$template['searchResult']['Book']['ProcessHTML']."\";").
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;
 }
 }
 else
 if(($ChapterNo!=$prevChapterNo))
 {
 $newLine =$template['searchResult']['Chapter']['EndHTML'].
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;

 }

 $prevBookID=$BookID;
 $prevChapterNo=$ChapterNo;
 $htmlLines .=$newLine;
 }

 }
 $htmlLines .=$template['searchResult']['Chapter']['EndHTML'];
 $htmlLines .=$template['searchResult']['Book']['EndHTML'];
 return $htmlLines;

}

/**
*
* function to create HTML Lines
* for sample search for the given
* search string.
*
* @param $classGrepSearch class Instance
*
* return string
*/


function createLinesFromSample($classGrepSearch)
{
 global $limit,$start_span,$end_span,$bookset;
 global $searchStringStartTag,$searchStringEndTag,$template;
 global $sampleSearch;
 $classGrepSearch->setGlobalCount(0);
 $Books=getBooks();
 $htmlLines="";
 $newLine ="";
 $prevChapterNo=0;
 $ChapterNo=0;
 $BookID=0;
 $prevBookID=0;
 $bookFirsttime=true;
 foreach($sampleSearch as $row)
 {
 $newLine="";
 $BookID=(int)$row[0];
 $ChapterNo=(int)$row[1];
 $verseNo=(int)$row[2];
 $bookName=$Books["All"][$BookID];    $verseText=$classGrepSearch->allStrReplaceTag(htmlentities(html_entity_decode($row[3]))
 ,$template['searchResult']['Verse']['SearchKeyStartTag'],
 $template['searchResult']['Verse']['SearchKeyEndTag']);
 if($classGrepSearch->getGlobalResult())
 {
 $newLine .=$template['searchResult']['Verse']['StartHTML'];
 $newLine .=eval("return \"".$template['searchResult']['Verse']['ProcessHTML']."\";");
 $newLine .=$template['searchResult']['Verse']['EndHTML'];

 if(($BookID!=$prevBookID))
 {
 if($bookFirsttime)
 {
 $newLine =$template['searchResult']['Book']['StartHTML'].
 eval("return \"".$template['searchResult']['Book']['ProcessHTML']."\";").
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;
 $bookFirsttime=false;

 }else
 {
 $newLine =$template['searchResult']['Chapter']['EndHTML'].
 $template['searchResult']['Book']['EndHTML'].
 $template['searchResult']['Book']['StartHTML'].
 eval("return \"".$template['searchResult']['Book']['ProcessHTML']."\";").
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;
 }
 }
 else
 if(($ChapterNo!=$prevChapterNo))
 {
 $newLine =$template['searchResult']['Chapter']['EndHTML'].
 $template['searchResult']['Chapter']['StartHTML'].
 eval("return \"".$template['searchResult']['Chapter']['ProcessHTML']."\";").
 $newLine;

 }

 $prevBookID=$BookID;
 $prevChapterNo=$ChapterNo;
 $htmlLines .=$newLine;
 }
 }
 $htmlLines .=$template['searchResult']['Chapter']['EndHTML'];
 $htmlLines .=$template['searchResult']['Book']['EndHTML'];

 return $htmlLines;
}

/**
*
* function to create SQL for all in chapter
* search for database
*
* @param $classGrepSearch class Instance
* @param $varArray array
*
* return string
*/


function createAllinChapterSQL($classGrepSearch,$varArray)
{
 $limit=$varArray['limit'];
 $start_span=$varArray['start_span'];
 $end_span=$varArray['end_span'];
 $bookset=$varArray['bookset'];
 $databasetable=$varArray['databasetable'];
 $sql = "select $databasetable.*  from (SELECT * FROM (";
 if($classGrepSearch->getCaseSensitive())
 {
 $binary = "binary";
 }
 else
 {
 $binary="";
 }
 $Books=getBooks();
 $searchRange="";
 if($limit == "bookset")
 {
 $searchRange ="( ";
 foreach($Books[getCategoryName($bookset)] as $BookName)
 {
 $bookId=array_search($BookName, $Books["All"]);
 $searchRange .="bookid = $bookId or ";
 }
 $searchRange=substr($searchRange,0,(strlen($searchRange)-3));
 $searchRange .=") and ";
 }
 if($limit == "span")
 {

 for($i=$start_span;$i<=$end_span;$i++)
 {
 if($i==$start_span)
 {
 $searchRange .="( ";
 }

 $searchRange .="bookid = $i ";
 if($i != $end_span)
 {
 $searchRange .=" or ";
 }
 else
 {
 $searchRange .=") and ";
 }
 }
 }
 $searchArray=$classGrepSearch->getSearchArray();

 foreach($searchArray as $search)
 {
 $sql.="SELECT DISTINCT bookid,chapterno FROM  $databasetable WHERE $searchRange $binary versetext like '%".$search."%'";
 $sql .= "UNION ALL ";
 }
 $sql=substr($sql,0,(strlen($sql)-10));
 $sql.=") AS tbl  GROUP BY tbl.bookid,tbl.chapterno  HAVING COUNT(*) = ".count($searchArray).") as tbl2 inner join $databasetable on tbl2.bookid=$databasetable.bookid and tbl2.chapterno=$databasetable.chapterno" ;

return $sql;

}



?>

&amp;nbsp;

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>