Initial commit

This commit is contained in:
2022-11-21 09:47:28 +01:00
commit 76cec83d26
11652 changed files with 1980467 additions and 0 deletions

View File

@ -0,0 +1,619 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
$wort=$_GET['wort'];
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
#$wort="1. Mose 3,5-12";
function splitword($a,$b,$c,$d,$e,$f,$g,$h){
return "$a|$b|$c|$d|$e|$f|$g|$h|";
}
// Preg auf vollständige Bibelbücher überprüft
$wort=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $wort);
$trenner = explode("|", $wort);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$vers_select=$_GET['vers_select'];
$action = $_GET['action'];
if($action == ''){
$smarty->assign('bib_popup_anz_buch', "$anz_buch");
$smarty->assign('bib_popup_buch', "$buch");
$smarty->assign('bib_popup_kapitel', "$kapitel");
$smarty->assign('bib_popup_vers_anf', "$vers_anf");
$smarty->assign('bib_popup_vers_trenner', "$vers_trenner");
$smarty->assign('bib_popup_vers_ende', "$vers_ende");
$smarty->assign('bib_popup_vers_select', "$vers_select");
$smarty->assign('bib_popup_stopmark', "$stopmark");
$buch_vollst=trim("$anz_buch $buch $kapitel");
$db = dbconnect();
$result_cur = $db->query( "SELECT bid
FROM bibel_chapter
WHERE buch = '$buch_vollst'
ORDER BY bid ASC
");
$row_cur = $result_cur->fetch_array();
$next = $row_cur[bid]+1;
$prev = $row_cur[bid]-1;
$result_next = $db->query( "SELECT buch
FROM bibel_chapter
WHERE bid = '$next'
ORDER BY bid ASC
");
$row_next = $result_next->fetch_array();
$result_prev = $db->query( "SELECT buch
FROM bibel_chapter
WHERE bid = '$prev'
ORDER BY bid ASC
");
$row_prev = $result_prev->fetch_array();
if($row_prev[buch]!=''){
$smarty->assign('bib_popup_prev', "1");
$smarty->assign('bib_popup_prev_buch', "$row_prev[buch]");
}
if($row_next[buch]!=''){
$smarty->assign('bib_popup_next', "1");
$smarty->assign('bib_popup_next_buch', "$row_next[buch]");
}
}
if($action == 'suche'){
$suche = trim($_POST['search_bibel']);
setcookie("ck_suche",$suche);
############################################################
## Wenn jemand ein Buch auswählt: 1. Mose; Matthäus....
## dann direkt zum 1.Kapitel des Buches leiten
############################################################
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_books
WHERE bezeichnung ='$suche'");
$row_anz = $result_anz->fetch_array();
if($row_anz[Anz] == 1){
$result_wort = $db->query("SELECT bezeichnung
FROM bibel_books
WHERE bezeichnung ='$suche'");
$row_wort = $result_wort->fetch_array();
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=N&wort=$row_wort[bezeichnung] 1\">";
exit;
}
############################################################
## Wenn jemand ein Textwort eingibt,
## dann direkt zum Textwort leiten
############################################################
function refill($a,$b,$c,$d,$e,$f,$g,$h,$i)
{
// Funktion die aus Textstellenkurzeichen die vollständige Textstelle erstellt
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
switch($c)
{
case'Mo':
$c= 'Mose';
break;
case'Jos':
$c= 'Josua';
break;
case'Ri':
$c= 'Richter';
break;
case'Rut':
$c= 'Rut';
break;
case'Sam':
$c= 'Samuel';
break;
case'Kön':
$c= 'Könige';
break;
case'Chr':
$c= 'Chronik';
break;
case'Esr':
$c= 'Esra';
break;
case'Neh':
$c= 'Nehemia';
break;
case'Est':
$c= 'Esther';
break;
case'Hiob':
$c= 'Hiob';
break;
case'Hi':
$c= 'Hiob';
break;
case'Ps':
$c= 'Psalm';
break;
case'Spr':
$c= 'Sprüche';
break;
case'Pred':
$c= 'Prediger';
break;
case'Hld':
$c= 'Hoheslied';
break;
case'Jes':
$c= 'Jesaja';
break;
case'Jer':
$c= 'Jeremia';
break;
case'Kla':
$c= 'Klagelieder';
break;
case'Hes':
$c= 'Hesekiel';
break;
case'Dan':
$c= 'Daniel';
break;
case'Hos':
$c= 'Hosea';
break;
case'Joel':
$c= 'Joel';
break;
case'Am':
$c= 'Amos';
break;
case'Obd':
$c= 'Obadja';
break;
case'Jona':
$c= 'Jona';
break;
case'Mi':
$c= 'Micha';
break;
case'Nah':
$c= 'Nahum';
break;
case'Hab':
$c= 'Habakuk';
break;
case'Zef':
$c= 'Zefanja';
break;
case'Hag':
$c= 'Haggai';
break;
case'Sach':
$c= 'Sacharja';
break;
case'Mal':
$c= 'Maleachi';
break;
case'Tob':
$c= 'Tobias';
break;
case'Mt':
$c= 'Matthäus';
break;
case'Mat':
$c= 'Matthäus';
break;
case'Math':
$c= 'Matthäus';
break;
case'Mk':
$c= 'Markus';
break;
case'Mar':
$c= 'Markus';
break;
case'Mark':
$c= 'Markus';
break;
case'Lk':
$c= 'Lukas';
break;
case'Luk':
$c= 'Lukas';
break;
case'Joh':
$c= 'Johannes';
break;
case'Jh':
$c= 'Johannes';
break;
case'Apg':
$c= 'Apostelgeschichte';
break;
case'Röm':
$c= 'Römer';
break;
case'Rom':
$c= 'Römer';
break;
case'Kor':
$c= 'Korinther';
break;
case'Gal':
$c= 'Galater';
break;
case'Eph':
$c= 'Epheser';
break;
case'Phil':
$c= 'Philipper';
break;
case'Kol':
$c= 'Kolosser';
break;
case'Thess':
$c= 'Thessalonicher';
break;
case'Tim':
$c= 'Timotheus';
break;
case'Tit':
$c= 'Titus';
break;
case'Phlm':
$c= 'Philemon';
break;
case'Ptr':
$c= 'Petrus';
break;
case'Petr':
$c= 'Petrus';
break;
case'Hbr':
$c= 'Hebräer';
break;
case'Hebr':
$c= 'Hebräer';
break;
case'Jak':
$c= 'Jakobus';
break;
case'Jk':
$c= 'Jakobus';
break;
case'Jud':
$c= 'Judas';
break;
case'Offb':
$c= 'Offenbarung';
break;
case'Off':
$c= 'Offenbarung';
break;
}
# $a=trim($a);
if($a !=""){$a=trim($a).".";} // nach der Zahl noch der Punkt hinzufügen
if($a != ""){$a=trim($a)." ";$b="";} // nach dem Punkt ein Leerzeichen, B kann dann entfallen
if($d ==""){$d=" ";}
if($g !=""){$g=" ".$g." ";} // --> "1. Johannes 3,aus3" wird "1. Johannes 3, aus 3"
#return sprintf('<a href="http://www.bibleserver.com/go.php?lang={de}&bible={LUT84}&ref=%s" target="_blank">%s</a>', $a.$b.$c.$d.$e.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
return trim($a.$b.$c.$d.$e.$f.$g.$h);
}
$suche =preg_replace_callback("/([1-9]\s*)?()(Mo|Jos|Ri|Rut|Sam|Kön|Chr|Esr|Neh|Est|Hiob|Ps|Spr|Pred|Hld|Jes|Jer|Kla|Hes|Dan|Hos|Joel|Am|Obd|Jona|Mi|Nah|Hab|Zef|Hag|Sach|Mal|Tob|Mt|Mat|Math|Mar|Mark|Mk|Lk|Luk|Joh|Jh|Apg|Röm|Rom|Kor|Gal|Eph|Phil|Kol|Thess|Tim|Tit|Phlm|Ptr|Petr|Joh|Hbr|Hebr|Jak|Jk|Jud|Offb|Off)(\s*)".
"([0-9]{1,3})(\,\s*)?(aus\s*)?([0-9]{0,3})/", function($m) { return refill($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], $m[9]);}, $suche);
if ((
// Bücher mit mehreren Bücher 1. Johannes...
preg_match("/^([1-9])\.\s* (Makkabäer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus)\s*[0-9]{1,2}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher mit nur einem Buch Rut 3,5-7
preg_match("/^(Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Johannes|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Titus|Hebräer|Jakobus|Offenbarung)\s*[0-9]{1,3}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher ohne Kapitel
preg_match("/^(Philemon|Judas)\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
)
AND $suche != ""
){
// verschiedene Schreibweisen möglich. DB enthält die Varianten ohne "H"
$suche =str_replace ("Ruth", "Rut" , $suche);
$suche =str_replace ("Esther", "Ester" , $suche);
$suche =str_replace ("Judith", "Judit" , $suche);
$suche =str_replace ("Ezechiel", "Hesekiel" , $suche);
$suche =str_replace ("Ijob", "Hiob" , $suche);
// Preg auf vollständige Bibelbücher überprüft
$suche=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $suche);
$trenner = explode("|", $suche);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_lut_1984
WHERE anz_buch ='$anz_buch'
AND buch ='$buch'
AND kapitel ='$kapitel'
AND vers ='$vers_anf'");
$row_anz1 = $result_anz->fetch_array();
// Wenn man zB. nur Römer 11 eingibt, dann soll nicht das ganze Kapitel markiert werden
if($vers_anf ==''){
$vers_select = "N";
}else{
$vers_select = "Y";
}
if($row_anz1[Anz] > 0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=$vers_select&stopmark=$vers_anf&wort=$suche\">";
}else{
$smarty->assign('bib_popup_nohit', "1");
}
}else{
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?action=suche2\">";
}
}
if($action == 'suche2'){
############################################################
## Wenn jemand ein Suchbegriffe eingibt,
## dann direkt zum Textwort leiten, wenns nur ein Treffer gibt,
## sonst Ergebnisliste anzeigen
############################################################
$suche = $_COOKIE["ck_suche"];
$suche = trim(strtoupper($suche));
$trenner4 = 'LIKE ';
$start4 = '%';
$ende4 = '%';
$sql1 = "SELECT count(*) as anz_treffer
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$suche = preg_replace('/\s{2,}/sm',' ',$suche,PREG_SET_ORDER); //Mehr als zwei leerzeichen entfernen
preg_match_all("/(\-{0,1}\+{0,1}\*{0,1}%{0,1}\"([^\"]+)\"\*{0,1}%{0,1}\+{0,1}\-{0,1}|\-{0,1}\+{0,1}\*{0,1}%{0,1}(\w+)\*{0,1}%{0,1}\+{0,1}\-{0,1})/u", $suche, $Worte);
if($suche != ""){
$sql .= "AND (";
for($i=0; $i < count($Worte); $i++)
{
$suche = str_replace (array("\\", "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("", "&AUML;", "&OUML;", "&UUML;", "&SZLIG;", "&AUML;", "&OUML;", "&UUML;"), $Worte[0][$i]);
$suchwort = str_replace (array("+", "-", "\"", "\\"), array("", "", "", ""), $suche);
if($i == 0){
$oper = "";
}else{
$oper = "AND";
}
if(strpos($Worte[0][$i],"+") === 0){
$sql .= "UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
} elseif(strpos($Worte[0][$i],"-") === 0){
$sql .= "$oper UPPER(inhalt) NOT $trenner4 '$start4".$suchwort."$ende4' ";
} elseif($Worte[0][$i] == ""){
NULL;
}else{
$sql .= "$oper UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
}
}
}
$sql .= ")";
$db = dbconnect();
$query1 = $sql1.$sql;
$result = $db->query($query1);
$res = $result->fetch_array()
or die ("Cannot execute query");
if($res['anz_treffer'] == '' or $res['anz_treffer'] == 0){
$smarty->assign('bib_popup_nohit', "1");
}else{
// Bei nur einem Treffer keine Liste anzeigen, sondern direkt weiteleiten
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC";
$query = $sql1.$sql.$sql2;
$result = $db->query( $query )
or die ("Cannot execute query");
while ($row = $result->fetch_array()){
if($res[anz_treffer] == 1){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=Y&stopmark=$row[vers]&wort=$row[bibelstelle]\">";
exit;
}
}
// 1 Treffer Ende
function kurzer_text($string,$laenge){
$origin=strlen($string);
$stri_arr=explode(" ",$string);
$anzzahl=count($stri_arr);
$gekuerzt=0;
$string="";
while($gekuerzt<$anzzahl){
$string_alt=$string;
$string=$string." ".$stri_arr[$gekuerzt];
$gekuerzt++;
if(strlen($string)>$laenge){
$gekuerzt=$anzzahl;
$string=$string_alt;
}
}
if($laenge<$origin){
$string=$string."<nobr>&nbsp;<b>...</b></nobr>";
}
return $string;
}
// Datendefinition für die Clientausgabe
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;
$limit = 5; // Datensätze pro Ausgabeseite
// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = $db->query( $query1 );
$row_anz2 = $resultID->fetch_array();
$total = $row_anz2['anz_treffer'];
#$total = $db->result($query1,0);
// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start = ($_GET['start'] >= $total) ? $total - $limit : $start;
// Datenbankabfrage ausführen.
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC
LIMIT ".$start.",".$limit;
$query = $sql1.$sql.$sql2;
$resultID = $db->query( $query );
$smarty->assign('bib_popup_hit', "1");
$smarty->assign('bib_popup_anz_treffer', "$res[anz_treffer]");
while ($row = $resultID->fetch_array()){
$preview = kurzer_text(strip_tags($row[inhalt]),100);
$row['preview'] = $preview;
$value[] = $row;
}
$smarty->assign('table_data', $value);
$show = ceil($total/$limit); //Seitenzahlen aufrunden
$last = floor($total/$limit)*$limit; //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$smarty->assign('bib_popup_currpage', "$akt");
$smarty->assign('bib_popup_pagecount', "$show");
// Zurück- und Vorblättern
if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
$smarty->assign('bib_popup_start0', "1");
$smarty->assign('bib_popup_start_newstart', "$newStart");
}else{
$smarty->assign('bib_popup_start0', "2");
}
if ($start + $limit < $total)
{
$newStart = $start + $limit;
$smarty->assign('bib_popup_end0', "1");
$smarty->assign('bib_popup_end_newstart', "$newStart");
$smarty->assign('bib_popup_end_last', "$last");
}else{
$smarty->assign('bib_popup_end0', "2");
}
}
}
$smarty->assign('action', "$action");
$smarty->display("../templates/$template/$templatename");
?>

View File

@ -0,0 +1,619 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
$wort=$_GET['wort'];
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
#$wort="1. Mose 3,5-12";
function splitword($a,$b,$c,$d,$e,$f,$g,$h){
return "$a|$b|$c|$d|$e|$f|$g|$h|";
}
// Preg auf vollständige Bibelbücher überprüft
$wort=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $wort);
$trenner = explode("|", $wort);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$vers_select=$_GET['vers_select'];
$action = $_GET['action'];
if($action == ''){
$smarty->assign('bib_popup_anz_buch', "$anz_buch");
$smarty->assign('bib_popup_buch', "$buch");
$smarty->assign('bib_popup_kapitel', "$kapitel");
$smarty->assign('bib_popup_vers_anf', "$vers_anf");
$smarty->assign('bib_popup_vers_trenner', "$vers_trenner");
$smarty->assign('bib_popup_vers_ende', "$vers_ende");
$smarty->assign('bib_popup_vers_select', "$vers_select");
$smarty->assign('bib_popup_stopmark', "$stopmark");
$buch_vollst=trim("$anz_buch $buch $kapitel");
$db = dbconnect();
$result_cur = $db->query( "SELECT bid
FROM bibel_chapter_1984
WHERE buch = '$buch_vollst'
ORDER BY bid ASC
");
$row_cur = $result_cur->fetch_array();
$next = $row_cur['bid']+1;
$prev = $row_cur['bid']-1;
$result_next = $db->query( "SELECT buch
FROM bibel_chapter_1984
WHERE bid = '$next'
ORDER BY bid ASC
");
$row_next = $result_next->fetch_array();
$result_prev = $db->query( "SELECT buch
FROM bibel_chapter_1984
WHERE bid = '$prev'
ORDER BY bid ASC
");
$row_prev = $result_prev->fetch_array();
if($row_prev['buch']!=''){
$smarty->assign('bib_popup_prev', "1");
$smarty->assign('bib_popup_prev_buch', "$row_prev[buch]");
}
if($row_next['buch']!=''){
$smarty->assign('bib_popup_next', "1");
$smarty->assign('bib_popup_next_buch', "$row_next[buch]");
}
}
if($action == 'suche'){
$suche = trim($_POST['search_bibel']);
setcookie("ck_suche",$suche);
############################################################
## Wenn jemand ein Buch auswählt: 1. Mose; Matthäus....
## dann direkt zum 1.Kapitel des Buches leiten
############################################################
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_books_1984
WHERE bezeichnung ='$suche'");
$row_anz = $result_anz->fetch_array();
if($row_anz['Anz'] == 1){
$result_wort = $db->query("SELECT bezeichnung
FROM bibel_books_1984
WHERE bezeichnung ='$suche'");
$row_wort = $result_wort->fetch_array();
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=N&wort=$row_wort[bezeichnung] 1\">";
exit;
}
############################################################
## Wenn jemand ein Textwort eingibt,
## dann direkt zum Textwort leiten
############################################################
function refill($a,$b,$c,$d,$e,$f,$g,$h,$i)
{
// Funktion die aus Textstellenkurzeichen die vollständige Textstelle erstellt
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
switch($c)
{
case'Mo':
$c= 'Mose';
break;
case'Jos':
$c= 'Josua';
break;
case'Ri':
$c= 'Richter';
break;
case'Rut':
$c= 'Rut';
break;
case'Sam':
$c= 'Samuel';
break;
case'Kön':
$c= 'Könige';
break;
case'Chr':
$c= 'Chronik';
break;
case'Esr':
$c= 'Esra';
break;
case'Neh':
$c= 'Nehemia';
break;
case'Est':
$c= 'Esther';
break;
case'Hiob':
$c= 'Hiob';
break;
case'Hi':
$c= 'Hiob';
break;
case'Ps':
$c= 'Psalm';
break;
case'Spr':
$c= 'Sprüche';
break;
case'Pred':
$c= 'Prediger';
break;
case'Hld':
$c= 'Hoheslied';
break;
case'Jes':
$c= 'Jesaja';
break;
case'Jer':
$c= 'Jeremia';
break;
case'Kla':
$c= 'Klagelieder';
break;
case'Hes':
$c= 'Hesekiel';
break;
case'Dan':
$c= 'Daniel';
break;
case'Hos':
$c= 'Hosea';
break;
case'Joel':
$c= 'Joel';
break;
case'Am':
$c= 'Amos';
break;
case'Obd':
$c= 'Obadja';
break;
case'Jona':
$c= 'Jona';
break;
case'Mi':
$c= 'Micha';
break;
case'Nah':
$c= 'Nahum';
break;
case'Hab':
$c= 'Habakuk';
break;
case'Zef':
$c= 'Zefanja';
break;
case'Hag':
$c= 'Haggai';
break;
case'Sach':
$c= 'Sacharja';
break;
case'Mal':
$c= 'Maleachi';
break;
case'Tob':
$c= 'Tobias';
break;
case'Mt':
$c= 'Matthäus';
break;
case'Mat':
$c= 'Matthäus';
break;
case'Math':
$c= 'Matthäus';
break;
case'Mk':
$c= 'Markus';
break;
case'Mar':
$c= 'Markus';
break;
case'Mark':
$c= 'Markus';
break;
case'Lk':
$c= 'Lukas';
break;
case'Luk':
$c= 'Lukas';
break;
case'Joh':
$c= 'Johannes';
break;
case'Jh':
$c= 'Johannes';
break;
case'Apg':
$c= 'Apostelgeschichte';
break;
case'Röm':
$c= 'Römer';
break;
case'Rom':
$c= 'Römer';
break;
case'Kor':
$c= 'Korinther';
break;
case'Gal':
$c= 'Galater';
break;
case'Eph':
$c= 'Epheser';
break;
case'Phil':
$c= 'Philipper';
break;
case'Kol':
$c= 'Kolosser';
break;
case'Thess':
$c= 'Thessalonicher';
break;
case'Tim':
$c= 'Timotheus';
break;
case'Tit':
$c= 'Titus';
break;
case'Phlm':
$c= 'Philemon';
break;
case'Ptr':
$c= 'Petrus';
break;
case'Petr':
$c= 'Petrus';
break;
case'Hbr':
$c= 'Hebräer';
break;
case'Hebr':
$c= 'Hebräer';
break;
case'Jak':
$c= 'Jakobus';
break;
case'Jk':
$c= 'Jakobus';
break;
case'Jud':
$c= 'Judas';
break;
case'Offb':
$c= 'Offenbarung';
break;
case'Off':
$c= 'Offenbarung';
break;
}
# $a=trim($a);
if($a !=""){$a=trim($a).".";} // nach der Zahl noch der Punkt hinzufügen
if($a != ""){$a=trim($a)." ";$b="";} // nach dem Punkt ein Leerzeichen, B kann dann entfallen
if($d ==""){$d=" ";}
if($g !=""){$g=" ".$g." ";} // --> "1. Johannes 3,aus3" wird "1. Johannes 3, aus 3"
#return sprintf('<a href="http://www.bibleserver.com/go.php?lang={de}&bible={LUT84}&ref=%s" target="_blank">%s</a>', $a.$b.$c.$d.$e.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
return trim($a.$b.$c.$d.$e.$f.$g.$h);
}
$suche =preg_replace_callback("/([1-9]\s*)?()(Mo|Jos|Ri|Rut|Sam|Kön|Chr|Esr|Neh|Est|Hiob|Ps|Spr|Pred|Hld|Jes|Jer|Kla|Hes|Dan|Hos|Joel|Am|Obd|Jona|Mi|Nah|Hab|Zef|Hag|Sach|Mal|Tob|Mt|Mat|Math|Mar|Mark|Mk|Lk|Luk|Joh|Jh|Apg|Röm|Rom|Kor|Gal|Eph|Phil|Kol|Thess|Tim|Tit|Phlm|Ptr|Petr|Joh|Hbr|Hebr|Jak|Jk|Jud|Offb|Off)(\s*)".
"([0-9]{1,3})(\,\s*)?(aus\s*)?([0-9]{0,3})/", function($m) { return refill($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], $m[9]);}, $suche);
if ((
// Bücher mit mehreren Bücher 1. Johannes...
preg_match("/^([1-9])\.\s* (Makkabäer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus)\s*[0-9]{1,2}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher mit nur einem Buch Rut 3,5-7
preg_match("/^(Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Johannes|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Titus|Hebräer|Jakobus|Offenbarung)\s*[0-9]{1,3}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher ohne Kapitel
preg_match("/^(Philemon|Judas)\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
)
AND $suche != ""
){
// verschiedene Schreibweisen möglich. DB enthält die Varianten ohne "H"
$suche =str_replace ("Ruth", "Rut" , $suche);
$suche =str_replace ("Esther", "Ester" , $suche);
$suche =str_replace ("Judith", "Judit" , $suche);
$suche =str_replace ("Ezechiel", "Hesekiel" , $suche);
$suche =str_replace ("Ijob", "Hiob" , $suche);
// Preg auf vollständige Bibelbücher überprüft
$suche=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $suche);
$trenner = explode("|", $suche);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_lut_1984
WHERE anz_buch ='$anz_buch'
AND buch ='$buch'
AND kapitel ='$kapitel'
AND vers ='$vers_anf'");
$row_anz1 = $result_anz->fetch_array();
// Wenn man zB. nur Römer 11 eingibt, dann soll nicht das ganze Kapitel markiert werden
if($vers_anf ==''){
$vers_select = "N";
}else{
$vers_select = "Y";
}
if($row_anz1['Anz'] > 0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=$vers_select&stopmark=$vers_anf&wort=$suche\">";
}else{
$smarty->assign('bib_popup_nohit', "1");
}
}else{
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?action=suche2\">";
}
}
if($action == 'suche2'){
############################################################
## Wenn jemand ein Suchbegriffe eingibt,
## dann direkt zum Textwort leiten, wenns nur ein Treffer gibt,
## sonst Ergebnisliste anzeigen
############################################################
$suche = $_COOKIE["ck_suche"];
$suche = trim(strtoupper($suche));
$trenner4 = 'LIKE ';
$start4 = '%';
$ende4 = '%';
$sql1 = "SELECT count(*) as anz_treffer
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$suche = preg_replace('/\s{2,}/sm',' ',$suche,PREG_SET_ORDER); //Mehr als zwei leerzeichen entfernen
preg_match_all("/(\-{0,1}\+{0,1}\*{0,1}%{0,1}\"([^\"]+)\"\*{0,1}%{0,1}\+{0,1}\-{0,1}|\-{0,1}\+{0,1}\*{0,1}%{0,1}(\w+)\*{0,1}%{0,1}\+{0,1}\-{0,1})/u", $suche, $Worte);
if($suche != ""){
$sql .= "AND (";
for($i=0; $i < count($Worte); $i++)
{
$suche = str_replace (array("\\", "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("", "&AUML;", "&OUML;", "&UUML;", "&SZLIG;", "&AUML;", "&OUML;", "&UUML;"), $Worte[0][$i]);
$suchwort = str_replace (array("+", "-", "\"", "\\"), array("", "", "", ""), $suche);
if($i == 0){
$oper = "";
}else{
$oper = "AND";
}
if(strpos($Worte[0][$i],"+") === 0){
$sql .= "UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
} elseif(strpos($Worte[0][$i],"-") === 0){
$sql .= "$oper UPPER(inhalt) NOT $trenner4 '$start4".$suchwort."$ende4' ";
} elseif($Worte[0][$i] == ""){
NULL;
}else{
$sql .= "$oper UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
}
}
}
$sql .= ")";
$db = dbconnect();
$query1 = $sql1.$sql;
$result = $db->query($query1);
$res = $result->fetch_array()
or die ("Cannot execute query");
if($res['anz_treffer'] == '' or $res['anz_treffer'] == 0){
$smarty->assign('bib_popup_nohit', "1");
}else{
// Bei nur einem Treffer keine Liste anzeigen, sondern direkt weiteleiten
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC";
$query = $sql1.$sql.$sql2;
$result = $db->query( $query )
or die ("Cannot execute query");
while ($row = $result->fetch_array()){
if($res['anz_treffer'] == 1){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=Y&stopmark=$row[vers]&wort=$row[bibelstelle]\">";
exit;
}
}
// 1 Treffer Ende
function kurzer_text($string,$laenge){
$origin=strlen($string);
$stri_arr=explode(" ",$string);
$anzzahl=count($stri_arr);
$gekuerzt=0;
$string="";
while($gekuerzt<$anzzahl){
$string_alt=$string;
$string=$string." ".$stri_arr[$gekuerzt];
$gekuerzt++;
if(strlen($string)>$laenge){
$gekuerzt=$anzzahl;
$string=$string_alt;
}
}
if($laenge<$origin){
$string=$string."<nobr>&nbsp;<b>...</b></nobr>";
}
return $string;
}
// Datendefinition für die Clientausgabe
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;
$limit = 5; // Datensätze pro Ausgabeseite
// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = $db->query( $query1 );
$row_anz2 = $resultID->fetch_array();
$total = $row_anz2['anz_treffer'];
#$total = $db->result($query1,0);
// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start = ($_GET['start'] >= $total) ? $total - $limit : $start;
// Datenbankabfrage ausführen.
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_1984
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC
LIMIT ".$start.",".$limit;
$query = $sql1.$sql.$sql2;
$resultID = $db->query( $query );
$smarty->assign('bib_popup_hit', "1");
$smarty->assign('bib_popup_anz_treffer', "$res[anz_treffer]");
while ($row = $resultID->fetch_array()){
$preview = kurzer_text(strip_tags($row['inhalt']),100);
$row['preview'] = $preview;
$value[] = $row;
}
$smarty->assign('table_data', $value);
$show = ceil($total/$limit); //Seitenzahlen aufrunden
$last = floor($total/$limit)*$limit; //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$smarty->assign('bib_popup_currpage', "$akt");
$smarty->assign('bib_popup_pagecount', "$show");
// Zurück- und Vorblättern
if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
$smarty->assign('bib_popup_start0', "1");
$smarty->assign('bib_popup_start_newstart', "$newStart");
}else{
$smarty->assign('bib_popup_start0', "2");
}
if ($start + $limit < $total)
{
$newStart = $start + $limit;
$smarty->assign('bib_popup_end0', "1");
$smarty->assign('bib_popup_end_newstart', "$newStart");
$smarty->assign('bib_popup_end_last', "$last");
}else{
$smarty->assign('bib_popup_end0', "2");
}
}
}
$smarty->assign('action', "$action");
$smarty->display("../templates/$template/$templatename");
?>

View File

@ -0,0 +1,620 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
$wort=$_GET['wort'];
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
#$wort="1. Mose 3,5-12";
function splitword($a,$b,$c,$d,$e,$f,$g,$h){
return "$a|$b|$c|$d|$e|$f|$g|$h|";
}
// Preg auf vollständige Bibelbücher überprüft
$wort=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $wort);
$trenner = explode("|", $wort);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$vers_select=$_GET['vers_select'];
$action = $_GET['action'];
if($action == ''){
$smarty->assign('bib_popup_anz_buch', "$anz_buch");
$smarty->assign('bib_popup_buch', "$buch");
$smarty->assign('bib_popup_kapitel', "$kapitel");
$smarty->assign('bib_popup_vers_anf', "$vers_anf");
$smarty->assign('bib_popup_vers_trenner', "$vers_trenner");
$smarty->assign('bib_popup_vers_ende', "$vers_ende");
$smarty->assign('bib_popup_vers_select', "$vers_select");
$smarty->assign('bib_popup_stopmark', "$stopmark");
$buch_vollst=trim("$anz_buch $buch $kapitel");
$db = dbconnect();
$result_cur = $db->query( "SELECT bid
FROM bibel_chapter_2017
WHERE buch = '$buch_vollst'
ORDER BY bid ASC
");
$row_cur = $result_cur->fetch_array();
$next = $row_cur['bid']+1;
$prev = $row_cur['bid']-1;
$result_next = $db->query( "SELECT buch
FROM bibel_chapter_2017
WHERE bid = '$next'
ORDER BY bid ASC
");
$row_next = $result_next->fetch_array();
$result_prev = $db->query( "SELECT buch
FROM bibel_chapter_2017
WHERE bid = '$prev'
ORDER BY bid ASC
");
$row_prev = $result_prev->fetch_array();
if($row_prev['buch']!=''){
$smarty->assign('bib_popup_prev', "1");
$smarty->assign('bib_popup_prev_buch', "$row_prev[buch]");
}
if($row_next['buch']!=''){
$smarty->assign('bib_popup_next', "1");
$smarty->assign('bib_popup_next_buch', "$row_next[buch]");
}
}
if($action == 'suche'){
$suche = trim($_POST['search_bibel']);
setcookie("ck_suche",$suche);
############################################################
## Wenn jemand ein Buch auswählt: 1. Mose; Matthäus....
## dann direkt zum 1.Kapitel des Buches leiten
############################################################
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_books_2017
WHERE bezeichnung ='$suche'");
$row_anz = $result_anz->fetch_array();
if($row_anz['Anz'] == 1){
$result_wort = $db->query("SELECT bezeichnung
FROM bibel_books_2017
WHERE bezeichnung ='$suche'");
$row_wort = $result_wort->fetch_array();
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=N&wort=$row_wort[bezeichnung] 1\">";
exit;
}
############################################################
## Wenn jemand ein Textwort eingibt,
## dann direkt zum Textwort leiten
############################################################
function refill($a,$b,$c,$d,$e,$f,$g,$h,$i)
{
// Funktion die aus Textstellenkurzeichen die vollständige Textstelle erstellt
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
switch($c)
{
case'Mo':
$c= 'Mose';
break;
case'Jos':
$c= 'Josua';
break;
case'Ri':
$c= 'Richter';
break;
case'Rut':
$c= 'Rut';
break;
case'Sam':
$c= 'Samuel';
break;
case'Kön':
$c= 'Könige';
break;
case'Chr':
$c= 'Chronik';
break;
case'Esr':
$c= 'Esra';
break;
case'Neh':
$c= 'Nehemia';
break;
case'Est':
$c= 'Esther';
break;
case'Hiob':
$c= 'Hiob';
break;
case'Hi':
$c= 'Hiob';
break;
case'Ps':
$c= 'Psalm';
break;
case'Spr':
$c= 'Sprüche';
break;
case'Pred':
$c= 'Prediger';
break;
case'Hld':
$c= 'Hoheslied';
break;
case'Jes':
$c= 'Jesaja';
break;
case'Jer':
$c= 'Jeremia';
break;
case'Kla':
$c= 'Klagelieder';
break;
case'Hes':
$c= 'Hesekiel';
break;
case'Dan':
$c= 'Daniel';
break;
case'Hos':
$c= 'Hosea';
break;
case'Joel':
$c= 'Joel';
break;
case'Am':
$c= 'Amos';
break;
case'Obd':
$c= 'Obadja';
break;
case'Jona':
$c= 'Jona';
break;
case'Mi':
$c= 'Micha';
break;
case'Nah':
$c= 'Nahum';
break;
case'Hab':
$c= 'Habakuk';
break;
case'Zef':
$c= 'Zefanja';
break;
case'Hag':
$c= 'Haggai';
break;
case'Sach':
$c= 'Sacharja';
break;
case'Mal':
$c= 'Maleachi';
break;
case'Tob':
$c= 'Tobias';
break;
case'Mt':
$c= 'Matthäus';
break;
case'Mat':
$c= 'Matthäus';
break;
case'Math':
$c= 'Matthäus';
break;
case'Mk':
$c= 'Markus';
break;
case'Mar':
$c= 'Markus';
break;
case'Mark':
$c= 'Markus';
break;
case'Lk':
$c= 'Lukas';
break;
case'Luk':
$c= 'Lukas';
break;
case'Joh':
$c= 'Johannes';
break;
case'Jh':
$c= 'Johannes';
break;
case'Apg':
$c= 'Apostelgeschichte';
break;
case'Röm':
$c= 'Römer';
break;
case'Rom':
$c= 'Römer';
break;
case'Kor':
$c= 'Korinther';
break;
case'Gal':
$c= 'Galater';
break;
case'Eph':
$c= 'Epheser';
break;
case'Phil':
$c= 'Philipper';
break;
case'Kol':
$c= 'Kolosser';
break;
case'Thess':
$c= 'Thessalonicher';
break;
case'Tim':
$c= 'Timotheus';
break;
case'Tit':
$c= 'Titus';
break;
case'Phlm':
$c= 'Philemon';
break;
case'Ptr':
$c= 'Petrus';
break;
case'Petr':
$c= 'Petrus';
break;
case'Hbr':
$c= 'Hebräer';
break;
case'Hebr':
$c= 'Hebräer';
break;
case'Jak':
$c= 'Jakobus';
break;
case'Jk':
$c= 'Jakobus';
break;
case'Jud':
$c= 'Judas';
break;
case'Offb':
$c= 'Offenbarung';
break;
case'Off':
$c= 'Offenbarung';
break;
}
# $a=trim($a);
if($a !=""){$a=trim($a).".";} // nach der Zahl noch der Punkt hinzufügen
if($a != ""){$a=trim($a)." ";$b="";} // nach dem Punkt ein Leerzeichen, B kann dann entfallen
if($d ==""){$d=" ";}
if($g !=""){$g=" ".$g." ";} // --> "1. Johannes 3,aus3" wird "1. Johannes 3, aus 3"
#return sprintf('<a href="http://www.bibleserver.com/go.php?lang={de}&bible={LUT84}&ref=%s" target="_blank">%s</a>', $a.$b.$c.$d.$e.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
return trim($a.$b.$c.$d.$e.$f.$g.$h);
}
$suche =preg_replace_callback("/([1-9]\s*)?()(Mo|Jos|Ri|Rut|Sam|Kön|Chr|Esr|Neh|Est|Hiob|Ps|Spr|Pred|Hld|Jes|Jer|Kla|Hes|Dan|Hos|Joel|Am|Obd|Jona|Mi|Nah|Hab|Zef|Hag|Sach|Mal|Tob|Mt|Mat|Math|Mar|Mark|Mk|Lk|Luk|Joh|Jh|Apg|Röm|Rom|Kor|Gal|Eph|Phil|Kol|Thess|Tim|Tit|Phlm|Ptr|Petr|Joh|Hbr|Hebr|Jak|Jk|Jud|Offb|Off)(\s*)".
"([0-9]{1,3})(\,\s*)?(aus\s*)?([0-9]{0,3})/", function($m) { return refill($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], $m[9]);}, $suche);
if ((
// Bücher mit mehreren Bücher 1. Johannes...
preg_match("/^([1-9])\.\s* (Makkabäer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus)\s*[0-9]{1,2}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher mit nur einem Buch Rut 3,5-7
preg_match("/^(Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Johannes|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Titus|Hebräer|Jakobus|Offenbarung)\s*[0-9]{1,3}(\,)?\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
or
// Bücher ohne Kapitel
preg_match("/^(Philemon|Judas)\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/imu", $suche)
)
AND $suche != ""
){
// verschiedene Schreibweisen möglich. DB enthält die Varianten ohne "H"
$suche =str_replace ("Ruth", "Rut" , $suche);
$suche =str_replace ("Esther", "Ester" , $suche);
$suche =str_replace ("Judith", "Judit" , $suche);
$suche =str_replace ("Ezechiel", "Hesekiel" , $suche);
$suche =str_replace ("Ijob", "Hiob" , $suche);
// Preg auf vollständige Bibelbücher überprüft
$suche=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
"(Philemon|Judas|Johannes|Mose|Könige|Korinther|Petrus|Sirach|Josua|Richter|Rut|Ruth|Samuel|Chronik|Esra|Nehemia|Esther|Ester|Hiob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Judit|Weisheit|Baruch|Makkabäer|Stücke zu Ester|Stücke zu Daniel|Gebet Manasses|Matthäus|Markus|Lukas|Apostelgeschichte|Römer|Galater|Epheser|Philipper|Kolosser|Thessalonicher|Timotheus|Titus|Hebräer|Jakobus|Offenbarung)\s*". //2
"([0-9]{1,3})". //3 c
"(\,)?\s*". //4
"(aus)?\s*". //5
"([0-9]{0,3})". //6 d
"(\.|-)?". //7 e
"([0-9]{0,3})?". //8 f
"(\.|-)?". //9 g
"([0-9]{0,3})". //10 h
"$/", function($m) { return splitword($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[10]);}, $suche);
$trenner = explode("|", $suche);
$anz_buch = $trenner[0];
$buch = $trenner[1];
$kapitel = $trenner[2];
$vers_anf = $trenner[3];
$vers_trenner = $trenner[4];
$vers_ende = $trenner[5];
$db = dbconnect();
$result_anz = $db->query("SELECT count(*) Anz
FROM bibel_lut_2017
WHERE anz_buch ='$anz_buch'
AND buch ='$buch'
AND kapitel ='$kapitel'
AND vers ='$vers_anf'");
$row_anz1 = $result_anz->fetch_array();
// Wenn man zB. nur Römer 11 eingibt, dann soll nicht das ganze Kapitel markiert werden
if($vers_anf ==''){
$vers_select = "N";
}else{
$vers_select = "Y";
}
if($row_anz1['Anz'] > 0) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=$vers_select&stopmark=$vers_anf&wort=$suche\">";
}else{
$smarty->assign('bib_popup_nohit', "1");
}
}else{
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?action=suche2\">";
}
}
if($action == 'suche2'){
############################################################
## Wenn jemand ein Suchbegriffe eingibt,
## dann direkt zum Textwort leiten, wenns nur ein Treffer gibt,
## sonst Ergebnisliste anzeigen
############################################################
$suche = $_COOKIE["ck_suche"];
$suche = trim(strtoupper($suche));
$trenner4 = 'LIKE ';
$start4 = '%';
$ende4 = '%';
$sql1 = "SELECT count(*) as anz_treffer
FROM bibel_lut_2017
WHERE bibelstelle !='' ";
$suche = preg_replace('/\s{2,}/sm',' ',$suche,PREG_SET_ORDER); //Mehr als zwei leerzeichen entfernen
preg_match_all("/(\-{0,1}\+{0,1}\*{0,1}%{0,1}\"([^\"]+)\"\*{0,1}%{0,1}\+{0,1}\-{0,1}|\-{0,1}\+{0,1}\*{0,1}%{0,1}(\w+)\*{0,1}%{0,1}\+{0,1}\-{0,1})/u", $suche, $Worte);
if($suche != ""){
$sql .= "AND (";
for($i=0; $i < count($Worte); $i++)
{
#$suche = str_replace (array("\\", "ä", "ö", "ü", "ß", "Ä", "Ö", "Ü"), array("", "&AUML;", "&OUML;", "&UUML;", "&SZLIG;", "&AUML;", "&OUML;", "&UUML;"), $Worte[0][$i]);
#$suchwort = str_replace (array("+", "-", "\"", "\\"), array("", "", "", ""), $suche);
$suchwort = str_replace (array("+", "-", "\"", "\\"), array("", "", "", ""), $Worte[0][$i]);
if($i == 0){
$oper = "";
}else{
$oper = "AND";
}
if(strpos($Worte[0][$i],"+") === 0){
$sql .= "UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
} elseif(strpos($Worte[0][$i],"-") === 0){
$sql .= "$oper UPPER(inhalt) NOT $trenner4 '$start4".$suchwort."$ende4' ";
} elseif($Worte[0][$i] == ""){
NULL;
}else{
$sql .= "$oper UPPER(inhalt) $trenner4 '$start4".$suchwort."$ende4' ";
}
}
}
$sql .= ")";
$db = dbconnect();
$query1 = $sql1.$sql;
$result = $db->query($query1);
$res = $result->fetch_array()
or die ("Cannot execute query");
if($res['anz_treffer'] == '' or $res['anz_treffer'] == 0){
$smarty->assign('bib_popup_nohit', "1");
}else{
// Bei nur einem Treffer keine Liste anzeigen, sondern direkt weiteleiten
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_2017
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC";
$query = $sql1.$sql.$sql2;
$result = $db->query( $query )
or die ("Cannot execute query");
while ($row = $result->fetch_array()){
if($res['anz_treffer'] == 1){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$_SERVER['PHP_SELF'] ."?vers_select=Y&stopmark=$row[vers]&wort=$row[bibelstelle]\">";
exit;
}
}
// 1 Treffer Ende
function kurzer_text($string,$laenge){
$origin=strlen($string);
$stri_arr=explode(" ",$string);
$anzzahl=count($stri_arr);
$gekuerzt=0;
$string="";
while($gekuerzt<$anzzahl){
$string_alt=$string;
$string=$string." ".$stri_arr[$gekuerzt];
$gekuerzt++;
if(strlen($string)>$laenge){
$gekuerzt=$anzzahl;
$string=$string_alt;
}
}
if($laenge<$origin){
$string=$string."<nobr>&nbsp;<b>...</b></nobr>";
}
return $string;
}
// Datendefinition für die Clientausgabe
$start = (isset($_GET['start'])) ? abs((int)$_GET['start']) : 0;
$limit = 5; // Datensätze pro Ausgabeseite
// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = $db->query( $query1 );
$row_anz2 = $resultID->fetch_array();
$total = $row_anz2['anz_treffer'];
#$total = $db->result($query1,0);
// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start = ($_GET['start'] >= $total) ? $total - $limit : $start;
// Datenbankabfrage ausführen.
$db = dbconnect();
$sql1 = "SELECT bid, bibelstelle, inhalt, vers
FROM bibel_lut_2017
WHERE bibelstelle !='' ";
$sql2 = " ORDER BY bid ASC
LIMIT ".$start.",".$limit;
$query = $sql1.$sql.$sql2;
$resultID = $db->query( $query );
$smarty->assign('bib_popup_hit', "1");
$smarty->assign('bib_popup_anz_treffer', "$res[anz_treffer]");
while ($row = $resultID->fetch_array()){
$preview = kurzer_text(strip_tags($row['inhalt']),100);
$row['preview'] = $preview;
$value[] = $row;
}
$smarty->assign('table_data', $value);
$show = ceil($total/$limit); //Seitenzahlen aufrunden
$last = floor($total/$limit)*$limit; //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$smarty->assign('bib_popup_currpage', "$akt");
$smarty->assign('bib_popup_pagecount', "$show");
// Zurück- und Vorblättern
if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
$smarty->assign('bib_popup_start0', "1");
$smarty->assign('bib_popup_start_newstart', "$newStart");
}else{
$smarty->assign('bib_popup_start0', "2");
}
if ($start + $limit < $total)
{
$newStart = $start + $limit;
$smarty->assign('bib_popup_end0', "1");
$smarty->assign('bib_popup_end_newstart', "$newStart");
$smarty->assign('bib_popup_end_last', "$last");
}else{
$smarty->assign('bib_popup_end0', "2");
}
}
}
$smarty->assign('action', "$action");
$smarty->display("../templates/$template/$templatename");
?>

View File

@ -0,0 +1,204 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
require("../bibellookup.php");
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
function makeLink($a, $b, $c, $d, $e, $f, $g, $h, $lid)
{
$a=trim($a);
$b=trim($b);
$c=trim($c);
$d=trim($d);
$e=trim($e);
$f=trim($f);
$g=trim($g);
$h=trim($h);
# $d muss immer ein Komma haben, wenn danach noch was kommt
if($e != '' or $f != "" or $g != "" or $h != ""){
if($d == ''){
$d=',';
}
}
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
if($a!=''){
$a=$a." ";
}
if($c!=''){
$c=" ".$c;
}
if($e!=''){
$e=" ".$e." ";
}
// Handling, wenn bei Bibelstelle Bindestrich oder Punkt enthalten sind
if($g == '-'){
#return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
#$wort="Römer 8,31-39";
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}elseif($g == '.'){
// Wenn Punkt, dann muss unterschieden werden, ob die Textstelle forlaufend ist
$next=$f+1;
if($h==$next){
// Beispiel Matthäus 1,1.2
// aus dem Punkt wird ein Bindestrich für bibleserver
$g1='-';
#return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f$g1$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}else{
// Beispiel Matthäus 1,1.3
// Da Vers 2 nicht aufgeführt ist, darf man nicht 1-3 machen
// Parameter $g und $h (.3) wird daher nicht im Link übergeben
#return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
}
}else{
// Alles Ohne Bindestrich und Punkt, daher auch kein $g und $h
#return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f);
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}
}
$anz_buch=$_GET['anz_buch'];
$buch=$_GET['buch'];
$kapitel=$_GET['kapitel'];
$vers_anf=$_GET['vers_anf'];
$vers_trenner=$_GET['vers_trenner'];
$vers_ende=$_GET['vers_ende'];
$vers_select=$_GET['vers_select'];
$db = dbconnect();
$result_anz = $db->query( "SELECT count(*) Anz
FROM bibel_lut_1984
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
");
$row_anz = $result_anz->fetch_array();
if($row_anz[Anz] > 0){
$query = "SELECT bid, vers, inhalt
FROM bibel_lut_1984
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
";
$result = $db->query( $query )
or die ("Cannot execute query");
// Schleife über alle Kapitel der Bibel
while ($row = $result->fetch_array()){
if($stopmark == trim($row[vers]) AND $stopmark != ''){
$ret_wort .="<a name='stopmark'></a>";
}
$ret_wort .= " <span class='verse'>$row[vers]</span> $row[inhalt]";
}
if($vers_trenner ==''){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_anf+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
if($vers_trenner =='-'){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_ende+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
}else{
$ret_wort ="Die Bibelstelle wurde nicht gefunden!";
}
$stelle="$anz_buch $buch $kapitel";
$ret_wort=preg_replace_callback("/([0-9][0-9]?\.\s*)?(Makkab&auml;er|Johannes|Mose|K&ouml;nige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|St&uuml;cke zu Daniel|St&uuml;cke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Spr&uuml;che|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matth&auml;us|Markus|Lukas|Apostelgeschichte|R&ouml;mer|Galater|Epheser|Philipper|Kolosser|Titus|Hebr&auml;er|Jakobus|Offenbarung|Philemon|Judas)(\s*[0-9]{1,3})(,\s*)?(\s*aus\s*|\s*Verse\s*|\s*Vers\s*)?([0-9]{0,3})?(\s*\-\s*|\s*\.\s*)?([0-9]{0,3})?/", function($m) use (&$stelle) { return makeLink($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], "$stelle");}, $ret_wort);
// Überschriften sollen linksbündig bleiben
preg_match_all('#<h1>(.+?)</h1>#su', $ret_wort, $ueberschrift1);
for($i=0;$i<count($ueberschrift1[1]);$i++){
$wort= $ueberschrift1[1];
$ret_wort =str_replace ("<h1>".$wort[$i]."</h1>", "<div align='left'><h1>$wort[$i]</h1></div>" , $ret_wort);
}
preg_match_all('#<h2>(.+?)</h2>#su', $ret_wort, $ueberschrift2);
for($i=0;$i<count($ueberschrift2[1]);$i++){
$wort= $ueberschrift2[1];
$ret_wort =str_replace ("<h2>".$wort[$i]."</h2>", "<div align='left'><h2>$wort[$i]</h2></div>" , $ret_wort);
}
preg_match_all('#<h3>(.+?)</h3>#su', $ret_wort, $ueberschrift3);
for($i=0;$i<count($ueberschrift3[1]);$i++){
$wort= $ueberschrift3[1];
$ret_wort =str_replace ("<h3>".$wort[$i]."</h3>", "<div align='left'><h3>$wort[$i]</h3></div>" , $ret_wort);
}
preg_match_all('#<h4>(.+?)</h4>#su', $ret_wort, $ueberschrift4);
for($i=0;$i<count($ueberschrift4[1]);$i++){
$wort= $ueberschrift4[1];
$ret_wort =str_replace ("<h4>".$wort[$i]."</h4>", "<div align='left'><h4>$wort[$i]</h4></div>" , $ret_wort);
}
$smarty->assign('bib_popup_body_wort', "$ret_wort");
$smarty->display("../templates/$template/$templatename");
?>

View File

@ -0,0 +1,204 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
require("../bibellookup_1984.php");
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
function makeLink($a, $b, $c, $d, $e, $f, $g, $h, $lid)
{
$a=trim($a);
$b=trim($b);
$c=trim($c);
$d=trim($d);
$e=trim($e);
$f=trim($f);
$g=trim($g);
$h=trim($h);
# $d muss immer ein Komma haben, wenn danach noch was kommt
if($e != '' or $f != "" or $g != "" or $h != ""){
if($d == ''){
$d=',';
}
}
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
if($a!=''){
$a=$a." ";
}
if($c!=''){
$c=" ".$c;
}
if($e!=''){
$e=" ".$e." ";
}
// Handling, wenn bei Bibelstelle Bindestrich oder Punkt enthalten sind
if($g == '-'){
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
#$wort="Römer 8,31-39";
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}elseif($g == '.'){
// Wenn Punkt, dann muss unterschieden werden, ob die Textstelle forlaufend ist
$next=$f+1;
if($h==$next){
// Beispiel Matthäus 1,1.2
// aus dem Punkt wird ein Bindestrich für bibleserver
$g1='-';
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f$g1$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}else{
// Beispiel Matthäus 1,1.3
// Da Vers 2 nicht aufgeführt ist, darf man nicht 1-3 machen
// Parameter $g und $h (.3) wird daher nicht im Link übergeben
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
}
}else{
// Alles Ohne Bindestrich und Punkt, daher auch kein $g und $h
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f);
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_1984.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}
}
$anz_buch=$_GET['anz_buch'];
$buch=$_GET['buch'];
$kapitel=$_GET['kapitel'];
$vers_anf=intval($_GET['vers_anf']);
$vers_trenner=$_GET['vers_trenner'];
$vers_ende=intval($_GET['vers_ende']);
$vers_select=$_GET['vers_select'];
$db = dbconnect();
$result_anz = $db->query( "SELECT count(*) Anz
FROM bibel_lut_1984
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
");
$row_anz = $result_anz->fetch_array();
if($row_anz['Anz'] > 0){
$query = "SELECT bid, vers, inhalt
FROM bibel_lut_1984
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
";
$result = $db->query( $query )
or die ("Cannot execute query");
// Schleife über alle Kapitel der Bibel
while ($row = $result->fetch_array()){
if($stopmark == trim($row['vers']) AND $stopmark != ''){
$ret_wort .="<a name='stopmark'></a>";
}
$ret_wort .= " <span class='verse'>$row[vers]</span> $row[inhalt]";
}
if($vers_trenner ==''){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_anf+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
if($vers_trenner =='-'){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_ende+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
}else{
$ret_wort ="Die Bibelstelle wurde nicht gefunden!";
}
$stelle="$anz_buch $buch $kapitel";
$ret_wort=preg_replace_callback("/([0-9][0-9]?\.\s*)?(Makkab&auml;er|Johannes|Mose|K&ouml;nige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|St&uuml;cke zu Daniel|St&uuml;cke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Spr&uuml;che|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matth&auml;us|Markus|Lukas|Apostelgeschichte|R&ouml;mer|Galater|Epheser|Philipper|Kolosser|Titus|Hebr&auml;er|Jakobus|Offenbarung|Philemon|Judas)(\s*[0-9]{1,3})(,\s*)?(\s*aus\s*|\s*Verse\s*|\s*Vers\s*)?([0-9]{0,3})?(\s*\-\s*|\s*\.\s*)?([0-9]{0,3})?/", function($m) use (&$stelle) { return makeLink($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], "$stelle");}, $ret_wort);
// Überschriften sollen linksbündig bleiben
preg_match_all('#<h1>(.+?)</h1>#su', $ret_wort, $ueberschrift1);
for($i=0;$i<count($ueberschrift1[1]);$i++){
$wort= $ueberschrift1[1];
$ret_wort =str_replace ("<h1>".$wort[$i]."</h1>", "<div align='left'><h1>$wort[$i]</h1></div>" , $ret_wort);
}
preg_match_all('#<h2>(.+?)</h2>#su', $ret_wort, $ueberschrift2);
for($i=0;$i<count($ueberschrift2[1]);$i++){
$wort= $ueberschrift2[1];
$ret_wort =str_replace ("<h2>".$wort[$i]."</h2>", "<div align='left'><h2>$wort[$i]</h2></div>" , $ret_wort);
}
preg_match_all('#<h3>(.+?)</h3>#su', $ret_wort, $ueberschrift3);
for($i=0;$i<count($ueberschrift3[1]);$i++){
$wort= $ueberschrift3[1];
$ret_wort =str_replace ("<h3>".$wort[$i]."</h3>", "<div align='left'><h3>$wort[$i]</h3></div>" , $ret_wort);
}
preg_match_all('#<h4>(.+?)</h4>#su', $ret_wort, $ueberschrift4);
for($i=0;$i<count($ueberschrift4[1]);$i++){
$wort= $ueberschrift4[1];
$ret_wort =str_replace ("<h4>".$wort[$i]."</h4>", "<div align='left'><h4>$wort[$i]</h4></div>" , $ret_wort);
}
$smarty->assign('bib_popup_body_wort', "$ret_wort");
$smarty->display("../templates/$template/$templatename");
?>

View File

@ -0,0 +1,204 @@
<?php
include_once '../classes/lg-on_Smarty.class_subdir.php';
$smarty = new lgon_Smarty();
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
require("../bibellookup_2017.php");
if(isset($_GET['stopmark'])){
$stopmark = $_GET['stopmark'];
}
function makeLink($a, $b, $c, $d, $e, $f, $g, $h, $lid)
{
$a=trim($a);
$b=trim($b);
$c=trim($c);
$d=trim($d);
$e=trim($e);
$f=trim($f);
$g=trim($g);
$h=trim($h);
# $d muss immer ein Komma haben, wenn danach noch was kommt
if($e != '' or $f != "" or $g != "" or $h != ""){
if($d == ''){
$d=',';
}
}
/*
echo "a: '$a'<br>
b: '$b'<br>
c: '$c'<br>
d: '$d'<br>
e: '$e'<br>
f: '$f'<br>
g: '$g'<br>
h: '$h'<br>
i: '$i'<br>
";
*/
if($a!=''){
$a=$a." ";
}
if($c!=''){
$c=" ".$c;
}
if($e!=''){
$e=" ".$e." ";
}
// Handling, wenn bei Bibelstelle Bindestrich oder Punkt enthalten sind
if($g == '-'){
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
#$wort="Römer 8,31-39";
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}elseif($g == '.'){
// Wenn Punkt, dann muss unterschieden werden, ob die Textstelle forlaufend ist
$next=$f+1;
if($h==$next){
// Beispiel Matthäus 1,1.2
// aus dem Punkt wird ein Bindestrich für bibleserver
$g1='-';
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f$g1$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$f.$g1.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}else{
// Beispiel Matthäus 1,1.3
// Da Vers 2 nicht aufgeführt ist, darf man nicht 1-3 machen
// Parameter $g und $h (.3) wird daher nicht im Link übergeben
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
$wort="$a$b$c$d$f";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f.$g.$h);
}
}else{
// Alles Ohne Bindestrich und Punkt, daher auch kein $g und $h
#return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s\" target=\"_parent\" onmousemove=\"ttBibleShowN('%s');\" onmouseout=\"ttBibleHide();\">%s</a>", $a.$b.$c.$d.$f, $a.$b.$c.$d.$f, $a.$b.$c.$d.$e.$f);
$wort="$a$b$c$d$f$g$h";
$wort=trim($wort);
$wort="$wort|B|$lid";
return sprintf("<a class=\"biblelink\" href=\"bib_popup_2017.php?wort=%s&stopmark=$f\" target=\"_parent\" onmouseover=\"return overlib('".getword("$wort")."', ABOVE, CAPTION,'%s', STATUS,'', TEXTSIZE, '10px', CAPTIONSIZE, '10px', CAPTIONFONT, 'Arial', WIDTH, 450);\" onmouseout=\"nd();\">%s</a>", $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$f.$g.$h, $a.$b.$c.$d.$e.$f.$g.$h);
}
}
$anz_buch=$_GET['anz_buch'];
$buch=$_GET['buch'];
$kapitel=$_GET['kapitel'];
$vers_anf=intval($_GET['vers_anf']);
$vers_trenner=$_GET['vers_trenner'];
$vers_ende=intval($_GET['vers_ende']);
$vers_select=$_GET['vers_select'];
$db = dbconnect();
$result_anz = $db->query( "SELECT count(*) Anz
FROM bibel_lut_2017
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
");
$row_anz = $result_anz->fetch_array();
if($row_anz['Anz'] > 0){
$query = "SELECT bid, vers, inhalt
FROM bibel_lut_2017
WHERE anz_buch = '$anz_buch'
AND buch = '$buch'
AND kapitel ='$kapitel'
ORDER BY bid ASC
";
$result = $db->query( $query )
or die ("Cannot execute query");
// Schleife über alle Kapitel der Bibel
while ($row = $result->fetch_array()){
if($stopmark == trim($row['vers']) AND $stopmark != ''){
$ret_wort .="<a name='stopmark'></a>";
}
$ret_wort .= " <span class='verse'>$row[vers]</span> $row[inhalt]";
}
if($vers_trenner ==''){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_anf+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
if($vers_trenner =='-'){
if($vers_select!='N' AND $vers_anf != ''){
$ret_wort =str_replace ("<span class='verse'>$vers_anf</span>", "<span style='background-color:#D6DFF7'><span class='verse'>$vers_anf</span>" , $ret_wort);
}
$ende=$vers_ende+1;
$ret_wort =str_replace (" <span class='verse'>$ende", "</span> <span class='verse'>$ende" , $ret_wort);
}
}else{
$ret_wort ="Die Bibelstelle wurde nicht gefunden!";
}
$stelle="$anz_buch $buch $kapitel";
$ret_wort=preg_replace_callback("/([0-9][0-9]?\.\s*)?(Makkab&auml;er|Johannes|Mose|K&ouml;nige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|St&uuml;cke zu Daniel|St&uuml;cke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Spr&uuml;che|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|Daniel|Hosea|Joel|Amos|Tobias|Obadja|Jona|Micha|Nahum|Habakuk|Zefanja|Haggai|Sacharja|Maleachi|Matth&auml;us|Markus|Lukas|Apostelgeschichte|R&ouml;mer|Galater|Epheser|Philipper|Kolosser|Titus|Hebr&auml;er|Jakobus|Offenbarung|Philemon|Judas)(\s*[0-9]{1,3})(,\s*)?(\s*aus\s*|\s*Verse\s*|\s*Vers\s*)?([0-9]{0,3})?(\s*\-\s*|\s*\.\s*)?([0-9]{0,3})?/", function($m) use (&$stelle) { return makeLink($m[1], $m[2], $m[3], $m[4], $m[5], $m[6], $m[7], $m[8], "$stelle");}, $ret_wort);
// Überschriften sollen linksbündig bleiben
preg_match_all('#<h1>(.+?)</h1>#su', $ret_wort, $ueberschrift1);
for($i=0;$i<count($ueberschrift1[1]);$i++){
$wort= $ueberschrift1[1];
$ret_wort =str_replace ("<h1>".$wort[$i]."</h1>", "<div align='left'><h1>$wort[$i]</h1></div>" , $ret_wort);
}
preg_match_all('#<h2>(.+?)</h2>#su', $ret_wort, $ueberschrift2);
for($i=0;$i<count($ueberschrift2[1]);$i++){
$wort= $ueberschrift2[1];
$ret_wort =str_replace ("<h2>".$wort[$i]."</h2>", "<div align='left'><h2>$wort[$i]</h2></div>" , $ret_wort);
}
preg_match_all('#<h3>(.+?)</h3>#su', $ret_wort, $ueberschrift3);
for($i=0;$i<count($ueberschrift3[1]);$i++){
$wort= $ueberschrift3[1];
$ret_wort =str_replace ("<h3>".$wort[$i]."</h3>", "<div align='left'><h3>$wort[$i]</h3></div>" , $ret_wort);
}
preg_match_all('#<h4>(.+?)</h4>#su', $ret_wort, $ueberschrift4);
for($i=0;$i<count($ueberschrift4[1]);$i++){
$wort= $ueberschrift4[1];
$ret_wort =str_replace ("<h4>".$wort[$i]."</h4>", "<div align='left'><h4>$wort[$i]</h4></div>" , $ret_wort);
}
$smarty->assign('bib_popup_body_wort', "$ret_wort");
$smarty->display("../templates/$template/$templatename");
?>

72
bibelpopup/biblepopup.css Normal file
View File

@ -0,0 +1,72 @@
body{
font-family: Verdana, Arial;
font-size: 10pt;
font-weight: normal;
scrollbar-base-color:#6487DC;
scrollbar-3dlight-color:#000000;
scrollbar-arrow-color:#D6DFF7;
scrollbar-darkshadow-color:#000000;
scrollbar-face-color:#6487DC;
scrollbar-highlight-color:#6487DC;
scrollbar-shadow-color:#6487DC;
scrollbar-track-color:#D6DFF7;
}
.close:link, .close:visited {
color: #4E689C;
text-decoration: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 8pt;
}
.close:hover, .close:active {
text-decoration: underline;
}
.headline {
font-size: 12pt;
font-weight: bold;
color: #666666;
text-align: center;
}
.bibletext {
text-align: justify;
text-indent: 20px;
}
.verse_number {
font-size: 8pt;
font-weight: bold;
color: #444444;
}
.verse_number_highlight {
font-size: 8pt;
font-weight: bold;
color: #444444;
background-color: #dddddd;
padding-top: 2px;
padding-bottom: 1px;
}
.verse {
}
.verse_highlight {
background-color: #dddddd;
}
.nextprev:link, .nextprev:visited {
background-color: #D6DFF7;
color: black;
font-weight:bold;
text-decoration: none;
width: 99%;
display: block;
font-size: 8pt;
text-align: center;
padding: 1px;
}
.nextprev:active, .nextprev:hover {
background-color: #6487DC;
color: #FFFFFF;
font-weight:bold;
text-decoration: none;
width: 99%;
display: block;
font-size: 8pt;
text-align: center;
padding: 1px;
}

15
bibelpopup/livesearch.php Normal file
View File

@ -0,0 +1,15 @@
<?php
require("../config/datenbankanbindung.php"); // f&uuml;gt die Datenbankanbindung ein: Sys:\php\includes\kurs\datenbankanbindung.php
$db = dbconnect();
if(isset($_GET['getWord']) && isset($_GET['letters'])){
$letters = $_GET['letters'];
#$letters = preg_replace("/[^a-z0-9 ]/si","",$letters);
$query1 = "SELECT distinct bezeichnung FROM bibel_books_2017 WHERE bezeichnung LIKE '%".$letters."%' ORDER BY id";
$res = $db->query( $query1);
#echo "1###select ID,textstelle Name from ajax_countries where textstelleName like '".$letters."%'|";
while ($inf = $res->fetch_array()){
echo $inf["bezeichnung"]."|";
}
}
?>

View File

@ -0,0 +1,280 @@
/************************************************************************************************************
(C) www.dhtmlgoodies.com, April 2006
This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.
Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.
Thank you!
www.dhtmlgoodies.com
Alf Magne Kalleland
************************************************************************************************************/
var ajaxBox_offsetX = 0;
var ajaxBox_offsetY = 0;
var ajax_list_externalFile = 'livesearch.php'; // Path to external file
var minimumLettersBeforeLookup = 1; // Number of letters entered before a lookup is performed.
var ajax_list_objects = new Array();
var ajax_list_cachedLists = new Array();
var ajax_list_activeInput = false;
var ajax_list_activeItem;
var ajax_list_optionDivFirstItem = false;
var ajax_list_currentLetters = new Array();
var ajax_optionDiv = false;
var ajax_optionDiv_iframe = false;
var ajax_list_MSIE = false;
if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)ajax_list_MSIE=true;
var currentListIndex = 0;
function ajax_getTopPos(inputObj)
{
var returnValue = inputObj.offsetTop;
while((inputObj = inputObj.offsetParent) != null){
returnValue += inputObj.offsetTop;
}
return returnValue;
}
function ajax_list_cancelEvent()
{
return false;
}
function ajax_getLeftPos(inputObj)
{
var returnValue = inputObj.offsetLeft;
while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
return returnValue;
}
function ajax_option_setValue(e,inputObj)
{
if(!inputObj)inputObj=this;
var tmpValue = inputObj.innerHTML;
if(ajax_list_MSIE)tmpValue = inputObj.innerText;else tmpValue = inputObj.textContent;
if(!tmpValue)tmpValue = inputObj.innerHTML;
ajax_list_activeInput.value = tmpValue;
if(document.getElementById(ajax_list_activeInput.name + '_hidden'))document.getElementById(ajax_list_activeInput.name + '_hidden').value = inputObj.id;
ajax_options_hide();
}
function ajax_options_hide()
{
if(ajax_optionDiv)ajax_optionDiv.style.display='none';
if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='none';
}
function ajax_options_rollOverActiveItem(item,fromKeyBoard)
{
if(ajax_list_activeItem)ajax_list_activeItem.className='optionDiv';
item.className='optionDivSelected';
ajax_list_activeItem = item;
if(fromKeyBoard){
if(ajax_list_activeItem.offsetTop>ajax_optionDiv.offsetHeight){
ajax_optionDiv.scrollTop = ajax_list_activeItem.offsetTop - ajax_optionDiv.offsetHeight + ajax_list_activeItem.offsetHeight + 2 ;
}
if(ajax_list_activeItem.offsetTop<ajax_optionDiv.scrollTop)
{
ajax_optionDiv.scrollTop = 0;
}
}
}
function ajax_option_list_buildList(letters,paramToExternalFile)
{
ajax_optionDiv.innerHTML = '';
ajax_list_activeItem = false;
if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length<=1){
ajax_options_hide();
return;
}
ajax_list_optionDivFirstItem = false;
var optionsAdded = false;
for(var no=0;no<ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length;no++){
if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].length==0)continue;
optionsAdded = true;
var div = document.createElement('DIV');
var items = ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()][no].split(/###/gi);
if(ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()].length==1 && ajax_list_activeInput.value == items[0]){
ajax_options_hide();
return;
}
div.innerHTML = items[items.length-1];
div.id = items[0];
div.className='optionDiv';
div.onmouseover = function(){ ajax_options_rollOverActiveItem(this,false) }
div.onclick = ajax_option_setValue;
if(!ajax_list_optionDivFirstItem)ajax_list_optionDivFirstItem = div;
ajax_optionDiv.appendChild(div);
}
if(optionsAdded){
ajax_optionDiv.style.display='block';
if(ajax_optionDiv_iframe)ajax_optionDiv_iframe.style.display='';
ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true);
}
}
function ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,whichIndex)
{
if(whichIndex!=currentListIndex)return;
var letters = inputObj.value;
var content = ajax_list_objects[ajaxIndex].response;
var elements = content.split('|');
ajax_list_cachedLists[paramToExternalFile][letters.toLowerCase()] = elements;
ajax_option_list_buildList(letters,paramToExternalFile);
}
function ajax_option_resize(inputObj)
{
ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';
ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';
if(ajax_optionDiv_iframe){
ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;
ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;
}
}
function ajax_showOptions(inputObj,paramToExternalFile,e)
{
if(e.keyCode==13 || e.keyCode==9)return;
if(ajax_list_currentLetters[inputObj.name]==inputObj.value)return;
if(!ajax_list_cachedLists[paramToExternalFile])ajax_list_cachedLists[paramToExternalFile] = new Array();
ajax_list_currentLetters[inputObj.name] = inputObj.value;
if(!ajax_optionDiv){
ajax_optionDiv = document.createElement('DIV');
ajax_optionDiv.id = 'ajax_listOfOptions';
document.body.appendChild(ajax_optionDiv);
if(ajax_list_MSIE){
ajax_optionDiv_iframe = document.createElement('IFRAME');
ajax_optionDiv_iframe.border='0';
ajax_optionDiv_iframe.style.width = ajax_optionDiv.clientWidth + 'px';
ajax_optionDiv_iframe.style.height = ajax_optionDiv.clientHeight + 'px';
ajax_optionDiv_iframe.id = 'ajax_listOfOptions_iframe';
document.body.appendChild(ajax_optionDiv_iframe);
}
var allInputs = document.getElementsByTagName('INPUT');
for(var no=0;no<allInputs.length;no++){
if(!allInputs[no].onkeyup)allInputs[no].onfocus = ajax_options_hide;
}
var allSelects = document.getElementsByTagName('SELECT');
for(var no=0;no<allSelects.length;no++){
allSelects[no].onfocus = ajax_options_hide;
}
var oldonkeydown=document.body.onkeydown;
if(typeof oldonkeydown!='function'){
document.body.onkeydown=ajax_option_keyNavigation;
}else{
document.body.onkeydown=function(){
oldonkeydown();
ajax_option_keyNavigation() ;}
}
var oldonresize=document.body.onresize;
if(typeof oldonresize!='function'){
document.body.onresize=function() {ajax_option_resize(inputObj); };
}else{
document.body.onresize=function(){oldonresize();
ajax_option_resize(inputObj) ;}
}
}
if(inputObj.value.length<minimumLettersBeforeLookup){
ajax_options_hide();
return;
}
ajax_optionDiv.style.top = (ajax_getTopPos(inputObj) + inputObj.offsetHeight + ajaxBox_offsetY) + 'px';
ajax_optionDiv.style.left = (ajax_getLeftPos(inputObj) + ajaxBox_offsetX) + 'px';
if(ajax_optionDiv_iframe){
ajax_optionDiv_iframe.style.left = ajax_optionDiv.style.left;
ajax_optionDiv_iframe.style.top = ajax_optionDiv.style.top;
}
ajax_list_activeInput = inputObj;
ajax_optionDiv.onselectstart = ajax_list_cancelEvent;
currentListIndex++;
if(ajax_list_cachedLists[paramToExternalFile][inputObj.value.toLowerCase()]){
ajax_option_list_buildList(inputObj.value,paramToExternalFile,currentListIndex);
}else{
var tmpIndex=currentListIndex/1;
ajax_optionDiv.innerHTML = '';
var ajaxIndex = ajax_list_objects.length;
ajax_list_objects[ajaxIndex] = new sack();
var url = ajax_list_externalFile + '?' + paramToExternalFile + '=1&letters=' + inputObj.value.replace(" ","+");
ajax_list_objects[ajaxIndex].requestFile = url; // Specifying which file to get
ajax_list_objects[ajaxIndex].onCompletion = function(){ ajax_option_list_showContent(ajaxIndex,inputObj,paramToExternalFile,tmpIndex); }; // Specify function that will be executed after file has been found
ajax_list_objects[ajaxIndex].runAJAX(); // Execute AJAX function
}
}
function ajax_option_keyNavigation(e)
{
if(document.all)e = event;
if(!ajax_optionDiv)return;
if(ajax_optionDiv.style.display=='none')return;
if(e.keyCode==38){ // Up arrow
if(!ajax_list_activeItem)return;
if(ajax_list_activeItem && !ajax_list_activeItem.previousSibling)return;
ajax_options_rollOverActiveItem(ajax_list_activeItem.previousSibling,true);
}
if(e.keyCode==40){ // Down arrow
if(!ajax_list_activeItem){
ajax_options_rollOverActiveItem(ajax_list_optionDivFirstItem,true);
}else{
if(!ajax_list_activeItem.nextSibling)return;
ajax_options_rollOverActiveItem(ajax_list_activeItem.nextSibling,true);
}
}
if(e.keyCode==13 || e.keyCode==9){ // Enter key or tab key
if(ajax_list_activeItem && ajax_list_activeItem.className=='optionDivSelected')ajax_option_setValue(false,ajax_list_activeItem);
if(e.keyCode==13)return false; else return true;
}
if(e.keyCode==27){ // Escape key
ajax_options_hide();
}
}
document.documentElement.onclick = autoHideList;
function autoHideList(e)
{
if(document.all)e = event;
if (e.target) source = e.target;
else if (e.srcElement) source = e.srcElement;
if (source.nodeType == 3) // defeat Safari bug
source = source.parentNode;
if(source.tagName.toLowerCase()!='input' && source.tagName.toLowerCase()!='textarea')ajax_options_hide();
}

View File

@ -0,0 +1,193 @@
/* Simple AJAX Code-Kit (SACK) v1.6.1 */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence,
see documentation or authors website for more details */
function sack(file) {
this.xmlhttp = null;
this.resetData = function() {
this.method = "POST";
this.queryStringSeparator = "?";
this.argumentSeparator = "&";
this.URLString = "";
this.encodeURIString = true;
this.execute = false;
this.element = null;
this.elementObj = null;
this.requestFile = file;
this.vars = new Object();
this.responseStatus = new Array(2);
};
this.resetFunctions = function() {
this.onLoading = function() { };
this.onLoaded = function() { };
this.onInteractive = function() { };
this.onCompletion = function() { };
this.onError = function() { };
this.onFail = function() { };
};
this.reset = function() {
this.resetFunctions();
this.resetData();
};
this.createAJAX = function() {
try {
this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e1) {
try {
this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
this.xmlhttp = null;
}
}
if (! this.xmlhttp) {
if (typeof XMLHttpRequest != "undefined") {
this.xmlhttp = new XMLHttpRequest();
} else {
this.failed = true;
}
}
};
this.setVar = function(name, value){
this.vars[name] = Array(value, false);
};
this.encVar = function(name, value, returnvars) {
if (true == returnvars) {
return Array(encodeURIComponent(name), encodeURIComponent(value));
} else {
this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
}
}
this.processURLString = function(string, encode) {
encoded = encodeURIComponent(this.argumentSeparator);
regexp = new RegExp(this.argumentSeparator + "|" + encoded);
varArray = string.split(regexp);
for (i = 0; i < varArray.length; i++){
urlVars = varArray[i].split("=");
if (true == encode){
this.encVar(urlVars[0], urlVars[1]);
} else {
this.setVar(urlVars[0], urlVars[1]);
}
}
}
this.createURLString = function(urlstring) {
if (this.encodeURIString && this.URLString.length) {
this.processURLString(this.URLString, true);
}
if (urlstring) {
if (this.URLString.length) {
this.URLString += this.argumentSeparator + urlstring;
} else {
this.URLString = urlstring;
}
}
// prevents caching of URLString
this.setVar("rndval", new Date().getTime());
urlstringtemp = new Array();
for (key in this.vars) {
if (false == this.vars[key][1] && true == this.encodeURIString) {
encoded = this.encVar(key, this.vars[key][0], true);
delete this.vars[key];
this.vars[encoded[0]] = Array(encoded[1], true);
key = encoded[0];
}
urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
}
if (urlstring){
this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
} else {
this.URLString += urlstringtemp.join(this.argumentSeparator);
}
}
this.runResponse = function() {
eval(this.response);
}
this.runAJAX = function(urlstring) {
if (this.failed) {
this.onFail();
} else {
this.createURLString(urlstring);
if (this.element) {
this.elementObj = document.getElementById(this.element);
}
if (this.xmlhttp) {
var self = this;
if (this.method == "GET") {
totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
this.xmlhttp.open(this.method, totalurlstring, true);
} else {
this.xmlhttp.open(this.method, this.requestFile, true);
try {
this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
} catch (e) { }
}
this.xmlhttp.onreadystatechange = function() {
switch (self.xmlhttp.readyState) {
case 1:
self.onLoading();
break;
case 2:
self.onLoaded();
break;
case 3:
self.onInteractive();
break;
case 4:
self.response = self.xmlhttp.responseText;
self.responseXML = self.xmlhttp.responseXML;
self.responseStatus[0] = self.xmlhttp.status;
self.responseStatus[1] = self.xmlhttp.statusText;
if (self.execute) {
self.runResponse();
}
if (self.elementObj) {
elemNodeName = self.elementObj.nodeName;
elemNodeName.toLowerCase();
if (elemNodeName == "input"
|| elemNodeName == "select"
|| elemNodeName == "option"
|| elemNodeName == "textarea") {
self.elementObj.value = self.response;
} else {
self.elementObj.innerHTML = self.response;
}
}
if (self.responseStatus[0] == "200") {
self.onCompletion();
} else {
self.onError();
}
self.URLString = "";
break;
}
};
this.xmlhttp.send(this.URLString);
}
}
};
this.reset();
this.createAJAX();
}