Initial commit
This commit is contained in:
321
wort_erfassen.php_20170928
Normal file
321
wort_erfassen.php_20170928
Normal file
@ -0,0 +1,321 @@
|
||||
<?php
|
||||
/*
|
||||
# Fuer debugging
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
#echo __LINE__."<br>";
|
||||
*/
|
||||
include_once 'classes/lg-on_Smarty.class.php';
|
||||
$smarty = new lgon_Smarty();
|
||||
require_once("config.inc.php");
|
||||
require_once("func_rollenrechte.php");
|
||||
require_once("func_htmlclean.php");
|
||||
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
|
||||
require_once "language/german.inc.php";
|
||||
|
||||
|
||||
// Rechteüberprüfung
|
||||
if ($user_admin == ""){ require("index.php"); exit;} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
|
||||
if(!rore($user_admin,'a_worterf','RE')){require("lib/rechte.php");exit;}
|
||||
// Rechteüberprüfung ende
|
||||
|
||||
|
||||
if(isset($_GET['action'])){
|
||||
$action = $_GET['action'];
|
||||
}else{
|
||||
$action = '';
|
||||
}
|
||||
|
||||
if($action == ''){
|
||||
|
||||
dbconnect();
|
||||
$query = "SELECT bezeichnung FROM thema GROUP BY bezeichnung ORDER BY tid DESC";
|
||||
$result = $db->query( $query)
|
||||
or die ("Cannot execute query");
|
||||
|
||||
while ($row = $result->fetch_array()){
|
||||
$value[] = $row;
|
||||
}
|
||||
$smarty->assign('table_data', $value);
|
||||
|
||||
|
||||
$db = dbconnect();
|
||||
$query = "SELECT kid, bezeichnung FROM kategorie ORDER BY bezeichnung ASC";
|
||||
$result = $db->query( $query)
|
||||
or die ("Cannot execute query");
|
||||
|
||||
while ($row = $result->fetch_array()){
|
||||
$value1[] = $row;
|
||||
}
|
||||
$smarty->assign('table_data1', $value1);
|
||||
}
|
||||
|
||||
# Beim Erfassen wird unterschieden ob eine Textstelle angegeben wurde oder nicht
|
||||
# Wird eine angegeben, dann wird geprüft, ob sie den Vorgaben entspricht und dann den insert durchgeführt
|
||||
# Wird eine keine Textstelle angegeben dann wird der insert ohne Überprüfung der Textstelle durchgeführt
|
||||
|
||||
if($action == 'erfassen1'){
|
||||
$db = dbconnect();
|
||||
$datum = "$_POST[beg_jahr]-$_POST[beg_mon]-$_POST[beg_tag]";
|
||||
$vorwort = htmlclean($_POST['vorwort'], $db);
|
||||
$wort = htmlclean($_POST['wort'], $db);
|
||||
$botschaft = htmlclean($_POST['botschaft'], $db);
|
||||
$inhalt = htmlclean($_POST['inhalt'], $db);
|
||||
$zusammenfassung = htmlclean($_POST['zusammenfassung'], $db);
|
||||
$kontext = htmlclean($_POST['kontext'], $db);
|
||||
$textstelle = $_POST['textstelle'];
|
||||
|
||||
if($_POST['dhtmlgoodies_city'] == NULL){
|
||||
$ukid = 'NULL';
|
||||
}else{
|
||||
$ukid = $_POST['dhtmlgoodies_city'];
|
||||
setcookie("ck_ukid",$ukid);
|
||||
}
|
||||
|
||||
if (@checkdate($_POST[beg_mon], $_POST[beg_tag], $_POST[beg_jahr]) == 0) { // checkdate liefert 0 & 1 zurück: 0 wenn Datum falsch, 1 wenn Datum richtig
|
||||
$smarty->assign('wort_erfassen_checkdate_err', "1");
|
||||
$fehler = TRUE;
|
||||
}
|
||||
elseif ((
|
||||
// Pregs auf vollständige Bibelbücher überprüft
|
||||
// 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})?$/im", $textstelle)
|
||||
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})?$/im", $textstelle)
|
||||
or
|
||||
// Bücher ohne Kapitel
|
||||
preg_match("/^(Philemon|Judas)\s*(aus)?\s*[0-9]{1,3}(\.|-)?([0-9]{1,3})?(\.)?([0-9]{1,3})?$/im", $textstelle)
|
||||
)
|
||||
AND $textstelle != ""
|
||||
)
|
||||
{
|
||||
|
||||
function refill($start, $ende)
|
||||
{
|
||||
|
||||
for($i=$start; $i<$ende; $i++){
|
||||
$j.="|$i";
|
||||
|
||||
}
|
||||
$j.="|".$i."|";
|
||||
return $j;
|
||||
|
||||
}
|
||||
|
||||
function refillpunkt($zahl1, $zahl2, $zahl3)
|
||||
{
|
||||
|
||||
$j="|$zahl1|$zahl2|";
|
||||
|
||||
if($zahl3 != ''){
|
||||
$j.="$zahl3|";
|
||||
}
|
||||
return $j;
|
||||
|
||||
}
|
||||
|
||||
function makeLink($a, $b, $c, $d, $e, $f,$g,$h, $lid)
|
||||
{
|
||||
settype($f, "integer");
|
||||
if($e=='-'){
|
||||
|
||||
$d=refill($d,$f);
|
||||
$e="";
|
||||
$f="";
|
||||
}elseif($e=='.'){
|
||||
$d=refillpunkt($d,$f,$h);
|
||||
$e="";
|
||||
$f="";
|
||||
$g="";
|
||||
$h="";
|
||||
}else{
|
||||
$d="|$d|";
|
||||
}
|
||||
|
||||
|
||||
$db = dbconnect();
|
||||
$sql = $db->query("UPDATE quelle
|
||||
SET txt_anz_buch=trim('$a')
|
||||
, txt_buch=trim('$b')
|
||||
, txt_kapitel=trim('$c')
|
||||
, txt_vers =trim('$d')
|
||||
WHERE lid='$lid'");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Wenn Wörter dem richtigen Aufbau entsprechen, dann weiter
|
||||
|
||||
if(isset($_POST['stapgd'])){
|
||||
if($_POST['stapgd'] == 'Y'){
|
||||
$stapgd = 'Y';
|
||||
}else{
|
||||
$stapgd = 'N';
|
||||
}
|
||||
}else{
|
||||
$stapgd = 'N';
|
||||
}
|
||||
|
||||
|
||||
## Prüfen, ob es das Thema schon gibt
|
||||
$result = $db->query("SELECT tid FROM thema WHERE bezeichnung = '$_POST[thema]'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
## wenn nicht, dann eintragen
|
||||
if($row['tid'] == ''){
|
||||
$sql1 = $db->query("INSERT INTO thema ( bezeichnung) VALUES ('$_POST[thema]') ");
|
||||
}
|
||||
|
||||
## ThemaID (tid) abfragen
|
||||
$result = $db->query("SELECT tid FROM thema WHERE bezeichnung = '$_POST[thema]'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
|
||||
## Unterhema eintragen
|
||||
$sql1 = $db->query("INSERT INTO unterthema ( tid, bezeichnung) VALUES ('$row[tid]', '$_POST[unterthema]') ");
|
||||
|
||||
## UnterThemaID (utid) abfragen
|
||||
$result1 = $db->query("SELECT utid FROM unterthema WHERE bezeichnung = '$_POST[unterthema]' AND tid='$row[tid]' ");
|
||||
$row1 = $result1->fetch_array();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$sql1 = $db->query("INSERT INTO quelle ( Textstelle
|
||||
, Ueberschrift
|
||||
, thema
|
||||
, unterthema
|
||||
, vorwort
|
||||
, botschaft
|
||||
, Textwort
|
||||
, Inhalt
|
||||
, zusammenfassung
|
||||
, kontext
|
||||
, Datum
|
||||
, stapgd
|
||||
, kid
|
||||
, ukid
|
||||
)
|
||||
VALUES
|
||||
( '$textstelle'
|
||||
, \"". $_POST['uberschrift']."\"
|
||||
, $row[tid]
|
||||
, $row1[utid]
|
||||
, '$vorwort'
|
||||
, '$botschaft'
|
||||
, '$wort'
|
||||
, '$inhalt'
|
||||
, '$zusammenfassung'
|
||||
, '$kontext'
|
||||
, '$datum'
|
||||
, '$stapgd'
|
||||
, \"". $_POST['dhtmlgoodies_country']."\"
|
||||
, $ukid
|
||||
)"
|
||||
);
|
||||
$lid = $db->insert_id;
|
||||
|
||||
$textstelle=preg_replace_callback("/^([1-9]\.)*\s*". //1 a
|
||||
"(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*". //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
|
||||
"(\s)?". //10 g
|
||||
"([0-9]{0,3})". //11 h
|
||||
"$/", function($m) use (&$lid) { return makeLink($m[1], $m[2], $m[3], $m[6], $m[7], $m[8], $m[9], $m[11], $lid);}, $textstelle);
|
||||
|
||||
if (!$sql1)
|
||||
{
|
||||
$smarty->assign('wort_erfassen_sql_err1', "1");
|
||||
$fehler = TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}elseif($textstelle == ""){
|
||||
if($_POST[stapgd] == 'Y'){
|
||||
$stapgd = 'Y';
|
||||
}else{
|
||||
$stapgd = 'N';
|
||||
}
|
||||
|
||||
|
||||
## Prüfen, ob es das Thema schon gibt
|
||||
$result = $db->query("SELECT tid FROM thema WHERE bezeichnung = '$_POST[thema]'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
## wenn nicht, dann eintragen
|
||||
if($row[tid] == ''){
|
||||
$sql1 = $db->query("INSERT INTO thema ( bezeichnung) VALUES ('$_POST[thema]') ");
|
||||
}
|
||||
|
||||
## ThemaID (tid) abfragen
|
||||
$result = $db->query("SELECT tid FROM thema WHERE bezeichnung = '$_POST[thema]'");
|
||||
$row = $result->fetch_array();
|
||||
|
||||
## Unterhema eintragen
|
||||
$sql1 = $db->query("INSERT INTO unterthema ( tid, bezeichnung) VALUES ('$row[tid]', '$_POST[unterthema]') ");
|
||||
|
||||
## UnterThemaID (utid) abfragen
|
||||
$result1 = $db->query("SELECT utid FROM unterthema WHERE bezeichnung = '$_POST[unterthema]' AND tid='$row[tid]' ");
|
||||
$row1 = $result1->fetch_array();
|
||||
|
||||
|
||||
$sql1 = $db->query("INSERT INTO quelle ( Textstelle
|
||||
, Ueberschrift
|
||||
, thema
|
||||
, unterthema
|
||||
, botschaft
|
||||
, Textwort
|
||||
, Inhalt
|
||||
, zusammenfassung
|
||||
, kontext
|
||||
, Datum
|
||||
, stapgd
|
||||
, kid
|
||||
, ukid
|
||||
)
|
||||
VALUES
|
||||
( '$textstelle'
|
||||
, \"". $_POST['uberschrift']."\"
|
||||
, $row[tid]
|
||||
, $row1[utid]
|
||||
, '$botschaft'
|
||||
, '$wort'
|
||||
, '$inhalt'
|
||||
, '$zusammenfassung'
|
||||
, '$kontext'
|
||||
, '$datum'
|
||||
, '$stapgd'
|
||||
, \"". $_POST['dhtmlgoodies_country']."\"
|
||||
, $ukid
|
||||
)"
|
||||
);
|
||||
|
||||
if (!$sql1)
|
||||
{
|
||||
$smarty->assign('wort_erfassen_sql_err1', "1");
|
||||
$fehler = TRUE;
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
$smarty->assign('wort_erfassen_sql_err2', "1");
|
||||
$fehler = TRUE;
|
||||
}
|
||||
|
||||
if(!isset($fehler)){
|
||||
$smarty->assign('wort_erfassen_success', "1");
|
||||
}
|
||||
}
|
||||
|
||||
$smarty->assign('action', "$action");
|
||||
$smarty->display("$template/$templatename");
|
||||
?>
|
Reference in New Issue
Block a user