Leitgedanken/wort_exegese.php
2022-11-21 09:47:28 +01:00

270 lines
7.9 KiB
PHP

<?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");
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "language/german.inc.php";
require_once("func_htmlclean.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_wortexeg','RE')){require("lib/rechte.php");exit;}
// Rechteüberprüfung ende
if(isset($_GET['action'])){
$action = $_GET['action'];
}else{
$action = '';
}
if($action == ''){
setcookie("ck_wort_exegese", "", time() - 1);
setcookie("ck_wort_exegese_weid", "", time() - 1);
setcookie("ck_wort_exegese_edit_weid", "", time() - 1);
$db = dbconnect();
$query1 = "SELECT wort
FROM wort_exegese
WHERE weid = verweis
ORDER BY wort ASC";
$result1 = $db->query( $query1 )
or die ("Cannot execute query");
while ($row1 = $result1->fetch_array()){
$value1[] = $row1;
}
$smarty->assign('table_data1', $value1);
}
if($action == 'exeg1'){
if(isset($_POST['wort_exegese']) AND $_POST['wort_exegese'] != ''){
$wort_exegese = $_POST['wort_exegese'];
setcookie("ck_wort_exegese","$_POST[wort_exegese]");
}else{
$wort_exegese = $_COOKIE["ck_wort_exegese"];
}
if($wort_exegese != ""){
$db = dbconnect();
$result = $db->query("SELECT min(weid) weid
FROM wort_exegese
WHERE wort = '$wort_exegese'");
$row = $result->fetch_array();
$smarty->assign('wort_exegese_weid', "$row[weid]");
setcookie("ck_wort_exegese_weid","$row[weid]");
$query2 = "SELECT weid, wort, beschreibung, link
FROM wort_exegese
WHERE verweis ='$row[weid]'";
$result2 = $db->query( $query2 )
or die ("Cannot execute query2");
while ($row2 = $result2->fetch_array()){
$result_del = $db->query("SELECT count(*) Anz
FROM wort_exegese
WHERE weid != '$row2[weid]'
AND verweis = '$row2[weid]'");
$row_del = $result_del->fetch_array();
if($row['weid'] == $row2['weid'] AND $row_del['Anz'] > 0){
$del = "0";
}else{
$del = "1";
}
if($row2['link'] == ""){
$link_vorh = "0";
}else{
$link_vorh = "1";
}
$row2['del'] = $del;
$row2['link_vorh'] = $link_vorh;
$value2[] = $row2;
}
$smarty->assign('table_data2', $value2);
$smarty->assign('wort_exegese_begriff', "$wort_exegese");
}
}
if($action == 'exeg2'){
$db = dbconnect();
$weid = $_COOKIE["ck_wort_exegese_weid"];
$beschreibung = htmlclean($_POST['beschreibung'], $db);
$titel = trim($_POST['titel']);
$link = trim($_POST['link']);
$db = dbconnect();
$result = $db->query("SELECT min(weid) weid
FROM wort_exegese
WHERE wort = '$titel'");
$row = $result->fetch_array();
#Voraussetzung 1: Im Titel muss was stehen
if($titel == ''){
$fehler = "1";
}
#Voraussetzung 2: Ein vorhandener Titel darf nicht hinzugefügt werden, wenn in der Beschreibung nur <br /> steht
if($row['weid']!=''and $beschreibung=='<br />'){
$fehler = "1";
}
if(!isset($fehler)){
# Neuer Datensatz
if($weid == ''){
$sql = $db->query("INSERT INTO wort_exegese (wort, beschreibung, link) VALUES ('$titel', '$beschreibung', '$link')");
$weid = $db->insert_id;
# Cache löschen bei bearbeiten
$sql2 = $db->query("TRUNCATE TABLE quelle_verweise_cache");
$sql2 = $db->query("TRUNCATE TABLE quelle_cache");
if($row['weid'] == ''){
$verweis = $weid;
}else{
$verweis = $row['weid'];
}
$sql = $db->query("UPDATE wort_exegese
SET verweis='$verweis'
WHERE weid=$weid");
}else{
# Weitere Erklärung zum vorhandenen Begriff
$sql = $db->query("INSERT INTO wort_exegese (wort, beschreibung, link, verweis) VALUES ('$titel', '$beschreibung','$link', '$weid')");
}
if($sql){
$smarty->assign('wort_exegese_finish', "Der Datensatz wurde erfolgreich hinzugefügt");
# Cache löschen bei bearbeiten
$sql2 = $db->query("TRUNCATE TABLE quelle_verweise_cache");
$sql2 = $db->query("TRUNCATE TABLE quelle_cache");
}else{
$smarty->assign('wort_exegese_finish', "Der Datensatz wurde nicht hinzugefügt.<br>Es trat ein interner Fehler auf!");
}
$sql = $db->query("UPDATE wort_exegese
SET beschreibung = ''
WHERE beschreibung = '<br />'");
}else{
$smarty->assign('wort_exegese_finish', "Der Datensatz wurde nicht hinzugefügt.<br><br>Der \"Begriff\" ist entweder leer<br>oder der Begriff ist bereits vorhanden, wenn keine Beschreibung dazu abgegeben wurde!");
}
setcookie("ck_wort_exegese", "", time() - 1);
setcookie("ck_wort_exegese_weid", "", time() - 1);
setcookie("ck_wort_exegese_edit_weid", "", time() - 1);
}
if($action == 'edit'){
$weid = $_GET['weid'];
setcookie("ck_wort_exegese_edit_weid","$weid");
$db = dbconnect();
$result = $db->query("SELECT wort, beschreibung, link
FROM wort_exegese
WHERE weid = '$weid'");
$row = $result->fetch_array();
$smarty->assign('wort_exegese_edit_begriff', "$row[wort]");
$smarty->assign('wort_exegese_edit_beschreibung', "$row[beschreibung]");
$smarty->assign('wort_exegese_edit_link', "$row[link]");
}
if($action == 'edit2'){
$db = dbconnect();
$weid = $_COOKIE["ck_wort_exegese_edit_weid"];
$beschreibung = htmlclean($_POST['beschreibung'], $db);
$titel = trim($_POST['titel']);
$link = trim($_POST['link']);
$db = dbconnect();
$result = $db->query("SELECT min(weid) weid
FROM wort_exegese
WHERE wort = '$titel'");
$row = $result->fetch_array();
#Voraussetzung 1: Im Titel muss was stehen
if($titel == ''){
$fehler = "1";
}
#Voraussetzung 2: Ein vorhandener Titel darf nicht hinzugefügt werden, wenn in der Beschreibung nur <br /> steht
if($row['weid']!=''and $beschreibung=='<br />'){
$fehler = "1";
}
if(!isset($fehler)){
$sql = $db->query("UPDATE wort_exegese
SET wort='$titel'
,beschreibung = '$beschreibung'
,link = '$link'
WHERE weid = '$weid'");
# Cache löschen bei bearbeiten
$sql2 = $db->query("TRUNCATE TABLE quelle_verweise_cache");
$sql2 = $db->query("TRUNCATE TABLE quelle_cache");
}
echo"<meta http-equiv=\"refresh\" content=\"0; URL=?action=exeg1\">";
}
if($action == 'del'){
$weid = $_GET['weid'];
$db = dbconnect();
$result0 = $db->query("SELECT verweis
FROM wort_exegese
WHERE weid = '$weid'");
$row0 = $result0->fetch_array();
$verweis = $row0['verweis'];
$result = $db->query("DELETE
FROM wort_exegese
WHERE weid = '$weid'");
# Cache löschen
$sql2 = $db->query("TRUNCATE TABLE quelle_verweise_cache");
$sql2 = $db->query("TRUNCATE TABLE quelle_cache");
$result1 = $db->query("SELECT count(*) Anz
FROM wort_exegese
WHERE verweis = '$verweis'");
$row1 = $result1->fetch_array();
if($row1['Anz'] > 0){
echo"<meta http-equiv=\"refresh\" content=\"0; URL=?action=exeg1\">";
#echo "1 --> $row1[Anz] --> $weid<br>";
}else{
echo"<meta http-equiv=\"refresh\" content=\"0; URL=?\">";
#echo "2 --> $row1[Anz] --> $weid<br>";
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>