Fix MOTD
It now won't require there to be at least one entry in the motd table. I also tidied up the motd class
This commit is contained in:
parent
29ac0ece7e
commit
32cc4ec27f
|
@ -31,9 +31,12 @@ CREATE TABLE "users" (
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE "motd" (
|
CREATE TABLE "motd" (
|
||||||
|
"id" INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
"title" TEXT,
|
"title" TEXT,
|
||||||
"content" TEXT
|
"content" TEXT
|
||||||
);
|
);
|
||||||
|
INSERT INTO motd (title, content)
|
||||||
|
VALUES ("MOTD ./dev.sh", "du kan endre motd i admin panelet");
|
||||||
|
|
||||||
INSERT INTO users (uname, groups)
|
INSERT INTO users (uname, groups)
|
||||||
VALUES ("min_test_bruker", 1);
|
VALUES ("min_test_bruker", 1);
|
||||||
|
|
|
@ -31,6 +31,7 @@ CREATE TABLE users (
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE motd (
|
CREATE TABLE motd (
|
||||||
|
`id` INTEGER PRIMARY KEY AUTO_INCREMENT,
|
||||||
`title` TEXT,
|
`title` TEXT,
|
||||||
`content` TEXT
|
`content` TEXT
|
||||||
);
|
);
|
||||||
|
|
|
@ -10,8 +10,21 @@ class MOTD{
|
||||||
$this->pdo = $pdo;
|
$this->pdo = $pdo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setMOTD($title, $content) {
|
||||||
|
if (is_array($content)) {
|
||||||
|
$content = implode("_", $content);
|
||||||
|
}
|
||||||
|
$query = 'INSERT INTO motd(title, content) VALUES (:title, :content);';
|
||||||
|
$statement = $this->pdo->prepare($query);
|
||||||
|
|
||||||
|
$statement->bindParam(':title', $title, PDO::PARAM_STR);
|
||||||
|
$statement->bindParam(':content', $content, PDO::PARAM_STR);
|
||||||
|
|
||||||
|
$statement->execute();
|
||||||
|
}
|
||||||
|
|
||||||
public function getMOTD() {
|
public function getMOTD() {
|
||||||
$query = 'SELECT * FROM motd LIMIT 1';
|
$query = 'SELECT motd.title, motd.content FROM motd ORDER BY motd.id DESC LIMIT 1';
|
||||||
$statement = $this->pdo->prepare($query);
|
$statement = $this->pdo->prepare($query);
|
||||||
$statement->execute();
|
$statement->execute();
|
||||||
|
|
||||||
|
@ -20,4 +33,17 @@ class MOTD{
|
||||||
|
|
||||||
return $motd;
|
return $motd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getMOTD_history($limit = 5) {
|
||||||
|
$query = 'SELECT motd.title, motd.content FROM motd ORDER BY motd.id DESC LIMIT :limit';
|
||||||
|
$statement = $this->pdo->prepare($query);
|
||||||
|
$statement->bindParam(':limit', $limit, PDO::PARAM_STR);
|
||||||
|
$statement->execute();
|
||||||
|
|
||||||
|
$data = $statement->fetch();
|
||||||
|
$motd = array("title" => $data[0], "content" => explode("\n", $data[1]));
|
||||||
|
|
||||||
|
return $motd;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -54,7 +54,7 @@ $motd = $motdfetcher->getMOTD();
|
||||||
<input type="text" name="title" value="<?= $motd['title'] ?>" class="boxinput" style="width:66%;"><br>
|
<input type="text" name="title" value="<?= $motd['title'] ?>" class="boxinput" style="width:66%;"><br>
|
||||||
|
|
||||||
<p class="subtitle no-chin">Innhold</p>
|
<p class="subtitle no-chin">Innhold</p>
|
||||||
<textarea name="content" style="width:100%" rows="8" class="boxinput"><?= implode($motd["content"], "\n") ?></textarea>
|
<textarea name="content" style="width:100%" rows="8" class="boxinput"><?= implode("\n", $motd["content"]) ?></textarea>
|
||||||
|
|
||||||
<div style="margin-top: 2em;">
|
<div style="margin-top: 2em;">
|
||||||
<hr class="ruler">
|
<hr class="ruler">
|
||||||
|
@ -64,3 +64,5 @@ $motd = $motdfetcher->getMOTD();
|
||||||
</form>
|
</form>
|
||||||
</main>
|
</main>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
<?php print_r($motd); ?>
|
||||||
|
|
|
@ -25,13 +25,9 @@ if(!$userManager->isAdmin($uname)){
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = 'UPDATE motd SET title=:title, content=:content';
|
|
||||||
$statement = $pdo->prepare($query);
|
|
||||||
|
|
||||||
$statement->bindParam(':title', $_POST['title'], PDO::PARAM_STR);
|
$motdfetcher = new \pvv\side\MOTD($pdo);
|
||||||
$statement->bindParam(':content', $_POST['content'], PDO::PARAM_STR);
|
$motdfetcher->setMOTD($_POST['title'], $_POST['content']);
|
||||||
|
|
||||||
$statement->execute();
|
|
||||||
|
|
||||||
header('Location: .');
|
header('Location: .');
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue