Skip to content

Commit

Permalink
Announcements — For #2972 (#2987)
Browse files Browse the repository at this point in the history
* For #2972

* added whitespace

* remove htmlspecialchars_uni
  • Loading branch information
Mark Vincent authored and euantorano committed Jan 14, 2018
1 parent 1a00bdc commit e0d9afc
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 34 deletions.
61 changes: 27 additions & 34 deletions announcements.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,39 +8,36 @@
*
*/

define("IN_MYBB", 1);
define('IN_MYBB', 1);
define('THIS_SCRIPT', 'announcements.php');

$templatelist = "announcement,postbit_groupimage,postbit_reputation,postbit_avatar,postbit_online,postbit_offline,postbit_away,postbit_find,postbit_pm,postbit_email,postbit_author_user";
$templatelist .= ",forumdisplay_password_wrongpass,forumdisplay_password,postbit_author_guest,postbit_userstar,announcement_quickdelete,postbit,postbit_classic,postbit_www,announcement_edit";
$templatelist = 'announcement,postbit_groupimage,postbit_reputation,postbit_avatar,postbit_online,postbit_offline,postbit_away,postbit_find,postbit_pm,postbit_email,postbit_author_user';
$templatelist .= ',forumdisplay_password_wrongpass,forumdisplay_password,postbit_author_guest,postbit_userstar,announcement_quickdelete,postbit,postbit_classic,postbit_www,announcement_edit';

require_once "./global.php";
require_once MYBB_ROOT."inc/functions_post.php";
require_once './global.php';
require_once MYBB_ROOT . 'inc/functions_post.php';

// Load global language phrases
$lang->load("announcements");
$lang->load('announcements');

$aid = $mybb->get_input('aid', MyBB::INPUT_INT);

// Get announcement fid
$query = $db->simple_select("announcements", "fid", "aid='$aid'");
$query = $db->simple_select('announcements', 'fid', "aid='{$aid}'");
$announcement = $db->fetch_array($query);

$plugins->run_hooks("announcements_start");
$plugins->run_hooks('announcements_start');

if(!$announcement)
{
if (!$announcement) {
error($lang->error_invalidannouncement);
}

// Get forum info
$fid = $announcement['fid'];
if($fid > 0)
{
if ($fid > 0) {
$forum = get_forum($fid);

if(!$forum)
{
if (!$forum) {
error($lang->error_invalidforum);
}

Expand All @@ -50,8 +47,8 @@
// Permissions
$forumpermissions = forum_permissions($forum['fid']);

if($forumpermissions['canview'] == 0 || $forumpermissions['canviewthreads'] == 0)
{
if ($forumpermissions['canview'] == 0 ||
$forumpermissions['canviewthreads'] == 0) {
error_no_permission();
}

Expand All @@ -60,7 +57,7 @@
}
add_breadcrumb($lang->nav_announcements);

$archive_url = build_archive_link("announcement", $aid);
$archive_url = build_archive_link('announcement', $aid);

// Get announcement info
$time = TIME_NOW;
Expand All @@ -70,13 +67,12 @@
FROM ".TABLE_PREFIX."announcements a
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=a.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
WHERE a.startdate<='$time' AND (a.enddate>='$time' OR a.enddate='0') AND a.aid='$aid'
WHERE a.startdate<='{$time}' AND (a.enddate>='{$time}' OR a.enddate='0') AND a.aid='{$aid}'
");

$announcementarray = $db->fetch_array($query);

if(!$announcementarray)
{
if (!$announcementarray) {
error($lang->error_invalidannouncement);
}

Expand All @@ -92,37 +88,34 @@
'usereputationsystem' => 'usereputationsystem'
);

foreach($data_key as $field => $key)
{
foreach ($data_key as $field => $key) {
$announcementarray[$key] = $groupscache[$announcementarray['usergroup']][$field];
}

$announcementarray['dateline'] = $announcementarray['startdate'];
$announcementarray['userusername'] = $announcementarray['username'];
$announcement = build_postbit($announcementarray, 3);
$announcementarray['subject'] = $parser->parse_badwords($announcementarray['subject']);
$lang->forum_announcement = $lang->sprintf($lang->forum_announcement, htmlspecialchars_uni($announcementarray['subject']));
$lang->forum_announcement = $lang->sprintf($lang->forum_announcement, $announcementarray['subject']);

if($announcementarray['startdate'] > $mybb->user['lastvisit'])
{
if ($announcementarray['startdate'] > $mybb->user['lastvisit']) {
$setcookie = true;
if(isset($mybb->cookies['mybb']['announcements']) && is_scalar($mybb->cookies['mybb']['announcements']))
{
if (isset($mybb->cookies['mybb']['announcements']) &&
is_scalar($mybb->cookies['mybb']['announcements'])) {
$cookie = my_unserialize(stripslashes($mybb->cookies['mybb']['announcements']));

if(isset($cookie[$announcementarray['aid']]))
{
if (isset($cookie[$announcementarray['aid']])) {
$setcookie = false;
}
}

if($setcookie)
{
if ($setcookie) {
my_set_array_cookie('announcements', $announcementarray['aid'], $announcementarray['startdate'], -1);
}
}

$plugins->run_hooks("announcements_end");
$plugins->run_hooks('announcements_end');

eval("\$forumannouncement = \"".$templates->get("announcement")."\";");
output_page($forumannouncement);
output_page(\MyBB\template('announcements/announcements.twig', [
'announcement' => $announcement,
]));
30 changes: 30 additions & 0 deletions inc/views/base/announcements/announcements.twig
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{% extends 'layouts/master.twig' %}

{% block head %}
<title>{{ mybb.settings.bbname }} - {{ lang.forum_announcement }}</title>
{% endblock head %}

{% block body %}

<table border="0" cellspacing="{{ theme.borderwidth }}" cellpadding="{{ theme.tablespace }}" class="tborder tfixed clear no_bottom_border">
<tr>
<td class="thead">
<strong>{{ lang.forum_announcement }}</strong>
</td>
</tr>
<tr>
<td id="posts_container">
<div id="posts">
{{ announcement|raw }}
</div>
</td>
</tr>
</table>

<script type="text/javascript">
$(".author_avatar img").error(function () {
$(this).unbind("error").closest('.author_avatar').remove();
});
</script>

{% endblock body %}

0 comments on commit e0d9afc

Please sign in to comment.