Version 4.7.0
This commit is contained in:
1 parent
517a5e1f70
commit
8ba7d43898
1933 files changed
+65613
-11332
No files matched your search
@@ -25,18 +25,23 @@
|
||||
</ol>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="forums" template_name="forumButtons" template_data="$forum" template_location="front" template_app="forums"><![CDATA[{{if $forum->can('add')}}
|
||||
<template template_group="forums" template_name="forumButtons" template_data="$forum" template_location="front" template_app="forums"><![CDATA[{{if $forum->isCombinedView()}}
|
||||
<li class='ipsToolList_primaryAction'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{$forum->url()->setQueryString( [ 'do' => 'createMenu', 'root' => $forum->id ] )}" data-ipsDialog-title='{lang="select_forum"}' data-ipsDialog data-ipsDialog-size='narrow' title='{lang="topic_create"}' rel='nofollow noindex'>{lang="start_new_topic"}</a>
|
||||
</li>
|
||||
{{elseif $forum->can('add')}}
|
||||
<li class='ipsToolList_primaryAction'>
|
||||
{{if $forum->forums_bitoptions['bw_enable_answers']}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{$forum->url()->setQueryString( 'do', 'add' )}" title='{lang="ask_a_question_desc"}'>{lang="ask_a_question"}</a>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{$forum->url()->setQueryString( 'do', 'add' )}" title='{lang="ask_a_question_desc"}' rel='nofollow noindex'>{lang="ask_a_question"}</a>
|
||||
{{else}}
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{$forum->url()->setQueryString( 'do', 'add' )}" title='{lang="start_new_topic_desc"}'>{lang="start_new_topic"}</a>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{$forum->url()->setQueryString( 'do', 'add' )}" title='{lang="start_new_topic_desc"}' rel='nofollow noindex'>{lang="start_new_topic"}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $forum->sub_can_post}}
|
||||
{template="viewChangeList" group="global" app="forums" params="$forum"}
|
||||
{{endif}}]]></template>
|
||||
{{endif}}
|
||||
]]></template>
|
||||
<template template_group="forums" template_name="forumDisplay" template_data="$forum, $table" template_location="front" template_app="forums"><![CDATA[
|
||||
{{if $club = $forum->club()}}
|
||||
{{if settings.clubs and settings.clubs_header == 'full'}}
|
||||
@@ -49,6 +54,9 @@
|
||||
{{$followerCount = \IPS\forums\Topic::containerFollowerCount( $forum );}}
|
||||
<div class="ipsPageHeader {{if $forum->feature_color}}ipsPageHeader--hasFeatureColor{{endif}} ipsBox ipsResponsive_pull ipsPadding ipsClearfix" {{if $forum->feature_color}}style="border-color: {$forum->feature_color}"{{endif}}>
|
||||
<header>
|
||||
{{if \IPS\Application::appIsEnabled('cloud') }}
|
||||
<div data-controller='cloud.front.realtime.whosViewing' data-location='{expression="\IPS\cloud\Realtime::i()->getLocationHash()"}' data-visibleClass='ipsMargin_bottom:half'></div>
|
||||
{{endif}}
|
||||
<h1 class="ipsType_pageTitle">{$forum->_title}</h1>
|
||||
{{if $forum->description}}
|
||||
{template="richText" group="global" app="core" location="global" params="$forum->description, array('ipsType_normal')"}
|
||||
@@ -73,7 +81,7 @@
|
||||
</header>
|
||||
</div>
|
||||
|
||||
{{if $forum->children()}}
|
||||
{{if ! $forum->isCombinedView() and $forum->children()}}
|
||||
<div class='ipsList_reset cForumList ipsBox ipsSpacer_bottom ipsResponsive_pull' data-controller='core.global.core.table, forums.front.forum.forumList' data-baseURL=''>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{{if $forum->sub_can_post}}{lang="subforums_header"}{{else}}{lang="subforums_header_category"}{{endif}}</h2>
|
||||
{{if \IPS\forums\Forum::getMemberView() === 'grid'}}
|
||||
@@ -103,9 +111,11 @@
|
||||
{{if \IPS\Member::loggedIn()->member_id || !\IPS\Request::i()->advancedSearchForm && $forum->sub_can_post and !$forum->password}}
|
||||
<div class='ipsBox ipsPadding ipsResponsive_pull ipsResponsive_showPhone ipsMargin_vertical'>
|
||||
<div class='ipsGap_row:3'>
|
||||
{{if \IPS\Member::loggedIn()->member_id}}
|
||||
<div>
|
||||
<a href="{$forum->url()->setQueryString( array( 'do' => 'markRead', 'fromForum' => 1 ) )->csrf()}" title='{lang="mark_forum_read_title"}' class='ipsButton ipsButton_verySmall ipsButton_link ipsButton_fullWidth'><i class="fa fa-check"></i> {lang="mark_forum_read"}</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if !\IPS\Request::i()->advancedSearchForm && $forum->sub_can_post and !$forum->password}}
|
||||
<div>
|
||||
{template="follow" app="core" group="global" params="'forums','forum', $forum->_id, $followerCount"}
|
||||
@@ -257,11 +267,11 @@
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page', 1)}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage('page', 1)}" rel="nofollow">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' rel="nofollow" data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -272,11 +282,11 @@
|
||||
<a href="#elFilterByMenu_menu" id="elFilterByMenu_{$table->uniqueId}" data-role='tableFilterMenu' data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="filter_by"} <i class="fa fa-caret-down"></i></a>
|
||||
<ul class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide' data-role="tableFilterMenu" id='elFilterByMenu_{$table->uniqueId}_menu'>
|
||||
<li data-action="tableFilter" data-ipsMenuValue='' class='ipsMenu_item {{if !$table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page', 1)}'>{lang="{$table->langPrefix}all"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page', 1)}' rel="nofollow">{lang="{$table->langPrefix}all"}</a>
|
||||
</li>
|
||||
{{foreach $table->filters as $k => $q}}
|
||||
<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if $k === $table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page', 1)}'>{lang="{$table->langPrefix}{$k}"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage('page', 1)}' rel="nofollow">{lang="{$table->langPrefix}{$k}"}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
@@ -309,7 +319,7 @@
|
||||
<p class='ipsType_reset ipsType_large ipsMargin_bottom'>{{if $table->container()->forums_bitoptions['bw_enable_answers']}}{lang="no_questions_in_forum"}{{else}}{lang="no_topics_in_forum"}{{endif}}</p>
|
||||
|
||||
{{if $table->container()->can('add')}}
|
||||
<a href='{$table->container()->url()->setQueryString( 'do', 'add' )}' class='ipsButton ipsButton_primary ipsButton_medium'>
|
||||
<a href='{$table->container()->url()->setQueryString( 'do', 'add' )}' rel="nofollow" class='ipsButton ipsButton_primary ipsButton_medium'>
|
||||
{{if $table->container()->forums_bitoptions['bw_enable_answers']}}
|
||||
{lang="submit_first_question"}
|
||||
{{else}}
|
||||
@@ -754,6 +764,22 @@
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</div>
|
||||
{{if \IPS\Settings::i()->core_datalayer_enabled}}
|
||||
<script>
|
||||
if ( IpsDataLayerConfig && !window.IpsDataLayerConfig && IpsDataLayerConfig._events.content_view.enabled ) {
|
||||
$('body').trigger( 'ipsDataLayer', {
|
||||
_key: 'content_view',
|
||||
_properties: {
|
||||
{{foreach $topic->getDataLayerProperties() as $key => $value}}
|
||||
'{$key}' : {{if \is_numeric($value)}} {$value} {{else}} "{$value}" {{endif}},
|
||||
{{endforeach}}
|
||||
page_number : null,
|
||||
view_location: 'hovercard',
|
||||
}
|
||||
} );
|
||||
}
|
||||
</script>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="forums" template_name="topicRow" template_data="$table, $headers, $rows" template_location="front" template_app="forums"><![CDATA[{{$rowIds = array();}}
|
||||
{{foreach $rows as $row}}
|
||||
@@ -804,7 +830,7 @@
|
||||
</li>
|
||||
{{endif}}
|
||||
{{else}}
|
||||
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->groupsPosted}}ipsDataItem_highlighted{{endif}} {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden()}}ipsModerated{{endif}}" data-rowID='{$row->$idField}'>
|
||||
<li class="ipsDataItem ipsDataItem_responsivePhoto {{if $row->groupsPosted}}ipsDataItem_highlighted{{endif}} {{if $row->unread()}}ipsDataItem_unread{{endif}} {{if method_exists( $row, 'tableClass' ) && $row->tableClass()}}ipsDataItem_{$row->tableClass()}{{endif}} {{if $row->hidden()}}ipsModerated{{endif}}" data-rowID='{$row->$idField}' data-location='{$row->locationHash}' data-controller='forums.front.forum.topicRow'>
|
||||
{{if member.member_id}}
|
||||
<div class='ipsDataItem_icon ipsPos_top'>
|
||||
{{if $row->unread()}}
|
||||
@@ -876,6 +902,7 @@
|
||||
{$row->commentPagination( array(), 'miniPagination' )|raw}
|
||||
{{endif}}
|
||||
</h4>
|
||||
<span data-role="activeUsers"></span>
|
||||
<div class='ipsDataItem_meta ipsType_reset ipsType_light ipsType_blendLinks'>
|
||||
<span>
|
||||
{lang="byline_itemprop" htmlsprintf="$row->author()->link( NULL, NULL, $row->isAnonymous() )"}
|
||||
@@ -896,7 +923,7 @@
|
||||
</li>
|
||||
{{endif}}
|
||||
{{foreach $row->stats(FALSE) as $k => $v}}
|
||||
<li {{if $k == 'num_views'}}class='ipsType_light'{{elseif \in_array( $k, $row->hotStats )}}class="ipsDataItem_stats_hot" data-text='{lang="hot_item"}' data-ipsTooltip title='{lang="hot_item_desc"}'{{endif}}>
|
||||
<li {{if $k == 'num_views'}}class='ipsType_light'{{elseif \in_array( $k, $row->hotStats )}}class="ipsDataItem_stats_hot" data-text='{lang="hot_item"}' data-ipsTooltip title='{lang="hot_item_desc"}'{{endif}} data-statType='{$k}'>
|
||||
<span class='ipsDataItem_stats_number'>{number="$v" format="short"}</span>
|
||||
<span class='ipsDataItem_stats_type'>{lang="{$k}" pluralize="$v" format="short"}</span>
|
||||
{{if ( $k == 'forums_comments' OR $k == 'answers_no_number' ) && \IPS\forums\Topic::modPermission( 'unhide', NULL, $row->container() ) AND $unapprovedComments = $row->mapped('unapproved_comments')}}
|
||||
@@ -1079,14 +1106,16 @@
|
||||
|
||||
<div class='ipsTopicSnippet__stats-align ipsFlex-flex:00 ipsFlex ipsFlex-ai:center'>
|
||||
|
||||
<ul class='ipsTopicSnippet__stats ipsFlex ipsFlex-ai:center ipsList_reset'>
|
||||
<ul class='ipsTopicSnippet__stats ipsFlex ipsFlex-ai:center ipsFlex-fw:wrap ipsList_reset'>
|
||||
{{if $row->groupsPosted}}
|
||||
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
|
||||
<li>
|
||||
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $row->followerCount}}
|
||||
<li class='ipsType_light'>
|
||||
<span class='ipsDataItem_stats_type'>
|
||||
<a href='{url="app=core&module=system&controller=notifications&do=followers&follow_app=forums&follow_area=topic&follow_id={$row->tid}"}' title='{lang="followers_tooltip"}' class='ipsType_blendLinks ipsType_noUnderline' data-ipsTooltip data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="who_follows_this"}'>{lang="topic_follower_count" pluralize="$row->followerCount"}</a>
|
||||
<a href='{url="app=core&module=system&controller=notifications&do=followers&follow_app=forums&follow_area=topic&follow_id={$row->tid}"}' rel="nofollow" title='{lang="followers_tooltip"}' class='ipsType_blendLinks ipsType_noUnderline' data-ipsTooltip data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="who_follows_this"}'>{lang="topic_follower_count" pluralize="$row->followerCount"}</a>
|
||||
</span>
|
||||
</li>
|
||||
{{endif}}
|
||||
@@ -1240,8 +1269,10 @@
|
||||
</a>
|
||||
</h4>
|
||||
<ul class='ipsList_inline ipsType_light'>
|
||||
{{$count = \IPS\forums\Topic::contentCount( $row, TRUE );}}
|
||||
<li>{lang="posts_number" pluralize="$count"}</li>
|
||||
{{if $row->memberCanAccessOthersTopics( \IPS\Member::loggedIn() ) }}
|
||||
{{$count = \IPS\forums\Topic::contentCount( $row, TRUE );}}
|
||||
<li>{lang="posts_number" pluralize="$count"}</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1608,7 +1639,7 @@
|
||||
<div>
|
||||
<ul class='ipsList_reset'>
|
||||
<li class='ipsDataItem_lastPoster__title'><a href="{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getNewComment' )}{{else}}{$lastPost['topic_url']}{{endif}}" class='ipsType_break' title='{$lastPost['topic_title']}'>{$lastPost['topic_title']}</a></li>
|
||||
<li class='ipsType_light ipsTruncate ipsTruncate_line'>{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"}, <a href='{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}' title='{lang="get_last_post"}' class='ipsType_blendLinks'>{datetime="$lastPost['date']"}</a></li>
|
||||
<li class='ipsType_light ipsTruncate ipsTruncate_line'>{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"}, <a href='{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}{{else}}{$lastPost['topic_url']}{{endif}}' title='{lang="get_last_post"}' class='ipsType_blendLinks'>{datetime="$lastPost['date']"}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1723,7 +1754,7 @@
|
||||
{lang="byline_nodate" htmlsprintf="$lastPost['author']->link()"},
|
||||
{{endif}}
|
||||
{{if $lastPost['topic_title']}}
|
||||
<a href='{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}' title='{lang="get_last_post"}'>{datetime="$lastPost['date']"}</a>
|
||||
<a href='{{if member.member_id}}{$lastPost['topic_url']->setQueryString( 'do', 'getLastComment' )}{{else}}{$lastPost['topic_url']}{{endif}}' title='{lang="get_last_post"}'>{datetime="$lastPost['date']"}</a>
|
||||
{{else}}
|
||||
{datetime="$lastPost['date']"}
|
||||
{{endif}}
|
||||
@@ -1819,13 +1850,13 @@
|
||||
<template template_group="index" template_name="indexButtons" template_data="$showViewButtons=TRUE, $showFilterButton=FALSE" template_location="front" template_app="forums"><![CDATA[
|
||||
{{if $showFilterButton}}
|
||||
<li class='ipsToolList_primaryAction ipsResponsive_hideDesktop ipsResponsive_block'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_link ipsButton_fullWidth" href="#" data-ipsDialog data-ipsDialog-title='{lang="forums_simple_dialog_title"}' data-ipsDialog-content='#elFluidFormFilters'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_link ipsButton_fullWidth" href="#" rel="nofollow" data-ipsDialog data-ipsDialog-title='{lang="forums_simple_dialog_title"}' data-ipsDialog-content='#elFluidFormFilters'>
|
||||
<span data-role='fluidForumMobileDesc'>{lang="forums_simple_filter_by"}</span> <i class='fa fa-angle-down'></i></a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if \IPS\forums\Forum::canOnAny('add')}}
|
||||
<li class='ipsToolList_primaryAction ipsResponsive_hideTablet'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=forums&module=forums&controller=forums&do=add"}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="select_forum"}'>{lang="start_new_topic"}</a>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important ipsButton_fullWidth" href="{url="app=forums&module=forums&controller=forums&do=add"}" rel="nofollow" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="select_forum"}'>{lang="start_new_topic"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
|
||||
@@ -1861,17 +1892,43 @@
|
||||
</ul>
|
||||
{{endif}}
|
||||
<ul class="ipsButtonRow ipsPos_right ipsClearfix">
|
||||
{{if settings.forums_view_list_choose and member.member_id}}
|
||||
{{$chosen = \IPS\forums\Forum::getMemberListView();}}
|
||||
<li>
|
||||
<a href="#elViewByMenu" id="elViewByMenu" data-role="viewButton" data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="view"} <i class="fa fa-caret-down"></i></a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elViewByMenu_menu">
|
||||
<li class="ipsMenu_item {{if $chosen === 'list'}}ipsMenu_itemChecked{{endif}}">
|
||||
{{if ! empty(request.id)}}
|
||||
<a href="{url="app=forums&module=forums&controller=forums&do=setMethod&method=list" csrf="true"}&id={request="id"}">
|
||||
{{else}}
|
||||
<a href="{url="app=forums&module=forums&controller=forums&do=setMethod&method=list" csrf="true"}">
|
||||
{{endif}}
|
||||
{lang="forums_topic_list_list"}
|
||||
</a>
|
||||
</li>
|
||||
<li class="ipsMenu_item {{if $chosen === 'snippet'}}ipsMenu_itemChecked{{endif}}">
|
||||
{{if ! empty(request.id)}}
|
||||
<a href="{url="app=forums&module=forums&controller=forums&do=setMethod&method=snippet" csrf="true"}&id={request="id"}">
|
||||
{{else}}
|
||||
<a href="{url="app=forums&module=forums&controller=forums&do=setMethod&method=snippet" csrf="true"}">
|
||||
{{endif}}
|
||||
{lang="forums_topic_list_snippet"}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if isset( $table->sortOptions ) and !empty( $table->sortOptions ) }}
|
||||
<li>
|
||||
<a href="#elSortByMenu_menu" id="elSortByMenu_{$table->uniqueId}" data-role='sortButton' data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="sort_by"} <i class="fa fa-caret-down"></i></a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide" id="elSortByMenu_{$table->uniqueId}_menu">
|
||||
{{$custom = TRUE;}}
|
||||
{{foreach $table->sortOptions as $k => $col}}
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage( 'page', 1 )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
<li class="ipsMenu_item {{if $col === $table->getSortByColumn()}}{{$custom = FALSE;}}ipsMenu_itemChecked{{endif}}" data-ipsMenuValue="{$col}" data-sortDirection='{$table->getSortDirection( $col )}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => $table->getSortDirection( $col ) ) )->setPage( 'page', 1 )}" rel="nofollow">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}'>{lang="custom"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'advancedSearchForm' => '1', 'filter' => $table->filter, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )}' data-ipsDialog data-ipsDialog-title='{lang="custom_sort"}' rel="nofollow">{lang="custom"}</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -1882,18 +1939,18 @@
|
||||
<a href="#elFilterByMenu_menu" id="elFilterByMenu_{$table->uniqueId}" data-role='tableFilterMenu' data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active" data-ipsMenu-selectable="radio">{lang="filter_by"} <i class="fa fa-caret-down"></i></a>
|
||||
<ul class='ipsMenu ipsMenu_auto ipsMenu_withStem ipsMenu_selectable ipsHide' data-role="tableFilterMenu" id='elFilterByMenu_{$table->uniqueId}_menu'>
|
||||
<li data-action="tableFilter" data-ipsMenuValue='' class='ipsMenu_item {{if !$table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage( 'page', 1 )}'>{lang="{$table->langPrefix}all"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => '', 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection ) )->setPage( 'page', 1 )}' rel="nofollow">{lang="{$table->langPrefix}all"}</a>
|
||||
</li>
|
||||
{{foreach $table->filters as $k => $q}}
|
||||
<li data-action="tableFilter" data-ipsMenuValue='{$k}' class='ipsMenu_item {{if $k === $table->filter}}ipsMenu_itemChecked{{endif}}'>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection) )->setPage( 'page', 1 )}'>{lang="{$table->langPrefix}{$k}"}</a>
|
||||
<a href='{$table->baseUrl->setQueryString( array( 'filter' => $k, 'sortby' => $table->sortBy, 'sortdirection' => $table->sortDirection) )->setPage( 'page', 1 )}' rel="nofollow">{lang="{$table->langPrefix}{$k}"}</a>
|
||||
</li>
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
|
||||
|
||||
<div data-role="tablePagination" {{if $table->pages <= 1}}class='ipsHide'{{endif}}>
|
||||
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
|
||||
</div>
|
||||
@@ -2308,9 +2365,11 @@
|
||||
|
||||
<div class='ipsTopicSnippet__stats-align ipsFlex-flex:00 ipsFlex ipsFlex-ai:center'>
|
||||
|
||||
<ul class='ipsTopicSnippet__stats ipsFlex ipsFlex-ai:center ipsList_reset'>
|
||||
<ul class='ipsTopicSnippet__stats ipsFlex ipsFlex-ai:center ipsFlex-fw:wrap ipsList_reset'>
|
||||
{{if $row->groupsPosted}}
|
||||
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
|
||||
<li>
|
||||
{template="groupPostedBadges" group="global" app="core" location="front" params="$row->groupsPosted, 'topic_posted_in_groups'"}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $row->followerCount}}
|
||||
<li class='ipsType_light'>
|
||||
@@ -2403,7 +2462,7 @@
|
||||
{{if \IPS\forums\Forum::canOnAny( 'add' )}}
|
||||
<ul class='ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right sm:ipsMargin_bottom:none'>
|
||||
<li class='ipsToolList_primaryAction ipsResponsive_hidePhone'>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=forums&module=forums&controller=forums&do=add" seoTemplate="topic_non_forum_add_button"}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="select_forum"}'>{lang="start_new_topic"}</a>
|
||||
<a class="ipsButton ipsButton_medium ipsButton_important" href="{url="app=forums&module=forums&controller=forums&do=add" seoTemplate="topic_non_forum_add_button"}" rel="nofollow" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="select_forum"}'>{lang="start_new_topic"}</a>
|
||||
</li>
|
||||
{template="viewChange" group="global" app="forums" params=""}
|
||||
</ul>
|
||||
@@ -2418,6 +2477,66 @@
|
||||
</ul>
|
||||
|
||||
{$table|raw}]]></template>
|
||||
<template template_group="index" template_name="simplifiedViewForumSidebar" template_data="$forum, $depth=0" template_location="front" template_app="forums"><![CDATA[<div data-controller="forums.front.forum.flow" data-rootForum="{$forum->_id}" class='ipsBox cForumMiniList_wrapper' id='elFluidFormFilters'>
|
||||
<div class='ipsSideMenu'>
|
||||
<ul class='ipsSideMenu_list cForumMiniList cForumMiniList_multiRoot'>
|
||||
<li class="cForumMiniList_category" data-category>
|
||||
{{if $forum->sub_can_post}}
|
||||
{{$lastPost = $forum->lastPost();}}
|
||||
{{$unread = \IPS\forums\Topic::containerUnread( $forum );}}
|
||||
{{$children = $forum->children();}}
|
||||
<a href="{$forum->url()}" data-parent-id="{$forum->_id}" data-node-id="{$forum->_id}" data-has-children="1" class='ipsSideMenu_item'>
|
||||
<span class='cForumMiniList_blob' {{if $forum->feature_color}}style="background-color: {$forum->feature_color}; color: {$forum->_featureTextColor};"{{endif}} {{if $lastPost AND $lastPost['date']}}title="{lang="forum_simple_view_last_post"} {datetime="$lastPost['date']"}" data-ipsTooltip data-ipsTooltip-safe{{endif}}>
|
||||
<span></span>
|
||||
<i class='fa fa-check'></i>
|
||||
</span>
|
||||
<span class='cForumMiniList_title ipsTruncate ipsTruncate_line'>
|
||||
{{if $unread}}<strong>{{endif}}{$forum->_title}{{if $unread}}</strong>{{endif}}
|
||||
</span>
|
||||
<span class='ipsType_small ipsType_light cForumMiniList_count'>{number="\IPS\forums\Topic::contentCountItemsOnly( $forum )" format="short"}</span>
|
||||
</a>
|
||||
{{else}}
|
||||
<a href="{$forum->url()}" data-parent-id="{$forum->_id}" data-node-id="{$forum->_id}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$forum->_title}</a>
|
||||
{{endif}}
|
||||
{{if $forum->hasChildren()}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList'>
|
||||
{template="simplifiedViewForumSidebar_children" app="forums" location="front" group="index" params="$forum, $depth+1"}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsResponsive_hideDesktop ipsResponsive_block'>
|
||||
<hr class='ipsHr'>
|
||||
<a href='#' class='ipsButton ipsButton_fullWidth ipsButton_primary ipsButton_medium' data-action='dialogClose'>{lang="done_forum_filtering"}</a>
|
||||
</div>
|
||||
</div>]]></template>
|
||||
<template template_group="index" template_name="simplifiedViewForumSidebar_children" template_data="$parent" template_location="front" template_app="forums"><![CDATA[{{if $parent->hasChildren() }}
|
||||
{{foreach $parent->children() as $idx => $forum}}
|
||||
{{$lastPost = $forum->lastPost();}}
|
||||
{{$unread = \IPS\forums\Topic::containerUnread( $forum );}}
|
||||
{{$children = $forum->children();}}
|
||||
{{if ! $forum->redirect_on and ( $forum->can('read') or !$forum->sub_can_post ) }}
|
||||
<li class="{{if $children}}cForumMiniList_category{{endif}}">
|
||||
<a href="{$forum->url()}" data-parent-id="{$parent->_id}" data-node-id="{$forum->_id}" data-has-children="{{if $children}}1{{else}}0{{endif}}" class='ipsSideMenu_item {{if !$unread}}cForumMiniList_unread{{endif}}'>
|
||||
<span class='cForumMiniList_blob' {{if $forum->feature_color}}style="background-color: {$forum->feature_color}; color: {$forum->_featureTextColor};"{{endif}} {{if $lastPost AND $lastPost['date']}}title="{lang="forum_simple_view_last_post"} {datetime="$lastPost['date']"}" data-ipsTooltip data-ipsTooltip-safe{{endif}}>
|
||||
<span></span>
|
||||
<i class='fa fa-check'></i>
|
||||
</span>
|
||||
<span class='cForumMiniList_title ipsTruncate ipsTruncate_line'>
|
||||
{{if $unread}}<strong>{{endif}}{$forum->_title}{{if $unread}}</strong>{{endif}}
|
||||
</span>
|
||||
<span class='ipsType_small ipsType_light cForumMiniList_count'>{number="\IPS\forums\Topic::contentCountItemsOnly( $forum )" format="short"}</span>
|
||||
</a>
|
||||
{{if $children}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList'>
|
||||
{template="simplifiedViewForumSidebar_children" app="forums" location="front" group="index" params="$forum, 1"}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{endif}}]]></template>
|
||||
<template template_group="index" template_name="simplifiedViewSidebar" template_data="$forumIds, $map" template_location="front" template_app="forums"><![CDATA[<div data-controller="forums.front.forum.flow" class='ipsBox cForumMiniList_wrapper' id='elFluidFormFilters'>
|
||||
<div class='ipsSideMenu'>
|
||||
<ul class='ipsSideMenu_list cForumMiniList {{if \count( \IPS\forums\Forum::roots() ) === 1}}cForumMiniList_singleRoot{{else}}cForumMiniList_multiRoot{{endif}}'>
|
||||
@@ -2572,6 +2691,41 @@
|
||||
</div>
|
||||
{{endif}}
|
||||
</div>]]></template>
|
||||
<template template_group="stats" template_name="statsTypeWrapper" template_data="$form, $solvedCount, $recommendedCount, $startTime, $endTime" template_location="admin" template_app="forums"><![CDATA[<div class=''>
|
||||
<div class='ipsBox'>
|
||||
<h1 class='ipsBox_titleBar'>{lang="stats_posts_by_type"}</h1>
|
||||
<div>
|
||||
{$form|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class='ipsSpacer_top ipsSpacer_double'>
|
||||
<table class="ipsTable ipsTable_responsive ipsTable_zebra " data-role="table">
|
||||
<thead>
|
||||
<tr class="ipsAreaBackground">
|
||||
<th>{lang="stats_posts_type_type"}</th>
|
||||
<th>{lang="stats_posts_type_count"}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="ipsClearfix">
|
||||
<td class="">
|
||||
{lang="stats_posts_type_solved"}
|
||||
</td>
|
||||
<td><a href='{url="app=forums&module=stats&controller=posts&do=showSolvedPosts&startTime={$startTime}&endTime={$endTime}"}' data-ipsDialog data-ipsDialog-title='{lang="stats_posts_type_solved"}' title="{lang="stats_posts_show_posts"}" data-ipsTooltip>{$solvedCount}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class=" ipsTable_wrap ipsTable_primary ">
|
||||
{lang="stats_posts_type_recommended"}
|
||||
</td>
|
||||
<td><a href='{url="app=forums&module=stats&controller=posts&do=showRecommendedPosts&startTime={$startTime}&endTime={$endTime}"}' data-ipsDialog data-ipsDialog-title='{lang="stats_posts_type_recommended"}' title="{lang="stats_posts_show_posts"}" data-ipsTooltip>{$recommendedCount}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
]]></template>
|
||||
<template template_group="stats" template_name="timeToSolved" template_data="$value, $previousValue=NULL, $nodes=array()" template_location="admin" template_app="forums"><![CDATA[ <div>
|
||||
<span class='cStat__number cStat__number--medium' data-number='{$value}'>{expression="\IPS\DateTime::roundedDiffFromSeconds( $value )"}</span>
|
||||
{{if isset( $previousValue )}}
|
||||
@@ -2832,7 +2986,7 @@
|
||||
<div class='cTopicOverview__section--topPost ipsMargin_bottom'>
|
||||
<h4 class='ipsType_reset cTopicOverview__sectionTitle ipsType_withHr ipsType_dark ipsType_uppercase ipsMargin_top:half'>{lang="topicactivity_popularposts"}</h4>
|
||||
{{foreach $reacted as $data}}
|
||||
<a href="{$data['comment']->url()}" class="ipsType_noLinkStyling ipsBlock">
|
||||
<a href="{$data['comment']->url()}" rel="nofollow" class="ipsType_noLinkStyling ipsBlock">
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix ipsMargin_top'>
|
||||
<span class='ipsUserPhoto ipsUserPhoto_tiny'>
|
||||
<img src='{$data['comment']->author()->photo}' alt='{$data['comment']->author()->name}'>
|
||||
@@ -2857,7 +3011,7 @@
|
||||
{{foreach $images as $row}}
|
||||
{{$image = \IPS\File::get( 'core_Attachment', ( $row['attach_thumb_location'] ) ? $row['attach_thumb_location'] : $row['attach_location'] )->url;}}
|
||||
<li class='cTopicOverview__image'>
|
||||
<a href="{$row['commentUrl']}" class='ipsThumb ipsThumb_bg' data-background-src="{$image}">
|
||||
<a href="{$row['commentUrl']}" rel="nofollow" class='ipsThumb ipsThumb_bg' data-background-src="{$image}">
|
||||
<img src="{expression="\IPS\Text\Parser::blankImage()"}" data-src="{$image}" class="ipsImage">
|
||||
</a>
|
||||
</li>
|
||||
@@ -2870,7 +3024,12 @@
|
||||
{{if $location !== 'sidebar'}}
|
||||
<a href='#' data-action='toggleOverview' class='cTopicOverview__toggle cTopicOverview__toggle--afterStats ipsType_large ipsType_light ipsPad ipsFlex ipsFlex-ai:center ipsFlex-jc:center'><i class='fa fa-chevron-down'></i></a>
|
||||
{{endif}}
|
||||
{{if $location == 'sidebar'}}
|
||||
</div>
|
||||
{{else}}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
]]></template>
|
||||
<template template_group="topics" template_name="post" template_data="$item, $comment, $editorName, $app, $type, $class=''" template_location="front" template_app="forums"><![CDATA[{{$idField = $comment::$databaseColumnId;}}
|
||||
<div id='comment-{$comment->$idField}_wrap' data-controller='core.front.core.comment' data-commentApp='{$app}' data-commentType='{$type}' data-commentID="{$comment->$idField}" data-quoteData='{expression="json_encode( array('userid' => $comment->author()->member_id, 'username' => $comment->author()->name, 'timestamp' => $comment->mapped('date'), 'contentapp' => $comment::$application, 'contenttype' => $type, 'contentid' => $item->tid, 'contentclass' => $class, 'contentcommentid' => $comment->$idField) )"}' class='ipsComment_content ipsType_medium'>
|
||||
@@ -2906,7 +3065,7 @@
|
||||
{{if $comment->mapped('first') }}
|
||||
<li class='ipsMenu_item'><a href='{$comment->item()->url()}' title='{lang="share_this_post"}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-content='#elShareComment_{$comment->$idField}_menu' data-ipsDialog-title="{lang="share_this_post"}" id='elSharePost_{$comment->$idField}' data-role='shareComment'>{lang="share"}</a></li>
|
||||
{{else}}
|
||||
<li class='ipsMenu_item'><a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' title='{lang="share_this_post"}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-content='#elShareComment_{$comment->$idField}_menu' data-ipsDialog-title="{lang="share_this_post"}" id='elSharePost_{$comment->$idField}' data-role='shareComment'>{lang="share"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' rel="nofollow" title='{lang="share_this_post"}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-content='#elShareComment_{$comment->$idField}_menu' data-ipsDialog-title="{lang="share_this_post"}" id='elSharePost_{$comment->$idField}' data-role='shareComment'>{lang="share"}</a></li>
|
||||
{{endif}}
|
||||
{{if $comment->canRecognize() === TRUE}}
|
||||
<li class='ipsMenu_item'><a href='{$comment->author()->url()->setQueryString( array( 'do' => 'recognize', 'content_class' => \get_class( $comment ), 'content_id' => $comment->$idField ) )}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="recognize_submit_success"}' data-ipsDialog-title="{lang="recognize_author" sprintf="$comment->author()->name"}">{lang="recognize_author" sprintf="$comment->author()->name"}</a></li>
|
||||
@@ -2963,7 +3122,7 @@
|
||||
</div>
|
||||
|
||||
<div class='ipsType_reset ipsResponsive_hidePhone'>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' rel="nofollow" class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
|
||||
{{if $comment->ip_address and \IPS\Member::loggedIn()->modPermission('can_use_ip_tools') and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'modcp' ) )}}
|
||||
· <a class='ipsType_blendLinks ipsType_light ipsType_noUnderline ipsType_noBreak' href="{url="app=core&module=modcp&controller=modcp&tab=ip_tools&ip=$comment->ip_address" seoTemplate="modcp_ip_tools"}" data-ipsMenu data-ipsMenu-menuID='{$comment->$idField}_ip_menu'>{lang="ip_short"} <i class='fa fa-angle-down'></i></a>
|
||||
{{endif}}
|
||||
@@ -3127,7 +3286,7 @@
|
||||
<span class="cAuthorPane_badge cAuthorPane_badge--new" data-ipsTooltip title="{lang="member_is_new_badge" sprintf="$comment->author()->name"}"></span>
|
||||
{{endif}}
|
||||
{{if !$comment->isAnonymous() and $comment->author()->canHaveAchievements() and \IPS\core\Achievements\Rank::show() and $rank = $comment->author()->rank()}}
|
||||
<a href="{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=badges" seoTemplate="profile_badges" seoTitle="$comment->author()->members_seo_name"}">
|
||||
<a href="{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=badges" seoTemplate="profile_badges" seoTitle="$comment->author()->members_seo_name"}" rel="nofollow">
|
||||
{$rank->html( 'cAuthorPane_badge cAuthorPane_badge--rank ipsOutline ipsOutline:2px' )|raw}
|
||||
</a>
|
||||
{{endif}}
|
||||
@@ -3138,7 +3297,7 @@
|
||||
{template="userLink" group="global" app="core" params="$comment->author(), $comment->warningRef(), TRUE, $comment->isAnonymous()"}
|
||||
</h3>
|
||||
<div class='ipsType_light ipsType_reset'>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
|
||||
<a href='{$comment->item()->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $comment->$idField ) )}' rel="nofollow" class='ipsType_blendLinks'>{$comment->dateLine()|raw}</a>
|
||||
{{if $comment->ip_address and \IPS\Member::loggedIn()->modPermission('can_use_ip_tools') and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'modcp' ) )}}
|
||||
· <a class='ipsType_blendLinks ipsType_light ipsType_noUnderline ipsType_noBreak' href="{url="app=core&module=modcp&controller=modcp&tab=ip_tools&ip=$comment->ip_address" seoTemplate="modcp_ip_tools"}" data-ipsMenu data-ipsMenu-menuID='{$comment->$idField}_ip_menu'>{lang="ip_short"} <i class='fa fa-angle-down'></i></a>
|
||||
{{endif}}
|
||||
@@ -3148,7 +3307,7 @@
|
||||
<aside class='ipsComment_author cAuthorPane ipsColumn ipsColumn_medium ipsResponsive_hidePhone'>
|
||||
<h3 class='ipsType_sectionHead cAuthorPane_author ipsType_blendLinks ipsType_break'><strong>{template="userLink" group="global" app="core" params="$comment->author(), $comment->warningRef(), FALSE, $comment->isAnonymous()"}</strong>
|
||||
{{if $comment->isAnonymous() and \IPS\Member::loggedIn()->modPermission('can_view_anonymous_posters')}}
|
||||
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{{if $comment->isFirst()}}{$comment->item()->url( 'reveal' )->csrf()}{{else}}{$comment->url( 'reveal' )->csrf()}{{endif}}"><span class="cAuthorPane_badge cAuthorPane_badge--anon" data-ipsTooltip title="{lang="post_anonymously_reveal"}"></span></a>
|
||||
<a data-ipsHover data-ipsHover-width="370" data-ipsHover-onClick href="{{if $comment->isFirst()}}{$comment->item()->url( 'reveal' )->csrf()}{{else}}{$comment->url( 'reveal' )->csrf()}{{endif}}" rel="nofollow"><span class="cAuthorPane_badge cAuthorPane_badge--anon" data-ipsTooltip title="{lang="post_anonymously_reveal"}"></span></a>
|
||||
{{endif}}
|
||||
</h3>
|
||||
<ul class='cAuthorPane_info ipsList_reset'>
|
||||
@@ -3175,15 +3334,23 @@
|
||||
<li data-role='stats' class='ipsMargin_top'>
|
||||
<ul class="ipsList_reset ipsType_light ipsFlex ipsFlex-ai:center ipsFlex-jc:center ipsGap_row:2 cAuthorPane_stats">
|
||||
<li>
|
||||
<a href="{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=content" seoTemplate="profile_content" seoTitle="$comment->author()->members_seo_name"}" title="{lang="member_post_count" pluralize="$comment->author()->member_posts"}" data-ipsTooltip class="ipsType_blendLinks">
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}
|
||||
<a href="{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=content" seoTemplate="profile_content" seoTitle="$comment->author()->members_seo_name"}" rel="nofollow" title="{lang="member_post_count" pluralize="$comment->author()->member_posts"}" data-ipsTooltip class="ipsType_blendLinks">
|
||||
{{endif}}
|
||||
<i class="fa fa-comment"></i> {number="$comment->author()->member_posts" format="short"}
|
||||
</a>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}
|
||||
</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{if isset( $comment->author_solved_count )}}
|
||||
<li>
|
||||
<a href='{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=solutions" seoTemplate="profile_solutions" seoTitle="$comment->author()->members_seo_name"}' title="{lang="solved_badge_tooltip" pluralize="$comment->author_solved_count"}" data-ipsTooltip class='ipsType_blendLinks'>
|
||||
<i class='fa fa-check-circle'></i> {number="$comment->author_solved_count"}
|
||||
</a>
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}
|
||||
<a href='{url="app=core&module=members&controller=profile&id={$comment->author()->member_id}&do=solutions" seoTemplate="profile_solutions" seoTitle="$comment->author()->members_seo_name"}' rel="nofollow" title="{lang="solved_badge_tooltip" pluralize="$comment->author_solved_count"}" data-ipsTooltip class='ipsType_blendLinks'>
|
||||
{{endif}}
|
||||
<i class='fa fa-check-circle'></i> {number="$comment->author_solved_count"}
|
||||
{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) }}
|
||||
</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
@@ -3259,6 +3426,9 @@
|
||||
{{endif}}
|
||||
|
||||
<div class='ipsPageHeader ipsResponsive_pull ipsBox ipsPadding sm:ipsPadding:half ipsMargin_bottom'>
|
||||
{{if \IPS\Application::appIsEnabled('cloud') }}
|
||||
<div data-controller='cloud.front.realtime.whosViewing' data-location='{expression="\IPS\cloud\Realtime::i()->getLocationHash()"}' data-visibleClass='ipsMargin_bottom:half'></div>
|
||||
{{endif}}
|
||||
{{if $topic->isQuestion()}}
|
||||
<div class='ipsFlex ipsFlex-ai:stretch ipsFlex-jc:center'>
|
||||
<ul class='ipsList_reset cRatingColumn cRatingColumn_question ipsType_center ipsMargin_right ipsFlex-flex:00 ipsBorder_right'>
|
||||
@@ -3378,7 +3548,7 @@
|
||||
{{if $solvedComment = $topic->getSolution() AND ( $solvedComment->hidden() == 0 OR ( \in_array( $solvedComment->hidden(), array( 1, -1 ) ) AND $solvedComment->canUnhide() ) )}}
|
||||
<div class='ipsBox ipsBox--child ipsComment ipsComment_solved ipsMargin:none ipsMargin_top ipsPadding:half'>
|
||||
<div class='ipsFlex ipsFlex-ai:center sm:ipsFlex-fd:column ipsGap:3'>
|
||||
<a href="{$topic->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $topic->topic_answered_pid ))}" class='ipsButton ipsButton_verySmall ipsButton_positive sm:ipsFlex-as:stretch'>{lang="solved_and_go"}</a>
|
||||
<a href="{$topic->url()->setQueryString( array( 'do' => 'findComment', 'comment' => $topic->topic_answered_pid ))}" rel="nofollow" class='ipsButton ipsButton_verySmall ipsButton_positive sm:ipsFlex-as:stretch'>{lang="solved_and_go"}</a>
|
||||
<span class='ipsFlex-flex:10 ipsType_positive ipsType_normal'>
|
||||
{lang="solved_byline" htmlsprintf="$solvedComment->author()->name"}, {datetime="$solvedComment->mapped('date')"}
|
||||
</span>
|
||||
@@ -3412,9 +3582,9 @@
|
||||
<li class='ipsToolList_primaryAction'>
|
||||
<span data-controller='forums.front.topic.reply'>
|
||||
{{if $topic->container()->forums_bitoptions['bw_enable_answers']}}
|
||||
<a href='#replyForm' class='ipsButton {{if $topic->locked()}}ipsButton_link ipsButton_link--negative{{else}}ipsButton_important{{endif}} ipsButton_medium ipsButton_fullWidth' data-action='replyToTopic'>{lang="answer_this_question"}{{if $topic->locked()}} ({lang="locked"}){{endif}}</a>
|
||||
<a href='#replyForm' rel="nofollow" class='ipsButton {{if $topic->locked()}}ipsButton_link ipsButton_link--negative{{else}}ipsButton_important{{endif}} ipsButton_medium ipsButton_fullWidth' data-action='replyToTopic'>{lang="answer_this_question"}{{if $topic->locked()}} ({lang="locked"}){{endif}}</a>
|
||||
{{else}}
|
||||
<a href='#replyForm' class='ipsButton {{if $topic->locked()}}ipsButton_link ipsButton_link--negative{{else}}ipsButton_important{{endif}} ipsButton_medium ipsButton_fullWidth' data-action='replyToTopic'>{lang="reply_to_this_topic"}{{if $topic->locked()}} ({lang="locked"}){{endif}}</a>
|
||||
<a href='#replyForm' rel="nofollow" class='ipsButton {{if $topic->locked()}}ipsButton_link ipsButton_link--negative{{else}}ipsButton_important{{endif}} ipsButton_medium ipsButton_fullWidth' data-action='replyToTopic'>{lang="reply_to_this_topic"}{{if $topic->locked()}} ({lang="locked"}){{endif}}</a>
|
||||
{{endif}}
|
||||
</span>
|
||||
</li>
|
||||
@@ -3422,9 +3592,9 @@
|
||||
{{if $topic->container()->can('add')}}
|
||||
<li class='ipsResponsive_hidePhone'>
|
||||
{{if $topic->container()->forums_bitoptions['bw_enable_answers']}}
|
||||
<a href="{$topic->container()->url()->setQueryString( 'do', 'add' )}" class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' title='{lang="ask_a_question_desc"}'>{lang="ask_a_question"}</a>
|
||||
<a href="{$topic->container()->url()->setQueryString( 'do', 'add' )}" rel="nofollow" class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' title='{lang="ask_a_question_desc"}'>{lang="ask_a_question"}</a>
|
||||
{{else}}
|
||||
<a href="{$topic->container()->url()->setQueryString( 'do', 'add' )}" class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' title='{lang="start_new_topic_desc"}'>{lang="start_new_topic"}</a>
|
||||
<a href="{$topic->container()->url()->setQueryString( 'do', 'add' )}" rel="nofollow" class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' title='{lang="start_new_topic_desc"}'>{lang="start_new_topic"}</a>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
@@ -3650,7 +3820,7 @@
|
||||
|
||||
{{if $topic->commentForm() || $topic->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings'] || !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
<a id='replyForm'></a>
|
||||
<div data-role='replyArea' class='cTopicPostArea ipsBox ipsResponsive_pull ipsPadding {{if !$topic->canComment()}}cTopicPostArea_noSize{{endif}} ipsSpacer_top'>
|
||||
<div data-role='replyArea' class='cTopicPostArea ipsBox ipsResponsive_pull ipsPadding {{if !$topic->canComment()}}cTopicPostArea_noSize{{endif}} ipsSpacer_top' data-controller='cloud.front.realtime.forumsReplyArea,cloud.front.realtime.whosTyping'>
|
||||
{{if $topic->commentForm()}}
|
||||
{{if $topic->locked()}}
|
||||
<p class='ipsType_reset ipsType_warning ipsComposeArea_warning ipsSpacer_bottom ipsSpacer_half'><i class='fa fa-info-circle'></i> {lang="topic_locked_can_comment"}</p>
|
||||
@@ -4725,6 +4895,13 @@ html[dir="rtl"] .cTopicList .ipsDataItem_icon {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
html[dir="ltr"] .cTopicList .ipsLiveActivity--small {
|
||||
margin-right: calc( var(--sp-2) * -1 );
|
||||
}
|
||||
html[dir="rtl"] .cTopicList .ipsLiveActivity--small {
|
||||
margin-left: calc( var(--sp-2) * -1 );
|
||||
}
|
||||
|
||||
.cTopicHovercard .cTopicHovercard_container {
|
||||
height: 200px;
|
||||
overflow: auto;
|
||||
@@ -5356,6 +5533,11 @@ html[dir="rtl"] .cForumFluidTable .ipsDataItem_loading > div > span:last-child:a
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Fix alignment of participated icon, when fluid view and expanded view are both enabled on small mobile screens */
|
||||
.cForumFluidTable .ipsTopicSnippet__title .ipsItemStatus{
|
||||
position: static;
|
||||
}
|
||||
|
||||
.ipsTopicSnippet__title .ipsTag_prefix{
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user