summaryrefslogtreecommitdiffstats
path: root/modules/news
diff options
context:
space:
mode:
authorSimon Rettberg2016-05-03 19:03:09 +0200
committerSimon Rettberg2016-05-03 19:03:09 +0200
commit50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66 (patch)
tree05e99fdffa696434960d7c77966c0bc36d6339e8 /modules/news
parentSecond half of merge.... (diff)
downloadslx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.gz
slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.xz
slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.zip
WIP
Diffstat (limited to 'modules/news')
-rw-r--r--modules/news/config.json4
-rw-r--r--modules/news/lang/de/templates/page-news.json13
-rw-r--r--modules/news/lang/en/module.json12
-rw-r--r--modules/news/lang/en/templates/page-news.json12
-rw-r--r--modules/news/lang/pt/module.json13
-rw-r--r--modules/news/page.inc.php167
-rw-r--r--modules/news/templates/page-news.html57
7 files changed, 0 insertions, 278 deletions
diff --git a/modules/news/config.json b/modules/news/config.json
deleted file mode 100644
index 6c189b63..00000000
--- a/modules/news/config.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "category":"main.content",
- "enabled":"true"
-}
diff --git a/modules/news/lang/de/templates/page-news.json b/modules/news/lang/de/templates/page-news.json
deleted file mode 100644
index 7801584d..00000000
--- a/modules/news/lang/de/templates/page-news.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "lang_activeNews": "Aktive News",
- "lang_content": "Inhalt",
- "lang_date": "Datum",
- "lang_delete": "L\u00f6schen",
- "lang_editNews": "News bearbeiten",
- "lang_latestUpdate": "Letzte Aktualisierung",
- "lang_newsIntro": "Hier haben Sie die M\u00f6glichkeit, die von bwLehrpool-Clients angezeigten News zu editieren.",
- "lang_newsOld": "Alte News",
- "lang_save": "Speichern",
- "lang_show": "Ansehen",
- "lang_title": "Titel"
-} \ No newline at end of file
diff --git a/modules/news/lang/en/module.json b/modules/news/lang/en/module.json
deleted file mode 100644
index 5acbe58d..00000000
--- a/modules/news/lang/en/module.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "lang_activeNews": "News",
- "lang_content": "Content",
- "lang_date": "Date",
- "lang_delete": "Delete",
- "lang_latestUpdate": "Last Update",
- "lang_newsOld": "Old News",
- "lang_save": "Save",
- "lang_show": "Show",
- "lang_title": "Title",
- "module_name": "News"
-} \ No newline at end of file
diff --git a/modules/news/lang/en/templates/page-news.json b/modules/news/lang/en/templates/page-news.json
deleted file mode 100644
index df63658c..00000000
--- a/modules/news/lang/en/templates/page-news.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "lang_content": "Content",
- "lang_date": "Date",
- "lang_delete": "Delete",
- "lang_editNews": "Edit news",
- "lang_latestUpdate": "Latest update",
- "lang_newsIntro": "Here you have the possibility to edit the news displayed to the bwLehrpool clients.",
- "lang_newsOld": "Old News",
- "lang_save": "Save",
- "lang_show": "Show",
- "lang_title": "Title"
-} \ No newline at end of file
diff --git a/modules/news/lang/pt/module.json b/modules/news/lang/pt/module.json
deleted file mode 100644
index e1997fce..00000000
--- a/modules/news/lang/pt/module.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "lang_activeNews": "Novidades",
- "lang_content": "Conte\u00fado",
- "lang_date": "Data",
- "lang_delete": "Excluir",
- "lang_latestUpdate": "\u00daltima Atualiza\u00e7\u00e3o",
- "lang_newsIntro": "Aqui voc\u00ea tem a possibilidade de editar as novidades que s\u00e3o mostradas para os clientes do bwLehrpool.",
- "lang_newsOld": "Antigas",
- "lang_save": "Salvar",
- "lang_show": "Mostrar",
- "lang_title": "T\u00edtulo",
- "module_name": "Novidades"
-} \ No newline at end of file
diff --git a/modules/news/page.inc.php b/modules/news/page.inc.php
deleted file mode 100644
index 9bbadc4f..00000000
--- a/modules/news/page.inc.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-class Page_News extends Page
-{
- /**
- * Member variables needed to represent a news entry.
- *
- * @var newsId int ID of the news entry attributed by the database.
- * @var string Title of the entry.
- * $newsContent string Content as text. (TODO: html-Support?)
- * $newsDate string Unix epoch date of the news' creation.
- */
- private $newsId = false;
- private $newsTitle = false;
- private $newsContent = false;
- private $newsDate = false;
-
- /**
- * Implementation of the abstract doPreprocess function
- *
- * Checks if the user is logged in and processes any
- * action if one was specified in the request.
- *
- */
- protected function doPreprocess()
- {
- // load user, we will need it later
- User::load();
-
- // only admins should be able to edit news
- if (!User::hasPermission('superadmin')) {
- Message::addError('no-permission');
- Util::redirect('?do=Main');
- }
-
- // check which action we need to do
- $action = Request::any('action', 'show');
- if ($action === 'clear') {
- // clear news input fields
- // TODO: is this the right way?
- $this->newsId = false;
- $this->newsTitle = false;
- $this->newsContent = false;
- $this->newsDate = false;
- } elseif ($action === 'show') {
- // show news
- if (!$this->loadNews(Request::any('newsid'))) {
- Message::addError('news-empty');
- }
- } elseif ($action === 'save') {
- // save to DB
- if (!$this->saveNews()) {
- // re-set the fields we got
- Request::post('news-title') ? $this->newsTitle = Request::post('news-title') : $this->newsTitle = false;
- Request::post('news-content') ? $this->newsContent = Request::post('news-content') : $this->newsContent = false;
- } else {
- Message::addSuccess('news-save-success');
- Util::redirect('?do=News');
- }
- } elseif ($action === 'delete') {
- // delete it
- $this->delNews(Request::post('newsid'));
- } else {
- // unknown action, redirect user
- Message::addError('invalid-action', $action);
- Util::redirect('?do=News');
- }
- }
-
- /**
- * Implementation of the abstract doRender function
- *
- * Fetch the list of news from the database and paginate it.
- *
- */
- protected function doRender()
- {
- // fetch the list of the older news
- $lines = array();
- $paginate = new Paginate("SELECT newsid, dateline, title, content FROM news ORDER BY dateline DESC", 10);
- $res = $paginate->exec();
- while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
- $row['date'] = date('d.m.Y H:i', $row['dateline']);
-
- if ($row['newsid'] == $this->newsId) $row['active'] = "active";
- $lines[] = $row;
- }
- $paginate->render('page-news', array(
- 'token' => Session::get('token'),
- 'latestDate' => ($this->newsDate ? date('d.m.Y H:i', $this->newsDate) : '--'),
- 'latestContent' => $this->newsContent,
- 'latestTitle' => $this->newsTitle,
- 'list' => $lines ));
-
- }
- /**
- * Loads the news with the given ID into the form.
- *
- * @param int $newsId ID of the news to be shown.
- * @return boolean true if loading that news worked
- *
- */
- private function loadNews($newsId)
- {
- // check to see if we need to request a specific newsid
- if ($newsId !== false) {
- $row = Database::queryFirst("SELECT newsid, title, content, dateline FROM news WHERE newsid = :newsid LIMIT 1", array(
- 'newsid' => $newsId
- ));
- } else {
- $row = Database::queryFirst("SELECT newsid, title, content, dateline FROM news ORDER BY dateline DESC LIMIT 1");
- }
-
- // fetch the news to be shown
- if ($row !== false) {
- $this->newsId = $row['newsid'];
- $this->newsTitle = $row['title'];
- $this->newsContent = $row['content'];
- $this->newsDate = $row['dateline'];
- }
- return $row !== false;
- }
-
- /**
- * Save the given $newsTitle and $newsContent as POST'ed into the database.
- *
- */
- private function saveNews()
- {
- // check if news content were set by the user
- $newsTitle = Request::post('news-title');
- $newsContent = Request::post('news-content');
- if ($newsContent !== '' && $newsTitle !== '') {
- // we got title and content, save it to DB
- Database::exec("INSERT INTO news (dateline, title, content) VALUES (:dateline, :title, :content)", array(
- 'dateline' => time(),
- 'title' => $newsTitle,
- 'content' => $newsContent
- ));
- return true;
- } else {
- Message::addError('empty-field');
- return false;
- }
- }
-
- /**
- * Delete the news entry with ID $newsId
- *
- * @param int $newsId ID of the entry to be deleted.
- */
- private function delNews($newsId)
- {
- // sanity check: is newsId even numeric?
- if (!is_numeric($newsId)) {
- Message::addError('value-invalid', 'newsid', $newsId);
- } else {
- // check passed - do delete
- Database::exec("DELETE FROM news WHERE newsid = :newsid LIMIT 1", array(
- 'newsid' => $newsId
- ));
- Message::addSuccess('news-del-success');
- }
- Util::redirect('?do=News');
- }
-
-} \ No newline at end of file
diff --git a/modules/news/templates/page-news.html b/modules/news/templates/page-news.html
deleted file mode 100644
index 8e400498..00000000
--- a/modules/news/templates/page-news.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<div class="panel panel-default">
- <div class="panel-heading">
- {{lang_editNews}}
- </div>
- <div class="panel-body">
- <p>{{lang_newsIntro}}</p>
- <form action="?do=News&amp;action=save" method="post">
- <div class="form-group">
- <label for="news-title-id">{{lang_title}}</label>
- <input type="text" name="news-title" id ="news-title-id" class="form-control" placeholder="{{welcome}}" value="{{latestTitle}}">
- </div>
- <div class="form-group">
- <label for="news-content-id">{{lang_content}}</label>
- <textarea name="news-content" id ="news-content-id" class="form-control" rows="5" cols="30" placeholder="">{{latestContent}}</textarea>
- </div>
- <p>{{lang_latestUpdate}}: {{latestDate}}</p>
- <button class="btn btn-primary btn-sm" type="submit">{{lang_save}}</button>
- <input type="hidden" name="token" value="{{token}}">
- </form>
- </div>
-</div>
-
-<div class="panel panel-default">
- <div class="panel-heading">
- {{lang_newsOld}}
- </div>
- <div class="panel-body">
- <div class="table-responsive">
- <form method="post" action="?do=News&amp;action=delete">
- <input type="hidden" name="token" value="{{token}}">
- <table class="table table-stripped table-condensed">
- <thead>
- <tr>
- <th>{{lang_date}}</th>
- <th>{{lang_title}}</th>
- <th>{{lang_content}}</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- {{#list}}
- <tr {{#active}}class="active"{{/active}}>
- <td class="text-left nowrap">{{date}}</td>
- <td class="slx-ellipsis">{{title}}</td>
- <td class="slx-ellipsis">{{content}}</td>
- <td>
- <a class="btn btn-primary btn-xs" href="?do=news&amp;newsid={{newsid}}&amp;action=show"><span class="glyphicon glyphicon-share-alt"></span> {{lang_show}}</a>
- <button class="btn btn-danger btn-xs" type="submit" name="newsid" value="{{newsid}}"><span class="glyphicon glyphicon-remove"></span> {{lang_delete}}</button>
- </td>
- </tr>
- {{/list}}
- </tbody>
- </table>
- </form>
- </div>
- </div>
-</div>