wp-login/qna-admin.php
2025-01-25 20:39:02 +01:00

193 lines
7.0 KiB
PHP

<?php
if (! isset ( $_COOKIE ['monster'] )) {
http_response_code ( 404 );
die ();
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>StarCitizen-Community QnA</title>
<link rel="stylesheet" type="text/css" href="/cssjs/admin.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/cssjs/jquery-ui.min.css" media="screen" />
<link rel="stylesheet" type="text/css" href="/cssjs/bootstrap.min.css" media="screen" />
<link rel="stylesheet" href="assets/css/main.css" />
<meta charset="utf-8" />
<style>
.block {
margin-bottom: 1em;
margin-left: 1em;
border-bottom: 1px solid black;
}
.button {
margin: 1em;
border: 1px solid black;
}
.word {
margin-right: 1em;
}
div.addword {
width:200px;
float:right;
overflow-y: hidden;
height: 50px;
margin-top: -25px;
}
a.clickdel {
color: black;
text-decoration: none;
}
a.clickdel:hover {
text-decoration: line-through;
}
</style>
</head>
<body><?php
include ('_func.php');
include '_admin_navi.php';
if (access ( 'qna', $_a ['r'] )) {
echo '<div>
[<a href="?">Gestellte Fragen</a>]
[<a href="?a=meanings">Bedeutungen</a>]
[<a href="?a=answeres">Antworten</a>]
</div>';
if (isset ( $_GET ['a'] )) {
if ($_GET ['a'] == 'feedback') {
if (isset ( $_GET ['f'] ) && ($_GET ['f'] == 'y' || $_GET ['f'] == 'n')) {
$sql->set ( "UPDATE qna_questions SET hilfreich = ? WHERE id = ?", 'si', array (
$_GET ['f'],
$_GET ['id']
) );
header ( 'Location: ?' );
die ();
}
if (isset ( $_GET ['f'] ) && $_GET ['f'] == 'e') {
$sql->set ( "DELETE FROM qna_questions WHERE id = ?", 'i', $_GET ['id'] );
header ( 'Location: ?' );
die ();
}
}
if ($_GET ['a'] == 'addmeaning' && isset ( $_POST ['words'] ) && isset ( $_POST ['meaning'] )) {
if ($_POST ['meaning'] != '') {
$data = $sql->single ( "SELECT id FROM qna_meanings WHERE meaning LIKE ?", 's', strtolower ( $_POST ['meaning'] ) );
$id = 0;
if (! $data) {
$id = $sql->set ( "INSERT INTO qna_meanings ( meaning) VALUES (?)", 's', strtolower ( $_POST ['meaning'] ), true );
} else {
$id = $data ['id'];
}
if ($id) {
$sql->set ( "INSERT INTO qna_words (meaningID,word) VALUES (?,?)", 'is', array (
$id,
strtolower ( $_POST ['meaning'] )
) );
$words = explode ( ' ', $_POST ['words'] );
foreach ( $words as $w ) {
if ($w != '') {
$sql->set ( "INSERT INTO qna_words (meaningID,word) VALUES (?,?)", 'is', array (
$id,
strtolower ( $w )
) );
}
}
}
header ( 'Location: ?a=meanings' );
die ();
}
}
if ($_GET ['a'] == 'addword' && isset ( $_POST ['word'] ) && isset ( $_GET ['id'] )) {
$words = explode ( ' ', $_POST ['word'] );
foreach ( $words as $w ) {
if ($w != '') {
$sql->set ( "INSERT INTO qna_words (meaningID,word) VALUES (?,?)", 'is', array (
$_GET ['id'],
strtolower ( $w )
) );
}
}
header ( 'Location: ?a=meanings' );
die ();
}
if ($_GET ['a'] == 'remword' && isset ( $_GET ['word'] ) && isset ( $_GET ['id'] )) {
$sql->set ( "DELETE FROM qna_words WHERE meaningID = ? AND word LIKE ?", 'is', array (
$_GET ['id'],
$_GET ['word']
) );
header ( 'Location: ?a=meanings' );
die ();
}
if ($_GET ['a'] == 'meanings') {
$data = $sql->get ( "SELECT m.id,m.meaning,w.id AS wid, w.word FROM qna_meanings AS m, qna_words AS w WHERE m.id = w.meaningID ORDER BY meaning" );
if ($data) {
$old = 0;
foreach ( $data as $d ) {
if ($old != $d ['id']) {
if ($old > 0) {
echo '<div class="addword"><form action="?a=addword&id=' . $old . '" method="post" /><input type="text" name="word" style="width: 140px; float: left;" /><input type="submit" name="submit" value="&#x1f4be;" style="width: 35px; padding: 0;" /></form></div></div>
</div>';
}
echo '<div class="block">
<div><b>' . $d ['meaning'] . '</b></div><div>';
$old = $d ['id'];
}
echo '<span class="word"><a href="?a=remword&word=' . $d ['word'] . '&id=' . $old . '" class="clickdel" onclick="return confirm(\'Wirklich löschen?\');">' . $d ['word'] . '</a></span>';
}
echo '</div>
</div>';
}
echo '<hr><div class="block"><form action="?a=addmeaning" method="post">
Hauptbedeutungswort (muss eindeutig sein)<input type="text" name="meaning" /><br/>
<form action="?a=addmeaning" method="post">
Worte mit gleicher Bedeutung (wie man es schreiben würde, leerzeichengetrennt)<input type="text" name="words" /><br/>
<input type="submit" name="submit" value="Speichern" />
</form></div>';
}
if ($_GET ['a'] == 'answeres') {
$data = $sql->get ( "SELECT DISTINCT a.id,a.answere, GROUP_CONCAT( mo.meaning SEPARATOR ' ') AS meanings, GROUP_CONCAT( mx.meaning SEPARATOR ' ') AS meanouts FROM qna_answeres AS a LEFT JOIN qna_meanings AS mo ON FIND_IN_SET(mo.id,a.meaningIDs) LEFT JOIN qna_meanings AS mx ON FIND_IN_SET(mx.id,a.meanoutIDs) GROUP BY a.id" );
if ($data) {
foreach ( $data as $d ) {
echo '<div class="block"><div><b>' . $d ['answere'] . '</b></div><div>';
if ($d ['meanings']) {
foreach ( explode ( ' ', $d ['meanings'] ) as $m ) {
echo '<span class="word">' . $m . '</span>';
}
}
if ($d ['meanouts']) {
foreach ( explode ( ' ', $d ['meanouts'] ) as $m ) {
echo '<span class="word">!' . $m . '</span>';
}
}
echo '</div><div><a href="?a=edit&id=' . $d ['id'] . '" class="button">edit</a></div></div>';
}
}
}
} else {
$data = $sql->get ( "SELECT * FROM qna_questions ORDER BY FIELD(hilfreich,'n',null,'y')" );
if ($data) {
foreach ( $data as $d ) {
echo '<div class="block">
<div><b>' . $d ['qu'] . '</b> (' . $d ['founds'] . ')</div>
<div>' . $d ['ans'] . ' ' . ($d ['hilfreich'] ? '(' . $d ['hilfreich'] . ')' : '<a href="?a=feedback&id=' . $d ['id'] . '&f=y" class="button">Y</a> <a href="?a=feedback&id=' . $d ['id'] . '&f=n" class="button">N</a> <a href="?a=feedback&id=' . $d ['id'] . '&f=e" class="button">E</a>') . '</div>
</div>';
}
}
}
}
?>
<script src="/cssjs/jquery.min.js"></script>
<script src="/cssjs/jquery-ui.min.js"></script>
<script src="/cssjs/form.js"></script>
</body>
</html>