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:
Peder Bergebakken Sundt 2018-08-06 23:26:29 +02:00
parent 29ac0ece7e
commit 32cc4ec27f
5 changed files with 40 additions and 12 deletions

3
dist/pvv.sql vendored
View File

@ -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);

1
dist/pvv_mysql.sql vendored
View File

@ -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
); );

View File

@ -10,8 +10,21 @@ class MOTD{
$this->pdo = $pdo; $this->pdo = $pdo;
} }
public function getMOTD(){ public function setMOTD($title, $content) {
$query = 'SELECT * FROM motd LIMIT 1'; 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() {
$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;
}
} }

View File

@ -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); ?>

View File

@ -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: .');
?> ?>