From 1db31b9e56aa27423f35630bac5bf33132b70a83 Mon Sep 17 00:00:00 2001 From: halworsen Date: Tue, 13 Feb 2018 16:58:54 +0100 Subject: [PATCH] Add MOTD --- pvv.sql | 5 +++ src/pvv/side/motd.php | 23 ++++++++++++++ www/admin/index.php | 4 +++ www/admin/motd/index.php | 66 +++++++++++++++++++++++++++++++++++++++ www/admin/motd/update.php | 39 +++++++++++++++++++++++ www/index.php | 21 ++++++++----- 6 files changed, 151 insertions(+), 7 deletions(-) create mode 100644 src/pvv/side/motd.php create mode 100644 www/admin/motd/index.php create mode 100644 www/admin/motd/update.php diff --git a/pvv.sql b/pvv.sql index 4325a96..cc6a70c 100644 --- a/pvv.sql +++ b/pvv.sql @@ -20,4 +20,9 @@ CREATE TABLE "projects" ( CREATE TABLE "users" ( "uname" TEXT, "groups" INT DEFAULT 0 +); + +CREATE TABLE "motd" ( +"title" TEXT, +"content" TEXT ); \ No newline at end of file diff --git a/src/pvv/side/motd.php b/src/pvv/side/motd.php new file mode 100644 index 0000000..c5fb3dd --- /dev/null +++ b/src/pvv/side/motd.php @@ -0,0 +1,23 @@ +pdo = $pdo; + } + + public function getMOTD(){ + $query = 'SELECT * FROM motd LIMIT 1'; + $statement = $this->pdo->prepare($query); + $statement->execute(); + + $data = $statement->fetch(); + $motd = array("title" => $data[0], "content" => explode("\n", $data[1])); + + return $motd; + } +} \ No newline at end of file diff --git a/www/admin/index.php b/www/admin/index.php index 68710d1..0930903 100644 --- a/www/admin/index.php +++ b/www/admin/index.php @@ -50,6 +50,10 @@ if(!($isAdmin | $projectGroup | $activityGroup)){ echo '
  • Prosjekter
  • '; } + if($isAdmin) { + echo '
  • Dagens melding
  • '; + } + if($isAdmin){ echo '
  • Brukere
  • '; } diff --git a/www/admin/motd/index.php b/www/admin/motd/index.php new file mode 100644 index 0000000..0663f0d --- /dev/null +++ b/www/admin/motd/index.php @@ -0,0 +1,66 @@ +getAttributes(); + +$pdo = new \PDO($dbDsn, $dbUser, $dbPass); +$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$userManager = new \pvv\admin\UserManager($pdo); + +require_once(__DIR__ . '/../../../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php'); +$as = new SimpleSAML_Auth_Simple('default-sp'); +$as->requireAuth(); +$attrs = $as->getAttributes(); +$uname = $attrs['uid'][0]; + +if(!$userManager->isAdmin($uname)){ + echo 'Her har du ikke lov\'t\'å\'værra!!!'; + exit(); +} + +$motdfetcher = new \pvv\side\MOTD($pdo); +$motd = $motdfetcher->getMOTD(); +?> + + + + + + + + + + + + + +
    +

    Dagens melding

    +
    + +
    +

    Tittel

    +

    Ikke nødvendig

    +
    + +

    Innhold

    + + +
    +
    + + '; ?> +
    +
    +
    + \ No newline at end of file diff --git a/www/admin/motd/update.php b/www/admin/motd/update.php new file mode 100644 index 0000000..a7af78b --- /dev/null +++ b/www/admin/motd/update.php @@ -0,0 +1,39 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$userManager = new \pvv\admin\UserManager($pdo); + +require_once(__DIR__ . '/../../../vendor/simplesamlphp/simplesamlphp/lib/_autoload.php'); +$as = new SimpleSAML_Auth_Simple('default-sp'); +$as->requireAuth(); +$attrs = $as->getAttributes(); +$uname = $attrs['uid'][0]; + +if(!isset($_POST['title']) or !isset($_POST['content'])){ + header('Location: ' . $_SERVER['HTTP_REFERER']); + exit(); +} + +if(!$userManager->isAdmin($uname)){ + echo 'Her har du ikke lov\'t\'å\'værra!!!'; + exit(); +} + +$query = 'UPDATE motd SET title=:title, content=:content'; +$statement = $pdo->prepare($query); + +$statement->bindParam(':title', $_POST['title'], PDO::PARAM_STR); +$statement->bindParam(':content', $_POST['content'], PDO::PARAM_STR); + +$statement->execute(); + +header('Location: .'); +?> + +Om du ikke ble automatisk omdirigert tilbake klikk her \ No newline at end of file diff --git a/www/index.php b/www/index.php index 06b3b9b..7a4887c 100644 --- a/www/index.php +++ b/www/index.php @@ -13,6 +13,9 @@ $agenda = new \pvv\side\Agenda([ new \pvv\side\social\AnimekveldActivity, new \pvv\side\DBActivity($pdo), ]); + +$motdfetcher = new \pvv\side\MOTD($pdo); +$motd = $motdfetcher->getMOTD(); ?> @@ -92,16 +95,20 @@ $agenda = new \pvv\side\Agenda([

    Flere aktiviteter

    - +
    -

    Dagens melding

    -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio tempor orci dapibus ultrices in. Et odio pellentesque diam volutpat commodo. Porttitor leo a diam sollicitudin. Nisl nisi scelerisque eu ultrices. Ipsum dolor sit amet consectetur. Mattis pellentesque id nibh tortor id. Quam adipiscing vitae proin sagittis nisl rhoncus mattis. Integer malesuada nunc vel risus commodo. Curabitur gravida arcu ac tortor dignissim. Mi sit amet mauris commodo quis imperdiet. Enim nulla aliquet porttitor lacus luctus accumsan tortor posuere. Pretium quam vulputate dignissim suspendisse in est. Velit egestas dui id ornare. Urna condimentum mattis pellentesque id nibh tortor id aliquet.

    +
    + echo "

    Dagens melding"; + if($title != ""){ + echo $title_text; + } + echo "

    "; -Nulla malesuada pellentesque elit eget. Odio tempor orci dapibus ultrices in iaculis nunc. Iaculis at erat pellentesque adipiscing. Volutpat ac tincidunt vitae semper. Posuere ac ut consequat semper viverra nam libero justo. Enim tortor at auctor urna nunc id cursus metus. Sit amet cursus sit amet. Eu non diam phasellus vestibulum lorem sed risus. Consequat interdum varius sit amet mattis vulputate enim nulla aliquet. Enim sed faucibus turpis in eu mi bibendum. Eu consequat ac felis donec et odio pellentesque. Cursus eget nunc scelerisque viverra mauris in aliquam sem. Accumsan in nisl nisi scelerisque eu ultrices vitae auctor eu. Quis commodo odio aenean sed adipiscing. Et ultrices neque ornare aenean euismod elementum nisi. Turpis in eu mi bibendum neque egestas congue. Sed arcu non odio euismod. Risus quis varius quam quisque.

    - -Consequat interdum varius sit amet mattis vulputate enim nulla. Tristique et egestas quis ipsum suspendisse. Amet massa vitae tortor condimentum lacinia quis vel eros donec. Varius vel pharetra vel turpis nunc eget. Convallis posuere morbi leo urna molestie at elementum eu facilisis. Congue eu consequat ac felis donec et odio pellentesque. Nunc sed velit dignissim sodales ut eu sem integer. Mattis enim ut tellus elementum sagittis. Molestie ac feugiat sed lectus. Cursus vitae congue mauris rhoncus aenean vel elit. Mauris augue neque gravida in. Velit sed ullamcorper morbi tincidunt ornare massa eget egestas purus. Et tortor at risus viverra adipiscing at in tellus integer.

    + echo "

    " . implode($motd["content"], "

    \n

    ") . "

    "; + ?>