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

273 lines
9.4 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
$db = dbconnect();
if ($user_admin == "") {
require("index.php");
exit;
} //Wenn man nicht angemeldet ist, darf man nicht auf die Seite
if (!rore($user_admin, 'a_luebear', 'RE')) {
require("lib/rechte.php");
exit;
}
// Rechteüberprüfung ende
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
$db = dbconnect();
$query = "SELECT DISTINCT eid, thema, bezeichnung
FROM lue_quelle a, lue_art b
WHERE a.lueaid = b.lueaid
ORDER BY eid DESC
";
$result = $db->query($query) or die("Cannot execute query");
while ($row = $result->fetch_array()) {
if($row['bezeichnung'] == 'Bibelkunde für alle'){
$bezeichnung = 'Bibelkunde für alle:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Hinweise zur Lehre'){
$bezeichnung = 'Hinweise zur Lehre:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Lehre leicht gemacht'){
$bezeichnung = 'Lehre leicht gemacht:&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Lehre und Erkenntnis'){
$bezeichnung = 'Lehre und Erkenntnis:&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Was wir glauben'){
$bezeichnung = 'Was wir glauben:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Menschen aus der Bibel'){
$bezeichnung = 'Menschen aus der Bibel:&nbsp;&nbsp;';
}elseif($row['bezeichnung'] == 'Stellungnahme der Kirche'){
$bezeichnung = 'Stellungnahme der Kirche:';
}elseif($row['bezeichnung'] == 'Frau im ordinierten Amt'){
$bezeichnung = 'Frau im ordinierten Amt:&nbsp;';
}else{
$bezeichnung = $row['bezeichnung'];
}
$row['bezeichnung'] = $bezeichnung;
$value[] = $row;
}
$smarty->assign('table_data', $value);
}
if ($action == 'bearbeiten1') {
if (isset($_POST['lue'])) { //wird die Seite von externer Datei aufgerufen (ansicht.php)?
$eid = $_POST['lue'];
setcookie("ck_back", "0"); // prüft später, ob man wieder zur Ansicht.php zurückspringen muss oder ob es eien normale Wortbearbeitung war
} else {
$eid = $_GET['lue'];
setcookie("ck_back", "1"); // prüft später, ob man wieder zur Ansicht.php zurückspringen muss oder ob es eien normale Wortbearbeitung war
}
setcookie("ck_eid", "");
setcookie("ck_eid", "$eid");
$db = dbconnect();
$result = $db->query("SELECT thema, einleitung, ausfuehrung, extrakt, lueaid, gruppe, quelle
FROM lue_quelle
WHERE eid = '$eid'");
$row = $result->fetch_array();
$smarty->assign('lue_bearbeiten_eid', "$eid");
$smarty->assign('lue_bearbeiten_thema', "$row[thema]");
$smarty->assign('lue_bearbeiten_einleitung', "$row[einleitung]");
$smarty->assign('lue_bearbeiten_ausfuehrung', "$row[ausfuehrung]");
$smarty->assign('lue_bearbeiten_extrakt', "$row[extrakt]");
$smarty->assign('lue_bearbeiten_quelle', "$row[quelle]");
$smarty->assign('lue_bearbeiten_art', "$row[lueaid]");
$smarty->assign('lue_bearbeiten_gruppe', "$row[gruppe]");
$query1 = "SELECT lueaid, bezeichnung FROM lue_art WHERE bezeichnung != '' ORDER BY bezeichnung ASC";
$result1 = $db->query($query1);
while ($row1 = $result1->fetch_array()) {
$value1[] = $row1;
}
// Assign this array to smarty...
$smarty->assign('table_data', $value1);
$query2 = "SELECT DISTINCT eid, thema, bezeichnung
FROM lue_quelle a, lue_art b
WHERE a.lueaid = b.lueaid
ORDER BY eid DESC
";
$result2 = $db->query($query2) or die("Cannot execute query2");
while ($row2 = $result2->fetch_array()) {
if($row2['bezeichnung'] == 'Bibelkunde für alle'){
$bezeichnung = 'Bibelkunde für alle:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Hinweise zur Lehre'){
$bezeichnung = 'Hinweise zur Lehre:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Lehre leicht gemacht'){
$bezeichnung = 'Lehre leicht gemacht:&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Lehre und Erkenntnis'){
$bezeichnung = 'Lehre und Erkenntnis:&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Was wir glauben'){
$bezeichnung = 'Was wir glauben:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Menschen aus der Bibel'){
$bezeichnung = 'Menschen aus der Bibel:&nbsp;&nbsp;';
}elseif($row2['bezeichnung'] == 'Stellungnahme der Kirche'){
$bezeichnung = 'Stellungnahme der Kirche:';
}elseif($row2['bezeichnung'] == 'Frau im ordinierten Amt'){
$bezeichnung = 'Frau im ordinierten Amt:&nbsp;';
}else{
$bezeichnung = $row2['bezeichnung'];
}
$zugthemen = explode(",", $row['gruppe']);
if (in_array("$row2[eid]", $zugthemen)) {
$selected = 1;
} else {
$selected = 0;
}
$row2['selected'] = $selected;
$row2['bezeichnung'] = $bezeichnung;
$value2[] = $row2;
}
$smarty->assign('table_data1', $value2);
}
if ($action == 'bearbeiten2') {
$einleitung = htmlclean($_POST['einleitung'], $db);
$ausfuehrung = htmlclean($_POST['ausfuehrung'], $db);
$extrakt = htmlclean($_POST['extrakt'], $db);
$art = $_POST['art'];
$quelle = $_POST['quelle'];
$gruppe = $_POST['gruppe'];
$gruppen = '';
$eid = $_COOKIE["ck_eid"];
if($gruppe != ''){
# Ggf. aktuelle Publikation aus vorhandenen Gruppen entfernen
#Bisherige Gruppe auslesen
$result_bish = $db->query("SELECT gruppe
FROM lue_quelle
WHERE eid = '$eid'");
$row_bish = $result_bish->fetch_array();
#bisherige Gruppen in Array setzen, Komma getrennt
$bish_themen = explode(",", $row_bish['gruppe']);
# Schleife über die einzelnen eids der bisherigen Gruppe
for ($j = 0; $j < sizeof($bish_themen); $j++) {
# Abfrage In welchen Publikationen die EID vorhanden ist und dann diese EID rauslöschen
# SELECT eid, gruppe FROM lue_quelle WHERE gruppe REGEXP '[[:<:]]336[[:>:]]';
$result_bishvorh = $db->query("SELECT eid, gruppe
FROM lue_quelle
WHERE gruppe REGEXP '[[:<:]]$bish_themen[$j][[:>:]]'; ") or die("Cannot execute query2");
while ($row_bishvorh = $result_bishvorh->fetch_array()) {
$gruppe_bisher = explode(",", $row_bishvorh['gruppe']);
# Aktuelle eid aus gruppe löschen
if (($key = array_search($eid, $gruppe_bisher)) !== false) {
unset($gruppe_bisher[$key]);
}
# wieder nach Komma getrennt zusammenbauen
$gruppenneu = "";
foreach ($gruppe_bisher as $groupnew){
$gruppenneu .= "$groupnew,";
}
$gruppenneu = trim(substr($gruppenneu, 0, -1));
#Gruppe ohne bisherige EID zurückschreiben
$sql1 = $db->query("UPDATE lue_quelle
SET gruppe = '$gruppenneu'
WHERE eid = '$row_bishvorh[eid]'
");
}
}
# Bearbeitung bisheriger Gruppe ENDE
# Neue Gruppe zuordnen
# Gruppen Kommagetrennt aufarbeiten
for ($i = 0; $i < sizeof($gruppe); $i++) {
$gruppen .= "$gruppe[$i],";
}
$gruppen = trim(substr($gruppen, 0, -1));
for ($i = 0; $i < sizeof($gruppe); $i++) {
$sql1 = $db->query("UPDATE lue_quelle
SET gruppe = '$gruppen'
WHERE eid = '$gruppe[$i]'
");
}
}
$result_cache = $db->query("SELECT thema
FROM lue_quelle
WHERE eid = '$eid'");
$row_cache = $result_cache->fetch_array();
# Wenn sich der Themenname ändert muss der Cache gelöscht werden. Die eigentlichen Daten werden nicht in den LGs eingebunden.
# Es wird nur der Themenname eingeblendet.
if ($_POST['thema'] != $row_cache['thema']) {
# Cache löschen bei bearbeiten
$sql2 = $db->query("TRUNCATE TABLE quelle_verweise_cache");
$sql2 = $db->query("TRUNCATE TABLE quelle_cache");
}
$sql1 = $db->query("UPDATE lue_quelle
SET thema = '$_POST[thema]'
,einleitung = '$einleitung'
,ausfuehrung = '$ausfuehrung'
,extrakt = '$extrakt'
,lueaid = '$art'
,quelle = '$quelle'
WHERE eid = '$eid'
");
if (!$sql1) {
$smarty->assign('lue_bearbeiten_sql_err1', "1");
$fehler = TRUE;
}
if (!isset($fehler)) {
$back = $_COOKIE["ck_back"];
if ($back == 0) {
$smarty->assign('lue_bearbeiten_success', "1");
} else {
$smarty->assign('lue_bearbeiten_success', "2");
$smarty->assign('lue_bearbeiten_eid', "$eid");
}
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>