1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-13 17:09:46 +01:00

Issue #2016 Fix for forum "New Post" indicator icon.

This commit is contained in:
Cameron 2016-11-17 16:13:31 -08:00
parent c16939639e
commit e5d9b896ca
3 changed files with 46 additions and 8 deletions

View File

@ -349,6 +349,9 @@ require_once(HEADERF);
$forumList = $forum->forumGetForumList();
$newflag_list = $forum->forumGetUnreadForums();
$sc->newFlagList = $newflag_list;
if (!$forumList)
{
$ns->tablerender(LAN_PLUGIN_FORUM_NAME, "<div style='text-align:center'>".LAN_FORUM_0067.'</div>', array('forum', '51'));

View File

@ -805,11 +805,37 @@ class e107forum
}
$this->clearReadThreads($postInfo['post_thread']);
return $postId;
}
/**
* Remove threadID from the 'viewed list' list of other users.
* @param $threadId
*/
private function clearReadThreads($threadId)
{
if(empty($threadId))
{
return false;
}
$sql = e107::getDb();
$threadId = intval($threadId);
$query = "UPDATE `#user_extended`
SET
user_plugin_forum_viewed = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', user_plugin_forum_viewed, ','), ',".$threadId.",', ','))
WHERE
FIND_IN_SET(".$threadId.", user_plugin_forum_viewed)
";
$sql->gen($query);
}
function threadAdd($threadInfo, $postInfo)
@ -1592,6 +1618,11 @@ class e107forum
SELECT DISTINCT f.forum_sub, ft.thread_forum_id FROM `#forum_thread` AS ft
LEFT JOIN `#forum` AS f ON f.forum_id = ft.thread_forum_id
WHERE ft.thread_lastpost > '.USERLV.' '.$viewed;
$ret = array();
// e107::getDebug()->log(e107::getParser()->toDate(USERLV,'relative'));
if($sql->gen($_newqry))
{
while($row = $sql->fetch())

View File

@ -12,6 +12,8 @@ class forum_shortcodes extends e_shortcode
{
private $forum_rules, $gen;
public $newFlagList;
function __construct()
{
$this->forum_rules = forum_rules('check');
@ -342,13 +344,11 @@ class forum_shortcodes extends e_shortcode
function sc_newflag()
{
global $newflag_list;
if(USER && is_array($newflag_list) && in_array($this->var['forum_id'], $newflag_list))
if(USER && is_array($this->newFlagList) && in_array($this->var['forum_id'], $this->newFlagList))
{
return "<a href='".e107::getInstance()->url->create('forum/forum/mfar', $this->var)."'>".IMAGE_new.'</a>';
$url = $this->lastpostdata('url');
return "<a href='".$url."'>".IMAGE_new.'</a>';
}
elseif(empty($this->var['forum_replies']) && defined('IMAGE_noreplies'))
{
@ -596,10 +596,14 @@ $gen = new convert;
break;
// $fVars->LASTPOSTDATE .= "<a href='".$url."'>". $gen->computeLapse($lastpost_datestamp, time(), false, false, 'short')."</a>";
case "date":
return "<a href='".$url."'>". $relativeDate."</a>";
case "date":
return "<a href='".$url."'>". $relativeDate."</a>";
break;
case "url":
return $url;
break;
// $fVars->LASTPOST = $lastpost_datestamp.'<br />'.$lastpost_name." <a href='".$e107->url->create('forum/thread/last', array('name' => $lastpost_name, 'id' => $lastpost_thread))."'>".IMAGE_post2.'</a>';
case 'post':