Initial commit
This commit is contained in:
619
bibelpopup/bib_popup.php_lut84_20180219
Normal file
619
bibelpopup/bib_popup.php_lut84_20180219
Normal 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> <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");
|
||||
?>
|
619
bibelpopup/bib_popup_1984.php
Normal file
619
bibelpopup/bib_popup_1984.php
Normal 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> <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");
|
||||
?>
|
620
bibelpopup/bib_popup_2017.php
Normal file
620
bibelpopup/bib_popup_2017.php
Normal 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> <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");
|
||||
?>
|
204
bibelpopup/bib_popup_body.php_lut84_20180219
Normal file
204
bibelpopup/bib_popup_body.php_lut84_20180219
Normal 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äer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|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|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");
|
||||
?>
|
204
bibelpopup/bib_popup_body_1984.php
Normal file
204
bibelpopup/bib_popup_body_1984.php
Normal 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äer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|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|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");
|
||||
?>
|
204
bibelpopup/bib_popup_body_2017.php
Normal file
204
bibelpopup/bib_popup_body_2017.php
Normal 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äer|Johannes|Mose|Könige|Chronik|Korinther|Samuel|Thessalonicher|Timotheus|Petrus|Gebet Manasses|Stücke zu Daniel|Stücke zu Ester|Baruch|Weisheit|Judit|Judith|Sirach|Josua|Richter|Rut|Ruth|Esra|Nehemia|Esther|Ester|Hiob|Ijob|Psalm|Sprüche|Prediger|Hoheslied|Jesaja|Jeremia|Klagelieder|Hesekiel|Ezechiel|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|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
72
bibelpopup/biblepopup.css
Normal 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
15
bibelpopup/livesearch.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
require("../config/datenbankanbindung.php"); // fü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"]."|";
|
||||
}
|
||||
}
|
||||
?>
|
280
bibelpopup/livesearch/ajax-dynamic-list.js
Normal file
280
bibelpopup/livesearch/ajax-dynamic-list.js
Normal 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();
|
||||
|
||||
}
|
193
bibelpopup/livesearch/ajax.js
Normal file
193
bibelpopup/livesearch/ajax.js
Normal 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();
|
||||
}
|
Reference in New Issue
Block a user