1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-25 17:01:43 +02:00

Viewable By shortcode added. Forum deleted template corrected.

This commit is contained in:
Cameron
2016-03-26 15:17:11 -07:00
parent e401e4b4ac
commit 2dedb86ba8
6 changed files with 164 additions and 10 deletions

View File

@@ -95,6 +95,17 @@ class user_class
}
public function getFixedClassDescription($id)
{
if(isset($this->fixed_classes[$id]))
{
return $this->fixed_classes[$id];
}
return false;
}
/**
* Take a key value such as 'member' and return it's numerical value.
* @param $text

View File

@@ -104,12 +104,12 @@ class e107forum
*/
}
/**
* Grab the forum data up front to reduce LEFT JOIN usage. Currently only forum_id and forum_sef but may be expanded as needed.
*/
function getForumData()
/**
* Grab the forum data up front to reduce LEFT JOIN usage. Currently only forum_id and forum_sef but may be expanded as needed.
*/
private function getForumData()
{
$data = e107::getDb()->retrieve("SELECT forum_id, forum_sef FROM `#forum`", true); // no ordering for better performance.
$data = e107::getDb()->retrieve("SELECT forum_id, forum_sef, forum_class FROM `#forum`", true); // no ordering for better performance.
$newData = array();
foreach($data as $row)
@@ -138,6 +138,32 @@ class e107forum
}
function getForumClassMembers($forumId, $type='view')
{
$fieldTypes = array('view' => 'forum_class');
$field = $fieldTypes[$type];
if(isset($this->forumData[$forumId][$field]))
{
$class = $this->forumData[$forumId]['forum_class'];
if($class == 0 || ($class > 250 && $class < 256))
{
return $class;
}
$qry = "SELECT user_id, user_name, user_class FROM `#user` WHERE FIND_IN_SET(".$class.", user_class) OR user_class = ".$class." ORDER by user_name LIMIT 50"; // FIND_IN_SET(user_class, ".$class.")
$users = e107::getDb()->retrieve($qry, true);
return $users;
}
return false;
}
/**
* @param $user integer userid (if empty "anon" will be used)

View File

@@ -339,6 +339,55 @@ else // v1.x
}
// ----------------- { VIEWABLE_BY } ---------------------------
if($users = $forum->getForumClassMembers($forumId))
{
$userList = array();
if(is_array($users))
{
foreach($users as $user)
{
$userList[] = "<a href='".e107::getUrl()->create('user/profile/view', $user)."'>".$user['user_name']."</a>";
}
$viewable = implode(', ', $userList);;
}
elseif($users == 0)
{
$viewable = '';
}
else
{
$viewable = e107::getUserClass()->getFixedClassDescription($users);
}
}
if(!empty($viewable))
{
$fVars->VIEWABLE_BY = "
<div class='panel panel-default' style='margin-top:10px'>
<div class='panel-heading'>Viewable by</div>
<div class='panel-body'>
".$viewable."
</div>
</div>
</div>
";
}
else
{
$fVars->VIEWABLE_BY = '';
}
// ------------------------------------------------------------
///TODO XXX All these $fVars items need to be put into a shortcode class so they can be parsed with parms and wrappers. Big Job!
$fVars->SEARCH = "
<form method='get' class='form-inline input-append' action='".e_BASE."search.php'>

View File

@@ -226,7 +226,8 @@ if(is_array($FORUM_VIEWTOPIC_TEMPLATE) && deftrue('BOOTSTRAP',false))
$FORUMSTART = $FORUM_VIEWTOPIC_TEMPLATE['start'];
$FORUMTHREADSTYLE = $FORUM_VIEWTOPIC_TEMPLATE['thread'];
$FORUMEND = $FORUM_VIEWTOPIC_TEMPLATE['end'];
$FORUMREPLYSTYLE = $FORUM_VIEWTOPIC_TEMPLATE['replies'];
$FORUMREPLYSTYLE = $FORUM_VIEWTOPIC_TEMPLATE['replies'];
$FORUMDELETEDSTYLE = $FORUM_VIEWTOPIC_TEMPLATE['deleted'];
}
//TODO Clean up this mess!!

View File

@@ -350,11 +350,18 @@ $FORUM_VIEWFORUM_TEMPLATE['footer'] = "</table>
<div class='col-md-5 span5 pull-left left' style='padding-top:10px'>{THREADPAGES}</div><div class='col-md-3 span3 pull-right right' style='padding-top:10px'>{NEWTHREADBUTTONX}</div>
</div>
<div class='panel panel-default' style='margin-top:50px'>
<div class='panel-body'>
{ICONKEY}
</div>
<div>
<div class='panel panel-default' style='margin-top:50px'>
<div class='panel-heading'>Status Keys</div>
<div class='panel-body'>
{ICONKEY}
</div>
</div>
</div>
{VIEWABLE_BY}
";
$FORUM_VIEWFORUM_TEMPLATE['end'] = "<!--- END --> \n";

View File

@@ -413,6 +413,66 @@ $FORUM_VIEWTOPIC_TEMPLATE['end'] = "</ul>
$FORUM_VIEWTOPIC_TEMPLATE['replies'] = $FORUM_VIEWTOPIC_TEMPLATE['thread'];
$FORUM_VIEWTOPIC_TEMPLATE['deleted'] = "
<li id='post-{POSTID}' class='forum-viewtopic-deleted forum-viewtopic-post'>
<div class='hidden-xs row row-fluid btn-navbar navbar-btn'>
{SETIMAGE: w=100&h=0&crop=0}
<div class='col-xs-2 span2 left text-left'>
<div class='row'>
<div class='col-xs-12 col-md-12 forum-user-combo'>{USERCOMBO}<br />{CUSTOMTITLE}</div>
</div>
{NEWFLAG} {ANON_IP}</div>
<div class='col-xs-4 col-sm-3 text-muted span4 text-muted muted'><small>{THREADDATESTAMP=relative}</small></div>
<div class='col-xs-5 text-muted span5 text-muted muted right text-right'><small>{LASTEDIT}{LASTEDITBY=link}</small></div>
<div class='col-xs-3 col-sm-2 span1 right text-right'>{POSTOPTIONS}</div>
</div>
<div class='row row-fluid' >
<div class='col-xs-12 col-md-2 span2 left'>
<div class='row'>
<div class='col-xs-3 col-md-12 text-center'>{AVATAR: shape=rounded}</div>
<div class='col-xs-6 visible-xs'>{USERCOMBO}<br />{CUSTOMTITLE}</div>
<div class='col-xs-6 col-md-12 hidden-xs'>
<small>
{LEVEL=badge} {LEVEL=glyph}
</small>
</div>
<div class='visible-xs col-xs-3'><div class='clearfix'>{POSTOPTIONS}</div><div class='pull-right '><br /><small class='text-muted'>{THREADDATESTAMP=relative}</small></div></div>
</div>
</div>
<div class='visible-xs col-xs-12'><hr /></div>
<div class='col-xs-12 col-md-9 span9 forum-thread-text '>
{POSTDELETED}
</div>
</div>
<div class='row row-fluid'>
<div class='col-xs-2 span2 finfobar'>
&nbsp;
</div>
<div class='col-xs-9 span9 finfobar' >
<small> {SIGNATURE=clean}</small>
</div>
<div class='col-xs-3 span3'>
</div>
</div>
</li>
";
$FORUM_VIEWTOPIC_WRAPPER['ATTACHMENTS'] = "<div class='alert alert-default alert-block'>{---}</div>";