Compare commits

...

8 Commits

6 changed files with 205 additions and 1 deletions

View File

@@ -1,2 +1,10 @@
# peehaitchpea
## GET /api.php?cmd=getselectedmessage
Odpověď je max. 1 řádek, který obsahuje text současně vybrané otázky.
## POST /api.php?cmd=newmodmessages
Data: ["Otázka 1", "Otázka 2", ...]

13
api.php
View File

@@ -82,6 +82,19 @@
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
}
if(!in_array("counter", $tables)) {
query("CREATE TABLE `counter` (
`value` int NOT NULL,
PRIMARY KEY (`value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
}
query("SELECT COUNT(value) AS count FROM counter;", function($row) {
if($row["count"] <= 0) {
query("INSERT INTO counter(value) VALUES (0);");
}
});
if(isset($_GET["cmd"])) {
$cmd = $_GET['cmd'];

32
counter.php Normal file
View File

@@ -0,0 +1,32 @@
<?php
include "api.php";
if(isset($_GET["increment"])) {
query("UPDATE counter SET value = value + 1;");
header("Location: /counter.php");
die();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Vkládání otázek</title>
</head>
<body>
<h1>Počítadlo</h1>
<h2>
Je tu
<?php
query("SELECT * FROM counter", function($row) {
echo($row["value"]);
})
?>
lidí!
</h2>
<form action="/counter.php" method="get">
<input type="hidden" name="increment" value="dick">
<input type="submit" value="Přišel další!">
</form>
</body>
</html>

139
index.php Normal file
View File

@@ -0,0 +1,139 @@
<?php
include "api.php";
$found = false;
foreach($_GET as $key => $value) {
$found = true;
if($key == "unselectmessage" || $key == "selectmessage") {
query("UPDATE `for_stallman` SET `selected` = false");
}
if($key == "selectmessage") {
query("UPDATE `for_stallman` SET `selected` = true WHERE `id` = " . $conn->real_escape_string($value) . ";");
}
if($key == "deletemessage") {
query("DELETE FROM `for_stallman` WHERE `id` = " . $conn->real_escape_string($value) . ";");
}
}
if($found) {
header("Location: /index.php");
die();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Audience questions</title>
<style>
table {
border-collapse: collapse;
width: 100%;
}
tr {
border-bottom: 1px solid black;
border-top: 1px solid black;
}
td:first-child {
padding-left: 8px;
}
td {
width: 1px;
white-space: nowrap;
padding: 8px 0;
}
td:last-child {
width: 100%;
padding-right: 8px;
}
input[type="submit"] {
margin-right: 8px;
}
label {
padding-right: 16px;
padding-left: 4px;
}
</style>
</head>
<body>
<?php
query("SELECT COUNT(`id`) as `count` FROM `for_stallman`;", function($row) {
if($row["count"] <= 0) {
echo "<meta http-equiv=\"refresh\" content=\"3\">";
}
});
?>
<h1>Audience questions</h1>
<p>
<a href="/index.php">Load new questions</a>
</p>
<table>
<?php
$found = false;
query("SELECT `id`, `text`, `selected` FROM `for_stallman`;", function($row) {
global $found;
$found = true;
if(!$row["selected"]) {
echo '
<tr>
<td>
<form action="/index.php" method="get">
<input type="hidden" name="selectmessage" value="' . $row["id"] . '">
<input type="submit" value="Select">
</form>
</td>
<td></td>
<td>
' . htmlspecialchars($row["text"]) . '
</td>
</tr>
';
} else {
echo '
<tr style="background-color: #EDF;">
<td>
<form action="/index.php" method="get">
<input type="hidden" name="unselectmessage" value="' . $row["id"] . '">
<input type="submit" value="Deselect">
</form>
</td>
<td>
<form action="/index.php" method="get">
<input type="hidden" name="deletemessage" value="' . $row["id"] . '">
<input type="submit" value="Delete" style="color: darkred;">
</form>
</td>
<td>
' . htmlspecialchars($row["text"]) . '
</td>
</tr>
';
}
});
if(!$found) {
echo '
<tr>
<td>
No questions found.
</td>
</tr>';
}
?>
</table><br>
</body>
</html>

View File

@@ -1,7 +1,7 @@
<?php
if(isset($_GET["message"])) {
include "api.php";
query("INSERT INTO `for_moderation`(`text`) VALUES (\"" . $conn->real_escape_string($_GET["message"]) . "\");");
query("INSERT INTO `for_stallman`(`text`, `selected`) VALUES (\"" . $conn->real_escape_string($_GET["message"]) . "\", false);");
header("Location: /insertion.php");
die();
}

View File

@@ -44,8 +44,13 @@
padding: 8px 0;
}
td:first-child {
padding-left: 8px;
}
td:last-child {
width: 100%;
padding-right: 8px;
}
input[type="radio"] {
@@ -57,6 +62,13 @@
padding-left: 4px;
}
</style>
<?php
query("SELECT COUNT(`id`) as `count` FROM `for_moderation`;", function($row) {
if($row["count"] <= 0) {
echo "<meta http-equiv=\"refresh\" content=\"3\">";
}
});
?>
</head>
<body>
<h1>Moderace otázek pro pana Stallmana</h1>