engelsystem/includes/pages/user_news.php

166 lines
6.5 KiB
PHP
Raw Normal View History

2011-06-02 01:45:46 +02:00
<?php
2013-11-25 21:56:56 +01:00
function user_news_comments_title() {
return _("News comments");
}
2013-11-25 21:04:58 +01:00
function news_title() {
return _("News");
}
function meetings_title() {
return _("Meetings");
}
2011-06-03 06:47:35 +02:00
function user_meetings() {
2012-12-10 09:49:23 +01:00
global $DISPLAY_NEWS, $privileges, $user;
2014-12-06 17:42:29 +01:00
$html = '<div class="col-md-12"><h1>' . meetings_title() . '</h1>' . msg();
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page']))
2012-12-10 09:49:23 +01:00
$page = $_REQUEST['page'];
else
$page = 0;
2014-12-06 17:42:29 +01:00
2014-12-26 19:22:03 +01:00
$news = sql_select("SELECT * FROM `News` WHERE `Treffen`=1 ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
2012-12-10 09:49:23 +01:00
foreach ($news as $entry)
$html .= display_news($entry);
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
$html .= '<div class="text-center">' . '<ul class="pagination">';
for ($i = 0; $i < $dis_rows; $i ++) {
2012-12-10 09:49:23 +01:00
if (isset($_REQUEST['page']) && $i == $_REQUEST['page'])
2014-08-22 22:34:13 +02:00
$html .= '<li class="active">';
elseif (! isset($_REQUEST['page']) && $i == 0)
$html .= '<li class="active">';
2012-12-10 09:49:23 +01:00
else
2014-08-22 22:34:13 +02:00
$html .= '<li>';
$html .= '<a href="' . page_link_to("user_meetings") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
2012-12-10 09:49:23 +01:00
}
2014-08-22 22:34:13 +02:00
$html .= '</ul></div></div>';
2014-12-06 17:42:29 +01:00
2012-12-10 09:49:23 +01:00
return $html;
2011-06-03 06:47:35 +02:00
}
2011-06-03 05:12:50 +02:00
function display_news($news) {
2012-12-10 09:49:23 +01:00
global $privileges, $p;
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html = '';
$html .= '<div class="panel' . ($news['Treffen'] == 1 ? ' panel-info' : ' panel-default') . '">';
$html .= '<div class="panel-heading">';
$html .= '<h3 class="panel-title">' . ($news['Treffen'] == 1 ? '[Meeting] ' : '') . ReplaceSmilies($news['Betreff']) . '</h3>';
$html .= '</div>';
$html .= '<div class="panel-body">' . ReplaceSmilies(nl2br($news['Text'])) . '</div>';
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html .= '<div class="panel-footer text-muted">';
if (in_array("admin_news", $privileges))
2014-12-07 00:10:47 +01:00
$html .= '<div class="pull-right">' . button_glyph(page_link_to("admin_news") . '&action=edit&id=' . $news['ID'], 'edit', 'btn-xs') . '</div>';
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html .= '<span class="glyphicon glyphicon-time"></span> ' . date("Y-m-d H:i", $news['Datum']) . '&emsp;';
2014-12-06 17:42:29 +01:00
$user_source = User($news['UID']);
2014-08-22 22:34:13 +02:00
if ($user_source === false)
2013-11-28 22:40:48 +01:00
engelsystem_error(_("Unable to load user."));
2014-12-06 17:42:29 +01:00
$html .= User_Nick_render($user_source);
2012-12-10 09:49:23 +01:00
if ($p != "news_comments")
2014-08-22 22:34:13 +02:00
$html .= '&emsp;<a href="' . page_link_to("news_comments") . '&nid=' . $news['ID'] . '"><span class="glyphicon glyphicon-comment"></span> ' . _("Comments") . ' &raquo;</a> <span class="badge">' . sql_num_query("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($news['ID']) . "'") . '</span>';
$html .= '</div>';
$html .= '</div>';
2012-12-10 09:49:23 +01:00
return $html;
2011-06-02 01:45:46 +02:00
}
2011-06-03 05:12:50 +02:00
function user_news_comments() {
2012-12-10 09:49:23 +01:00
global $user;
2014-12-06 17:42:29 +01:00
$html = '<div class="col-md-12"><h1>' . user_news_comments_title() . '</h1>';
2014-12-28 13:44:56 +01:00
if (isset($_REQUEST["nid"]) && preg_match("/^[0-9]{1,}$/", $_REQUEST['nid']) && sql_num_query("SELECT * FROM `News` WHERE `ID`='" . sql_escape($_REQUEST['nid']) . "' LIMIT 1") > 0) {
2012-12-10 09:49:23 +01:00
$nid = $_REQUEST["nid"];
2014-12-28 13:44:56 +01:00
list($news) = sql_select("SELECT * FROM `News` WHERE `ID`='" . sql_escape($nid) . "' LIMIT 1");
2014-08-22 22:34:13 +02:00
if (isset($_REQUEST["text"])) {
2012-12-10 09:49:23 +01:00
$text = preg_replace("/([^\p{L}\p{P}\p{Z}\p{N}\n]{1,})/ui", '', strip_tags($_REQUEST['text']));
2014-01-05 20:04:09 +01:00
sql_query("INSERT INTO `NewsComments` (`Refid`, `Datum`, `Text`, `UID`) VALUES ('" . sql_escape($nid) . "', '" . date("Y-m-d H:i:s") . "', '" . sql_escape($text) . "', '" . sql_escape($user["UID"]) . "')");
2012-12-26 19:53:27 +01:00
engelsystem_log("Created news_comment: " . $text);
2013-11-25 21:56:56 +01:00
$html .= success(_("Entry saved."), true);
2012-12-10 09:49:23 +01:00
}
2014-12-06 17:42:29 +01:00
2012-12-10 09:49:23 +01:00
$html .= display_news($news);
2014-12-06 17:42:29 +01:00
2014-01-05 20:04:09 +01:00
$comments = sql_select("SELECT * FROM `NewsComments` WHERE `Refid`='" . sql_escape($nid) . "' ORDER BY 'ID'");
2012-12-10 09:49:23 +01:00
foreach ($comments as $comment) {
$user_source = User($comment['UID']);
2014-08-22 22:34:13 +02:00
if ($user_source === false)
2013-11-28 22:40:48 +01:00
engelsystem_error(_("Unable to load user."));
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html .= '<div class="panel panel-default">';
$html .= '<div class="panel-body">' . nl2br($comment['Text']) . '</div>';
$html .= '<div class="panel-footer text-muted">';
$html .= '<span class="glyphicon glyphicon-time"></span> ' . $comment['Datum'] . '&emsp;';
$html .= User_Nick_render($user_source);
2014-08-22 22:34:13 +02:00
$html .= '</div>';
$html .= '</div>';
2012-12-10 09:49:23 +01:00
}
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html .= '<hr /><h2>' . _("New Comment:") . '</h2>';
$html .= form(array(
form_textarea('text', _("Message"), ''),
2014-12-06 17:42:29 +01:00
form_submit('submit', _("Save"))
2014-08-22 22:34:13 +02:00
), page_link_to('news_comments') . '&nid=' . $news['ID']);
2014-12-06 17:42:29 +01:00
2012-12-10 09:49:23 +01:00
} else {
2013-11-28 23:21:25 +01:00
$html .= _("Invalid request.");
2012-12-10 09:49:23 +01:00
}
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
return $html . '</div>';
2011-06-03 05:12:50 +02:00
}
2011-06-02 01:45:46 +02:00
2011-06-03 05:12:50 +02:00
function user_news() {
2012-12-10 09:49:23 +01:00
global $DISPLAY_NEWS, $privileges, $user;
2014-12-06 17:42:29 +01:00
$html = '<div class="col-md-12"><h1>' . news_title() . '</h1>' . msg();
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
if (isset($_POST["text"]) && isset($_POST["betreff"]) && in_array("admin_news", $privileges)) {
if (! isset($_POST["treffen"]) || ! in_array("admin_news", $privileges))
2012-12-10 09:49:23 +01:00
$_POST["treffen"] = 0;
2014-08-22 22:34:13 +02:00
sql_query("INSERT INTO `News` (`Datum`, `Betreff`, `Text`, `UID`, `Treffen`) " . "VALUES ('" . sql_escape(time()) . "', '" . sql_escape($_POST["betreff"]) . "', '" . sql_escape($_POST["text"]) . "', '" . sql_escape($user['UID']) . "', '" . sql_escape($_POST["treffen"]) . "');");
2012-12-26 19:53:27 +01:00
engelsystem_log("Created news: " . $_POST["betreff"] . ", treffen: " . $_POST["treffen"]);
2013-11-25 21:04:58 +01:00
success(_("Entry saved."));
2014-05-13 14:44:04 +02:00
redirect(page_link_to('news'));
2012-12-10 09:49:23 +01:00
}
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
if (isset($_REQUEST['page']) && preg_match("/^[0-9]{1,}$/", $_REQUEST['page']))
2012-12-10 09:49:23 +01:00
$page = $_REQUEST['page'];
else
$page = 0;
2014-12-06 17:42:29 +01:00
2014-12-26 18:39:16 +01:00
$news = sql_select("SELECT * FROM `News` ORDER BY `Datum` DESC LIMIT " . sql_escape($page * $DISPLAY_NEWS) . ", " . sql_escape($DISPLAY_NEWS));
2012-12-10 09:49:23 +01:00
foreach ($news as $entry)
$html .= display_news($entry);
2014-12-06 17:42:29 +01:00
2012-12-10 09:49:23 +01:00
$dis_rows = ceil(sql_num_query("SELECT * FROM `News`") / $DISPLAY_NEWS);
2014-08-22 22:34:13 +02:00
$html .= '<div class="text-center">' . '<ul class="pagination">';
for ($i = 0; $i < $dis_rows; $i ++) {
2012-12-10 09:49:23 +01:00
if (isset($_REQUEST['page']) && $i == $_REQUEST['page'])
2014-08-22 22:34:13 +02:00
$html .= '<li class="active">';
elseif (! isset($_REQUEST['page']) && $i == 0)
$html .= '<li class="active">';
2012-12-10 09:49:23 +01:00
else
2014-08-22 22:34:13 +02:00
$html .= '<li>';
$html .= '<a href="' . page_link_to("news") . '&page=' . $i . '">' . ($i + 1) . '</a></li>';
2012-12-10 09:49:23 +01:00
}
2014-08-22 22:34:13 +02:00
$html .= '</ul></div>';
2014-12-06 17:42:29 +01:00
2012-12-10 09:49:23 +01:00
if (in_array("admin_news", $privileges)) {
2014-08-22 22:34:13 +02:00
$html .= '<hr />';
$html .= '<h2>' . _("Create news:") . '</h2>';
2014-12-06 17:42:29 +01:00
2014-08-22 22:34:13 +02:00
$html .= form(array(
form_text('betreff', _("Subject"), ''),
form_textarea('text', _("Message"), ''),
form_checkbox('treffen', _("Meeting"), false, 1),
2014-12-06 17:42:29 +01:00
form_submit('submit', _("Save"))
2014-08-22 22:34:13 +02:00
));
2012-12-10 09:49:23 +01:00
}
2014-08-22 22:34:13 +02:00
return $html . '</div>';
2011-06-02 01:45:46 +02:00
}
2014-12-06 17:42:29 +01:00
?>