270 lines
7.9 KiB
PHP
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");
|
|
?>
|