mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 20:00:37 +02:00
Issue #2796 - New Forum Posts Menu query and shortcode fixes.
This commit is contained in:
@@ -54,21 +54,49 @@ if(!class_exists('forum_newforumposts_menu'))
|
|||||||
|
|
||||||
$forumList = implode(',', $this->forumObj->getForumPermList('view'));
|
$forumList = implode(',', $this->forumObj->getForumPermList('view'));
|
||||||
|
|
||||||
$qry = "
|
$qry = '';
|
||||||
SELECT
|
|
||||||
p.post_user, p.post_id, p.post_datestamp, p.post_user_anon, p.post_entry,
|
switch($this->menuPref['layout'])
|
||||||
t.*,
|
{
|
||||||
u.user_id, u.user_name, u.user_image, u.user_currentvisit,
|
case "minimal":
|
||||||
lu.user_name as thread_lastuser_username,
|
case "default":
|
||||||
f.forum_name, f.forum_sef
|
|
||||||
FROM `#forum_post` as p
|
$qry = "
|
||||||
|
SELECT
|
||||||
|
p.post_user, p.post_id, p.post_datestamp, p.post_user_anon, p.post_entry,
|
||||||
|
t.*,
|
||||||
|
u.user_id, u.user_name, u.user_image, u.user_currentvisit,
|
||||||
|
lu.user_name as thread_lastuser_username,
|
||||||
|
f.forum_name, f.forum_sef
|
||||||
|
FROM `#forum_post` as p
|
||||||
|
LEFT JOIN `#forum_thread` AS t ON t.thread_id = p.post_thread
|
||||||
|
LEFT JOIN `#forum` as f ON f.forum_id = t.thread_forum_id
|
||||||
|
LEFT JOIN `#user` AS u ON u.user_id = p.post_user
|
||||||
|
LEFT JOIN `#user` AS lu ON t.thread_lastuser = lu.user_id
|
||||||
|
WHERE {$max_age} p.post_forum IN ({$forumList})
|
||||||
|
ORDER BY p.post_datestamp DESC LIMIT 0, ".vartrue($this->menuPref['display'],10);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// standardized field names. thread_user_[user table fields without the '_')
|
||||||
|
default:
|
||||||
|
$qry = "
|
||||||
|
SELECT t.thread_id, t.thread_name, t.thread_datestamp, t.thread_user, t.thread_views, t.thread_lastpost, t.thread_lastuser, t.thread_total_replies, t.thread_active,
|
||||||
|
f.forum_id, f.forum_name, f.forum_class, f.forum_sef,
|
||||||
|
u.user_name as thread_user_username,
|
||||||
|
u.user_image as thread_user_userimage,
|
||||||
|
u.user_currentvisit as thread_user_usercurrentvisit,
|
||||||
|
fp.forum_class, fp.forum_sef as forum_parent_sef,
|
||||||
|
lp.user_name AS thread_lastuser_username
|
||||||
|
FROM #forum_thread AS t
|
||||||
|
LEFT JOIN #user AS u ON t.thread_user = u.user_id
|
||||||
|
LEFT JOIN #user AS lp ON t.thread_lastuser = lp.user_id
|
||||||
|
LEFT JOIN #forum AS f ON f.forum_id = t.thread_forum_id
|
||||||
|
LEFT JOIN #forum AS fp ON f.forum_parent = fp.forum_id
|
||||||
|
WHERE f.forum_id = t.thread_forum_id AND f.forum_class IN (".USERCLASS_LIST.")
|
||||||
|
AND fp.forum_class IN (".USERCLASS_LIST.")
|
||||||
|
ORDER BY t.thread_lastpost DESC LIMIT 0, ".vartrue($this->menuPref['display'],10);
|
||||||
|
}
|
||||||
|
|
||||||
LEFT JOIN `#forum_thread` AS t ON t.thread_id = p.post_thread
|
|
||||||
LEFT JOIN `#forum` as f ON f.forum_id = t.thread_forum_id
|
|
||||||
LEFT JOIN `#user` AS u ON u.user_id = p.post_user
|
|
||||||
LEFT JOIN `#user` AS lu ON t.thread_lastuser = lu.user_id
|
|
||||||
WHERE {$max_age} p.post_forum IN ({$forumList})
|
|
||||||
ORDER BY p.post_datestamp DESC LIMIT 0, ".vartrue($this->menuPref['display'],10);
|
|
||||||
|
|
||||||
return $qry;
|
return $qry;
|
||||||
}
|
}
|
||||||
@@ -131,6 +159,8 @@ if(!class_exists('forum_newforumposts_menu'))
|
|||||||
{
|
{
|
||||||
$row['thread_sef'] = $this->forumObj->getThreadSef($row);
|
$row['thread_sef'] = $this->forumObj->getThreadSef($row);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$sc->setScVar('postInfo', $row);
|
$sc->setScVar('postInfo', $row);
|
||||||
$sc->setVars($row);
|
$sc->setVars($row);
|
||||||
$list .= $tp->parseTemplate($template['item'], true, $sc);
|
$list .= $tp->parseTemplate($template['item'], true, $sc);
|
||||||
|
@@ -80,7 +80,8 @@
|
|||||||
|
|
||||||
function sc_post_author_avatar($parm=null)
|
function sc_post_author_avatar($parm=null)
|
||||||
{
|
{
|
||||||
return $this->sc_avatar($parm);
|
return e107::getParser()->toAvatar($this->postInfo, $parm);
|
||||||
|
// return $this->sc_avatar($parm);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @todo new thread/topic shortcodes
|
// @todo new thread/topic shortcodes
|
||||||
@@ -91,6 +92,46 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sc_topic_author_name($parm=null)
|
||||||
|
{
|
||||||
|
if($this->var['thread_user_username'])
|
||||||
|
{
|
||||||
|
return "<a href='" . e107::getUrl()->create('user/profile/view', array('name' => $this->postInfo['thread_user_username'], 'id' => $this->postInfo['thread_user'])) . "'>{$this->postInfo['thread_user_username']}</a>";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return '<b>' . e107::getParser()->toHTML($this->postInfo['thread_user_anon']) . '</b>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sc_topic_author_url($parm=null)
|
||||||
|
{
|
||||||
|
if(empty($this->var['thread_user_username']) || empty($this->var['thread_user']))
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return e107::getUrl()->create('user/profile/view', array('name' => $this->var['thread_user_username'], 'id' => $this->var['thread_user']));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function sc_topic_author_avatar($parm=null)
|
||||||
|
{
|
||||||
|
$arr = array(
|
||||||
|
'user_id' => $this->var['thread_user'], // standardized field names.
|
||||||
|
'user_name' => $this->var['thread_user_username'],
|
||||||
|
'user_image' => $this->var['thread_user_userimage'],
|
||||||
|
'user_currentvisit' => $this->var['thread_user_usercurrentvisit']
|
||||||
|
);
|
||||||
|
|
||||||
|
return e107::getParser()->toAvatar($arr, $parm);
|
||||||
|
// return $this->sc_avatar($parm);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function sc_topic_url($parm=null)
|
function sc_topic_url($parm=null)
|
||||||
{
|
{
|
||||||
return e107::url('forum', 'topic', $this->var);
|
return e107::url('forum', 'topic', $this->var);
|
||||||
|
@@ -14,7 +14,7 @@
|
|||||||
<a href='{POST_URL}'>{POST_AUTHOR_AVATAR: shape=circle}</a>
|
<a href='{POST_URL}'>{POST_AUTHOR_AVATAR: shape=circle}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class='media-body'>
|
<div class='media-body'>
|
||||||
<h4 class='media-header'><a href='{POST_URL}'>{POST_TOPIC}</a></h4>{POST_CONTENT}<br /><small class='text-muted muted'>".LAN_FORUM_MENU_001." {POST_AUTHOR} {POST_DATESTAMP}</small>
|
<h4 class='media-header'><a href='{POST_URL}'>{POST_TOPIC}</a></h4>{POST_CONTENT}<br /><small class='text-muted muted'>".LAN_FORUM_MENU_001." {POST_AUTHOR_NAME} {POST_DATESTAMP}</small>
|
||||||
</div></li>";
|
</div></li>";
|
||||||
$NEWFORUMPOSTS_MENU_TEMPLATE['default']['end'] = "</ul>";
|
$NEWFORUMPOSTS_MENU_TEMPLATE['default']['end'] = "</ul>";
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
$NEWFORUMPOSTS_MENU_TEMPLATE['main']['item'] = "<tr>
|
$NEWFORUMPOSTS_MENU_TEMPLATE['main']['item'] = "<tr>
|
||||||
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_ICON}</td>
|
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_ICON}</td>
|
||||||
<td style='width:45%' class='forumheader3'><a href='{POST_URL}'>{TOPIC_NAME}</a> <small class='smalltext'>(<a href='{FORUM_URL}'>{FORUM_NAME}</a>)</small></td>
|
<td style='width:45%' class='forumheader3'><a href='{POST_URL}'>{TOPIC_NAME}</a> <small class='smalltext'>(<a href='{FORUM_URL}'>{FORUM_NAME}</a>)</small></td>
|
||||||
<td style='width:15%; text-align:center' class='forumheader3'>{POST_AUTHOR_NAME}</td>
|
<td style='width:15%; text-align:center' class='forumheader3'>{TOPIC_AUTHOR_NAME}</td>
|
||||||
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_VIEWS}</td>
|
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_VIEWS}</td>
|
||||||
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_REPLIES}</td>
|
<td style='width:5%; text-align:center' class='forumheader3'>{TOPIC_REPLIES}</td>
|
||||||
<td style='width:25%; text-align:center' class='forumheader3'>{TOPIC_LASTPOST_AUTHOR}<br /><span class='smalltext'>{TOPIC_LASTPOST_DATE} </span></td>
|
<td style='width:25%; text-align:center' class='forumheader3'>{TOPIC_LASTPOST_AUTHOR}<br /><span class='smalltext'>{TOPIC_LASTPOST_DATE} </span></td>
|
||||||
|
Reference in New Issue
Block a user