Version 4.3.0
This commit is contained in:
1 parent
96997ddd8e
commit
fe1acf984a
1349 files changed
+116159
-67711
No files matched your search
+289
-125
@@ -1,6 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<theme name="Default" author_name="Invision Power Services, Inc" author_url="https://www.invisioncommunity.com">
|
||||
<field sc_key="forum_layout" sc_type="Select" sc_multiple="0" sc_updated="1494930618" sc_app="forums" sc_default="traditional" sc_tab_key="custom" sc_show_in_vse="1" sc_title="themesetting_forum_layout" sc_order="5" sc_condition="">[{"key":"grid","value":"Grid View"},{"key":"traditional","value":"Traditional List"}]</field>
|
||||
<template template_group="feeds" template_name="importPreview" template_data="$feed" template_location="admin" template_app="forums"><![CDATA[<form method="post">
|
||||
<input type="hidden" name="continue" value="1">
|
||||
<ol class='ipsDataList ipsClear'>
|
||||
@@ -19,6 +18,31 @@
|
||||
<button type="submit" class="ipsButton ipsButton_primary">{lang="continue"}</button>
|
||||
</div>
|
||||
</form>]]></template>
|
||||
<template template_group="forums" template_name="clubForums" template_data="" template_location="front" template_app="forums"><![CDATA[
|
||||
<div class="ipsPageHeader ipsClearfix">
|
||||
<header class='ipsSpacer_bottom'>
|
||||
<h1 class="ipsType_pageTitle">{lang="club_node_forums"}</h1>
|
||||
</header>
|
||||
</div>
|
||||
|
||||
<div class='ipsList_reset cForumList ipsBox ipsSpacer_bottom' data-controller='forums.front.forum.forumList' data-baseURL=''>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="subforums_header_category"}</h2>
|
||||
{{if \IPS\forums\Forum::getMemberView() === 'grid'}}
|
||||
<div class='ipsAreaBackground ipsPad' data-role="forums">
|
||||
<div class='ipsGrid ipsGrid_collapsePhone' data-ipsGrid data-ipsGrid-minItemSize='300' data-ipsGrid-maxItemSize='400' data-ipsGrid-equalHeights='row'>
|
||||
{{foreach \IPS\forums\Forum::clubNodes() as $childforum}}
|
||||
{template="forumGridItem" group="index" app="forums" params="$childforum"}
|
||||
{{endforeach}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<ol class="ipsDataList ipsDataList_zebra ipsDataList_large ipsAreaBackground_reset">
|
||||
{{foreach \IPS\forums\Forum::clubNodes() as $childforum}}
|
||||
{template="forumRow" group="index" app="forums" params="$childforum, TRUE"}
|
||||
{{endforeach}}
|
||||
</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')}}
|
||||
<li class='ipsToolList_primaryAction'>
|
||||
{{if $forum->forums_bitoptions['bw_enable_answers']}}
|
||||
@@ -75,7 +99,7 @@
|
||||
</div>
|
||||
|
||||
{{if $forum->children()}}
|
||||
<div class='ipsList_reset cForumList ipsBox ipsSpacer_bottom' data-controller='forums.front.forum.forumList' data-baseURL=''>
|
||||
<div class='ipsList_reset cForumList ipsBox ipsSpacer_bottom' 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'}}
|
||||
<div class='ipsAreaBackground ipsPad' data-role="forums">
|
||||
@@ -249,7 +273,7 @@
|
||||
<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='{{if $col == 'title'}}asc{{else}}desc{{endif}}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => ( $col == 'title' ) ? 'asc' : 'desc', '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 ), 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
@@ -398,7 +422,7 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
<div class='ipsDataItem_main'>
|
||||
<h4 class='ipsDataItem_title ipsType_break'>
|
||||
<h4 class='ipsDataItem_title ipsType_break ipsContained_container'>
|
||||
<span class='ipsType_break ipsContained'>
|
||||
{{if $question->locked()}}
|
||||
<i class='fa fa-lock' data-ipsTooltip title='{lang="topic_locked"}'></i>
|
||||
@@ -547,8 +571,15 @@
|
||||
{{$rowIds[] = $row->$idField;}}
|
||||
{{endforeach}}
|
||||
{{if count( $rows )}}
|
||||
{{$rowCount=0;}}
|
||||
{{foreach $rows as $row}}
|
||||
{{$idField = $row::$databaseColumnId;}}
|
||||
{{if $rowCount == 1 AND $advertisement = \IPS\core\Advertisement::loadByLocation( 'ad_forum_listing' )}}
|
||||
<li class="ipsDataItem">
|
||||
{$advertisement|raw}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{$rowCount++;}}
|
||||
{{$idField = $row::$databaseColumnId;}}
|
||||
{{if $row->mapped('moved_to')}}
|
||||
{{if $movedTo = $row->movedTo()}}
|
||||
<li class="ipsDataItem">
|
||||
@@ -716,7 +747,7 @@
|
||||
{{if $tabData[1]->item()->unread() }}
|
||||
· <a href='{$tabData[1]->item()->url('markRead')->csrf()}' title='{lang="mark_topic_read"}' data-action='markTopicRead'><i class='fa fa-check'></i> {lang="mark_topic_read"}</a>
|
||||
{{endif}}
|
||||
{{if $tabData[1]->canReport()}}
|
||||
{{if $tabData[1]->canReportOrRevoke() === TRUE}}
|
||||
· <a href='{$tabData[1]->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report_post"}" data-action='reportComment' title='{lang="report_post"}'><span class='ipsResponsive_showPhone ipsResponsive_inline'><i class='fa fa-flag'></i></span><span class='ipsResponsive_hidePhone ipsResponsive_inline'>{lang="report_post"}</span></a>
|
||||
{{endif}}
|
||||
</p>
|
||||
@@ -812,6 +843,10 @@
|
||||
{{elseif !$row->locked() && $row->topic_close_time && $row->topic_close_time > time()}}
|
||||
<span><strong class='ipsType_small ipsType_noBreak' data-ipsTooltip title='{lang="topic_locks_at" sprintf="\IPS\DateTime::ts( $row->topic_close_time )->relative(), \IPS\DateTime::ts( $row->topic_close_time )->localeTime( FALSE )"}'><i class='fa fa-clock-o'></i> {lang="topic_locks_at_short" sprintf="\IPS\DateTime::ts($row->topic_close_time)->relative(1)"}</strong> </span>
|
||||
{{endif}}
|
||||
|
||||
{{if $row->mapped('poll')}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_neutral" data-ipsTooltip title='{lang="topic_has_poll"}'><i class='fa fa-question'></i></span></span>
|
||||
{{endif}}
|
||||
|
||||
{{if $row->mapped('pinned') || $row->mapped('featured') || $row->hidden() === -1 || $row->hidden() === 1}}
|
||||
{{if $row->hidden() === -1}}
|
||||
@@ -926,8 +961,8 @@
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedPost" template_data="$comment, $item, $url" template_location="front" template_app="forums"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_replied_to_a_topic', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date')"}
|
||||
<div class='ipsPad'>
|
||||
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_replied_to_a_topic', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date'), $url"}
|
||||
<div class='ipsPad_double'>
|
||||
<div class='ipsRichEmbed_originalItem ipsAreaBackground_reset ipsPad ipsSpacer_bottom ipsType_blendLinks'>
|
||||
<div>
|
||||
{template="embedOriginalItem" group="embed" app="core" params="$item, TRUE"}
|
||||
@@ -938,7 +973,7 @@
|
||||
{$comment->truncated(TRUE)|raw}
|
||||
</div>
|
||||
|
||||
{{if \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() ) and settings.reputation_enabled}}
|
||||
{{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and count( $comment->reactions() )}}
|
||||
<ul class='ipsList_inline ipsSpacer_top ipsSpacer_half'>
|
||||
<li>
|
||||
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
|
||||
@@ -949,19 +984,19 @@
|
||||
</div>]]></template>
|
||||
<template template_group="global" template_name="embedTopic" template_data="$item, $url" template_location="front" template_app="forums"><![CDATA[
|
||||
<div data-embedInfo-maxSize='500' class='ipsRichEmbed'>
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_topic_in', FALSE, array( 'sprintf' => array( $item->author()->name, $item->container()->_title ) ) ), $item->mapped('date')"}
|
||||
{{if count( $item->contentImages() )}}
|
||||
{{$attachType = key( $item->contentImages()[0] );}}
|
||||
{{$firstPhoto = \IPS\File::get( $attachType, $item->contentImages()[0][ $attachType ] );}}
|
||||
{template="embedHeader" group="embed" app="core" params="$item, \IPS\Member::loggedIn()->language()->addToStack( 'x_created_topic_in', FALSE, array( 'sprintf' => array( $item->author()->name, $item->container()->_title ) ) ), $item->mapped('date'), $url"}
|
||||
{{if $contentImage = $item->contentImages()}}
|
||||
{{$attachType = key( $contentImage[0] );}}
|
||||
{{$firstPhoto = \IPS\File::get( $attachType, $contentImage[0][ $attachType ] );}}
|
||||
<div class='ipsRichEmbed_masthead ipsRichEmbed_mastheadBg ipsType_center'>
|
||||
<a href='{$item->url()}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $firstPhoto->url )"}" )'>
|
||||
<a href='{$url}' style='background-image: url( "{expression="str_replace( array( '(', ')' ), array( '\(', '\)' ), $firstPhoto->url )"}" )'>
|
||||
<img src='{$firstPhoto->url}' class='ipsHide' alt=''>
|
||||
</a>
|
||||
</div>
|
||||
{{endif}}
|
||||
<div class='ipsPad'>
|
||||
<div class='ipsPad_double'>
|
||||
<h3 class='ipsRichEmbed_itemTitle ipsTruncate ipsTruncate_line ipsType_blendLinks'>
|
||||
<a href='{$item->url()}' title="{$item->mapped('title')}">{$item->mapped('title')}</a>
|
||||
<a href='{$url}' title="{$item->mapped('title')}">{$item->mapped('title')}</a>
|
||||
</h3>
|
||||
<div class='ipsType_richText ipsType_medium ipsSpacer_top ipsSpacer_half' data-truncate='3'>
|
||||
{$item->truncated(TRUE)|raw}
|
||||
@@ -1055,6 +1090,9 @@
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span></span>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if $topic->prefix()}}
|
||||
<span>{template="prefix" group="global" app="core" params="$topic->prefix( TRUE ), $topic->prefix()"}</span>
|
||||
{{endif}}
|
||||
|
||||
<span class='ipsType_break ipsContained'>
|
||||
<a href='{$topic->url()}' {{if $topic->canView()}}data-ipsHover data-ipsHover-target='{$topic->url()->setQueryString('preview', 1)}' data-ipsHover-timeout='1.5' {{endif}}>
|
||||
@@ -1085,6 +1123,10 @@
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{if count( $topic->tags() )}}
|
||||
|
||||
{template="tags" group="global" app="core" params="$topic->tags(), true, true"}
|
||||
{{endif}}
|
||||
</div>
|
||||
<ul class='ipsDataItem_stats'>
|
||||
{{if $topic->isQuestion()}}
|
||||
@@ -1157,21 +1199,21 @@
|
||||
<ul class='ipsButton_split'>
|
||||
{{if $chooseable == '*' OR in_array('table', $chooseable )}}
|
||||
<li>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=table" seoTemplate="forums"}" class='ipsButton {{if $chosen == 'table'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_table"}'>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=table" seoTemplate="forums" csrf="true"}" class='ipsButton {{if $chosen == 'table'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_table"}'>
|
||||
<i class='fa fa-align-justify'></i>
|
||||
</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $chooseable == '*' OR in_array('grid', $chooseable )}}
|
||||
<li>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=grid" seoTemplate="forums"}" class='ipsButton {{if $chosen == 'grid'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_grid"}'>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=grid" seoTemplate="forums" csrf="true"}" class='ipsButton {{if $chosen == 'grid'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_grid"}'>
|
||||
<i class='fa fa-th-large'></i>
|
||||
</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{if $chooseable == '*' OR in_array('fluid', $chooseable )}}
|
||||
<li>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=fluid" seoTemplate="forums"}" class='ipsButton {{if $chosen == 'fluid'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_fluid"}'>
|
||||
<a href="{url="app=forums&module=forums&controller=index&do=setMethod&method=fluid" seoTemplate="forums" csrf="true"}" class='ipsButton {{if $chosen == 'fluid'}}ipsButton_primary{{else}}ipsButton_link{{endif}} ipsButton_narrow ipsButton_medium' data-ipsTooltip data-ipsTooltip-safe title='{lang="forums_default_view_fluid"}'>
|
||||
<i class='fa fa-th-list'></i>
|
||||
</a>
|
||||
</li>
|
||||
@@ -1181,6 +1223,7 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="index" template_name="forumGridItem" template_data="$forum" template_location="front" template_app="forums"><![CDATA[{{if $forum->can('view')}}
|
||||
{{$lastPost = $forum->lastPost();}}
|
||||
{{$club = $forum->club();}}
|
||||
<div class="ipsDataItem ipsGrid_span4 ipsAreaBackground_reset cForumGrid {{if \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}cForumGrid_unread ipsDataItem_unread{{endif}} ipsClearfix" data-forumID="{$forum->_id}">
|
||||
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_mini ipsClearfix ipsPad cForumGrid_forumInfo'>
|
||||
@@ -1188,8 +1231,10 @@
|
||||
{{if !$forum->redirect_on AND \IPS\forums\Topic::containerUnread( $forum ) AND \IPS\Member::loggedIn()->member_id}}
|
||||
<a href="{$forum->url()->setQueryString( 'do', 'markRead' )->csrf()}" data-action='markAsRead'>
|
||||
{{endif}}
|
||||
{{if $forum->icon}}
|
||||
<img src="{file="$forum->icon" extension="forums_Icons"}" class='ipsItemStatus ipsItemStatus_custom {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{if $club}}
|
||||
<img src="{{if $club->profile_photo}}{file="$club->profile_photo" extension="core_Clubs"}{{else}}{resource="default_club.png" app="core" location="global"}{{endif}}" alt='' class='ipsItemStatus ipsItemStatus_large {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{elseif $forum->icon}}
|
||||
<img src="{file="$forum->icon" extension="forums_Icons"}" alt='' class='ipsItemStatus ipsItemStatus_custom {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{else}}
|
||||
{{if $forum->redirect_on}}
|
||||
<span class='ipsItemStatus ipsItemStatus_large cForumIcon_redirect {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}' {template="formattedInlineStyle" params="$forum" app="core" group="global" location="front"}>
|
||||
@@ -1222,7 +1267,7 @@
|
||||
{{if $forum->password && !$forum->loggedInMemberHasPasswordAccess()}}
|
||||
<a href="{$forum->url()->setQueryString( 'passForm', '1' )}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="forum_requires_password" sprintf="$forum->_title"}'>{$forum->_title}</a>
|
||||
{{else}}
|
||||
<a href="{$forum->url()}">{$forum->_title}</a>
|
||||
<a href="{$forum->url()}">{{if $club}}{lang="club_node" sprintf="$club->name, $forum->_title"}{{else}}{$forum->_title}{{endif}}</a>
|
||||
{{endif}}
|
||||
</h3>
|
||||
{{if !$forum->redirect_on}}
|
||||
@@ -1299,13 +1344,16 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="index" template_name="forumRow" template_data="$forum, $isSubForum=FALSE, $table=NULL" template_location="front" template_app="forums"><![CDATA[{{if $forum->can('view')}}
|
||||
{{$lastPost = $forum->lastPost();}}
|
||||
{{$club = $forum->club();}}
|
||||
<li class="cForumRow ipsDataItem ipsDataItem_responsivePhoto {{if \IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsDataItem_unread{{endif}} ipsClearfix" data-forumID="{$forum->_id}">
|
||||
<div class="ipsDataItem_icon ipsDataItem_category">
|
||||
{{if !$forum->redirect_on}}
|
||||
{{if \IPS\forums\Topic::containerUnread( $forum ) AND \IPS\Member::loggedIn()->member_id}}<a href="{{if $isSubForum}}{$forum->url()->setQueryString( array( 'do' => 'markRead', 'return' => $forum->parent_id ) )->csrf()}{{else}}{$forum->url()->setQueryString( 'do', 'markRead' )->csrf()}{{endif}}" data-action='markAsRead' title='{lang="mark_forum_read"}' data-ipsTooltip>{{endif}}
|
||||
{{endif}}
|
||||
{{if $forum->icon}}
|
||||
<img src="{file="$forum->icon" extension="forums_Icons"}" class='ipsItemStatus ipsItemStatus_custom {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{if $club}}
|
||||
<img src="{{if $club->profile_photo}}{file="$club->profile_photo" extension="core_Clubs"}{{else}}{resource="default_club.png" app="core" location="global"}{{endif}}" alt='' class='ipsItemStatus ipsItemStatus_large {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{elseif $forum->icon}}
|
||||
<img src="{file="$forum->icon" extension="forums_Icons"}" alt='' class='ipsItemStatus ipsItemStatus_custom {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}'>
|
||||
{{else}}
|
||||
{{if $forum->redirect_on}}
|
||||
<span class='ipsItemStatus ipsItemStatus_large cForumIcon_redirect {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}' {template="formattedInlineStyle" params="$forum" app="core" group="global" location="front"}>
|
||||
@@ -1338,7 +1386,7 @@
|
||||
{{if $forum->password && !$forum->loggedInMemberHasPasswordAccess()}}
|
||||
<a href="{$forum->url()->setQueryString( 'passForm', '1' )}" data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title='{lang="forum_requires_password" sprintf="$forum->_title"}'>{$forum->_title}</a>
|
||||
{{else}}
|
||||
<a href="{$forum->url()}">{$forum->_title}</a>
|
||||
<a href="{$forum->url()}">{{if $club}}{lang="club_node" sprintf="$club->name, $forum->_title"}{{else}}{$forum->_title}{{endif}}</a>
|
||||
{{endif}}
|
||||
{{if $forum->redirect_on}}
|
||||
<span class='ipsType_light ipsType_medium'>({lang="redirect_hits" pluralize="$forum->redirect_hits"})</span>
|
||||
@@ -1412,7 +1460,7 @@
|
||||
{template="forumRow" group="index" app="forums" params="$forum, FALSE, $table"}
|
||||
{{endforeach}}</template>
|
||||
<template template_group="index" template_name="index" template_data="" template_location="front" template_app="forums"><![CDATA[<div class='ipsPageHeader ipsClearfix ipsSpacer_bottom cForumHeader'>
|
||||
{{if \IPS\Member::loggedIn()->member_id}}
|
||||
{{if \IPS\forums\Forum::canOnAny( 'add' ) }}
|
||||
<ul class='ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right'>
|
||||
<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>
|
||||
@@ -1457,6 +1505,29 @@
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{if settings.club_nodes_in_apps and $clubForums = \IPS\forums\Forum::clubNodes()}}
|
||||
<li data-categoryID='clubs' class='cForumRow ipsBox ipsSpacer_bottom'>
|
||||
<h2 class="ipsType_sectionTitle ipsType_reset cForumTitle">
|
||||
<a href='#' class='ipsPos_right ipsJS_show ipsType_noUnderline cForumToggle' data-action='toggleCategory' data-ipsTooltip title='{lang="toggle_this_category"}'></a>
|
||||
<a href='{url="app=forums&module=forums&controller=forums&do=clubs" seoTemplate="forums_clubs"}'>{lang="club_node_forums"}</a>
|
||||
</h2>
|
||||
{{if \IPS\forums\Forum::getMemberView() === 'grid'}}
|
||||
<div class='ipsAreaBackground ipsPad' data-role="forums">
|
||||
<div class='ipsGrid ipsGrid_collapsePhone' data-ipsGrid data-ipsGrid-minItemSize='250' data-ipsGrid-maxItemSize='500' data-ipsGrid-equalHeights='row'>
|
||||
{{foreach $clubForums as $forum}}
|
||||
{template="forumGridItem" group="index" app="forums" params="$forum"}
|
||||
{{endforeach}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<ol class="ipsDataList ipsDataList_large ipsDataList_zebra ipsAreaBackground_reset" data-role="forums">
|
||||
{{foreach $clubForums as $forum}}
|
||||
{template="forumRow" group="index" app="forums" params="$forum"}
|
||||
{{endforeach}}
|
||||
</ol>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
</ol>
|
||||
</section>]]></template>
|
||||
<template template_group="index" template_name="indexButtons" template_data="$showViewButtons=TRUE, $showFilterButton=FALSE" template_location="front" template_app="forums"><![CDATA[
|
||||
@@ -1466,9 +1537,11 @@
|
||||
<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>
|
||||
</li>
|
||||
{{endif}}
|
||||
|
||||
{{if $showViewButtons}}
|
||||
{template="viewChange" group="global" app="forums" params=""}
|
||||
@@ -1508,7 +1581,7 @@
|
||||
<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='{{if $col == 'title'}}asc{{else}}desc{{endif}}'><a href="{$table->baseUrl->setQueryString( array( 'filter' => $table->filter, 'sortby' => $col, 'sortdirection' => ( $col == 'title' ) ? 'asc' : 'desc', '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 ), 'page' => '1' ) )}">{lang="{$table->langPrefix}sort_{$k}"}</a></li>
|
||||
{{endforeach}}
|
||||
{{if $table->advancedSearch}}
|
||||
<li class="ipsMenu_item {{if $custom}}ipsMenu_itemChecked{{endif}}" data-noSelect="true">
|
||||
@@ -1713,6 +1786,10 @@
|
||||
{{elseif !$row->locked() && $row->topic_close_time && $row->topic_close_time > time()}}
|
||||
<span><strong class='ipsType_small ipsType_noBreak' data-ipsTooltip title='{lang="topic_locks_at" sprintf="\IPS\DateTime::ts( $row->topic_close_time )->relative(), \IPS\DateTime::ts( $row->topic_close_time )->localeTime( FALSE )"}'><i class='fa fa-clock-o'></i> {lang="topic_locks_at_short" sprintf="\IPS\DateTime::ts($row->topic_close_time)->relative(1)"}</strong> </span>
|
||||
{{endif}}
|
||||
|
||||
{{if $row->mapped('poll')}}
|
||||
<span><span class="ipsBadge ipsBadge_icon ipsBadge_small ipsBadge_neutral" data-ipsTooltip title='{lang="topic_has_poll"}'><i class='fa fa-question'></i></span></span>
|
||||
{{endif}}
|
||||
|
||||
{{if $row->mapped('pinned') || $row->mapped('featured') || $row->hidden() === -1 || $row->hidden() === 1}}
|
||||
{{if $row->hidden() === -1}}
|
||||
@@ -1748,7 +1825,7 @@
|
||||
<span>
|
||||
{lang="byline_itemprop" htmlsprintf="$row->author()->link()"}
|
||||
</span>{datetime="$row->mapped('date')" lowercase="true"}
|
||||
{lang="in"} <a href="{$row->container()->url()}">{$row->container()->_formattedTitle|raw}</a>
|
||||
{lang="in"} <a href="{$row->container()->url()}">{{if $club = $row->container()->club()}}{lang="club_node" sprintf="$club->name, $row->container()->_title"}{{else}}{$row->container()->_formattedTitle|raw}{{endif}}</a>
|
||||
|
||||
{{if count( $row->tags() )}}
|
||||
|
||||
@@ -1805,7 +1882,7 @@
|
||||
{{endforeach}}
|
||||
{{endif}}]]></template>
|
||||
<template template_group="index" template_name="simplifiedView" template_data="$table" template_location="front" template_app="forums"><![CDATA[<div class="ipsPageHeader ipsClearfix ipsSpacer_bottom cForumHeader">
|
||||
{{if \IPS\Member::loggedIn()->member_id}}
|
||||
{{if \IPS\forums\Forum::canOnAny( 'add' )}}
|
||||
<ul class='ipsToolList ipsToolList_horizontal ipsClearfix ipsPos_right'>
|
||||
<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>
|
||||
@@ -1825,28 +1902,54 @@
|
||||
{{endif}}
|
||||
|
||||
{$table|raw}]]></template>
|
||||
<template template_group="index" template_name="simplifiedViewSidebar" template_data="$forumIds, $parentIds" template_location="front" template_app="forums"><![CDATA[<div data-controller="forums.front.forum.flow" class='ipsBox cForumMiniList_wrapper' id='elFluidFormFilters'>
|
||||
<template template_group="index" template_name="simplifiedViewSidebar" template_data="$forumIds" template_location="front" template_app="forums"><![CDATA[<div data-controller="forums.front.forum.flow" class='ipsBox cForumMiniList_wrapper' id='elFluidFormFilters'>
|
||||
<div class='ipsSideMenu'>
|
||||
{{if count( \IPS\forums\Forum::roots() ) === 1}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList cForumMiniList_singleRoot'>
|
||||
{{foreach \IPS\forums\Forum::roots() as $category}}
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $parentIds, $category, 0"}
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $category, 0"}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
{{else}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList cForumMiniList_multiRoot'>
|
||||
{{foreach \IPS\forums\Forum::roots() as $category}}
|
||||
{{if $category->hasChildren()}}
|
||||
<li class="{{if in_array( $category->_id, $parentIds )}}cForumMiniList_categorySelected{{endif}}">
|
||||
<a href="{$category->url()}" data-parent-id="{$category->_id}" data-node-id="{$category->_id}" class='{{if in_array( $category->_id, $parentIds )}}cForumMiniList_selected{{endif}} ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$category->_title}</a>
|
||||
<li class="" data-category>
|
||||
<a href="{$category->url()}" data-parent-id="{$category->_id}" data-node-id="{$category->_id}" class='ipsSideMenu_item ipsTruncate ipsTruncate_line'>{$category->_title}</a>
|
||||
{{if $category->hasChildren()}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList'>
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $parentIds, $category, 0"}
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $category, 0"}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
{{if settings.club_nodes_in_apps and $clubForums = \IPS\forums\Forum::clubNodes()}}
|
||||
<li class="{{if in_array( 'clubs', $parentIds )}}cForumMiniList_categorySelected{{endif}}">
|
||||
<a href="{url="app=forums&module=forums&controller=index&forumId=clubs" seoTemplate="forums"}" data-parent-id="clubs" data-node-id="clubs" class='{{if in_array( 'clubs', $parentIds )}}cForumMiniList_selected{{endif}} ipsSideMenu_item ipsTruncate ipsTruncate_line'>{lang="club_node_forums"}</a>
|
||||
<ul class='ipsSideMenu_list cForumMiniList'>
|
||||
{{foreach $clubForums as $idx => $forum}}
|
||||
{{$lastPost = $forum->lastPost();}}
|
||||
{{$unread = \IPS\forums\Topic::containerUnread( $forum );}}
|
||||
{{$children = $forum->children();}}
|
||||
{{if ! $forum->redirect_on and $forum->can('read') }}
|
||||
<li class="{{if $children}}cForumMiniList_category{{endif}} {{if in_array( $forum->_id, $parentIds )}}cForumMiniList_categorySelected{{endif}}">
|
||||
<a href="{$forum->url()}" data-parent-id="clubs" data-node-id="{$forum->_id}" data-has-children="{{if $children}}1{{else}}0{{endif}}" class='{{if in_array( $forum->_id, $forumIds )}}cForumMiniList_selected{{endif}} 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['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}}{lang="club_node" sprintf="$forum->club()->name, $forum->_title"}{{if $unread}}</strong>{{endif}}
|
||||
</span>
|
||||
<span class='ipsType_small ipsType_light cForumMiniList_count'>{expression="\IPS\forums\Topic::contentCount( $forum )"}</span>
|
||||
</a>
|
||||
</li>
|
||||
{{endif}}
|
||||
{{endforeach}}
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -1855,14 +1958,14 @@
|
||||
<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="simplifiedViewSidebar_children" template_data="$forumIds, $parentIds, $parent, $depth" template_location="front" template_app="forums"><![CDATA[{{if $parent->hasChildren()and $depth < 5}}
|
||||
<template template_group="index" template_name="simplifiedViewSidebar_children" template_data="$forumIds, $parent, $depth" template_location="front" template_app="forums"><![CDATA[{{if $parent->hasChildren()and $depth < 5}}
|
||||
{{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') }}
|
||||
<li class="{{if $children}}cForumMiniList_category{{endif}} {{if in_array( $forum->_id, $parentIds )}}cForumMiniList_categorySelected{{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='{{if in_array( $forum->_id, $forumIds )}}cForumMiniList_selected{{endif}} ipsSideMenu_item {{if !$unread}}cForumMiniList_unread{{endif}}'>
|
||||
{{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['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>
|
||||
@@ -1874,7 +1977,7 @@
|
||||
</a>
|
||||
{{if $children}}
|
||||
<ul class='ipsSideMenu_list cForumMiniList'>
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $parentIds, $forum, $depth+1"}
|
||||
{template="simplifiedViewSidebar_children" app="forums" location="front" group="index" params="$forumIds, $forum, $depth+1"}
|
||||
</ul>
|
||||
{{endif}}
|
||||
</li>
|
||||
@@ -1920,7 +2023,7 @@
|
||||
<input type="checkbox" name="{$name}[3]" id='el{$name}_3' data-control="unlimited" {{if isset( $value[3] ) and $value[3]}}checked{{endif}}>
|
||||
<span></span>
|
||||
</span> <label for='el{$name}_3' class='ipsField_unlimited'>{{if mb_strpos( $name, 'not' )}}{lang="no_restriction"}{{else}}{lang="any_time"}{{endif}}</label>]]></template>
|
||||
<template template_group="settings" template_name="popularNow" template_data="$name, $value" template_location="admin" template_app="forums"><![CDATA[<input type="number" name="{$name}[posts]" value="{$value['posts']}" class="ipsField_short"> {lang="posts_in_the_last"} <input type="number" name="{$name}[minutes]" value="{$value['minutes']}" class="ipsField_short"> {lang="minutes"} {lang="or"}
|
||||
<template template_group="settings" template_name="popularNow" template_data="$name, $value, $popularNowMaximum" template_location="admin" template_app="forums"><![CDATA[<input type="number" name="{$name}[posts]" value="{$value['posts']}" class="ipsField_short"> {lang="posts_in_the_last"} <input type="number" name="{$name}[minutes]" value="{$value['minutes']}" max="{$popularNowMaximum}" class="ipsField_short"> {lang="minutes"} {lang="or"}
|
||||
<span class='ipsCustomInput'>
|
||||
<input type="checkbox" name="{$name}[never]" id='el{$name}_never' data-control="unlimited" {{if !$value['posts']}}checked{{endif}}>
|
||||
<span></span>
|
||||
@@ -1942,14 +2045,14 @@
|
||||
{{endif}}]]></template>
|
||||
<template template_group="submit" template_name="createTopicForm" template_data="$forum, $hasModOptions, $topic, $id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class='', $attributes=array(), $sidebar=NULL, $form=NULL, $errorTabs=array()" template_location="front" template_app="forums"><![CDATA[{{$modOptions = array( 'topic_create_state', 'create_topic_locked', 'create_topic_pinned', 'create_topic_hidden', 'create_topic_featured', 'topic_open_time', 'topic_close_time');}}
|
||||
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm>
|
||||
<form accept-charset='utf-8' class="ipsForm {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm data-ipsFormSubmit>
|
||||
<input type="hidden" name="{$id}_submitted" value="1">
|
||||
{{foreach $hiddenValues as $k => $v}}
|
||||
<input type="hidden" name="{$k}" value="{$v}">
|
||||
{{endforeach}}
|
||||
{{if $uploadField}}
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$uploadField}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( uniqid() )"}">
|
||||
<input type="hidden" name="plupload" value="{expression="md5( mt_rand() )"}">
|
||||
{{endif}}
|
||||
|
||||
{{if $form->error}}
|
||||
@@ -2065,7 +2168,7 @@
|
||||
</div>]]></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 {{if $comment->hidden()}}ipsModerated{{endif}} ipsFaded_withHover'>
|
||||
{{if ( settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight and settings.reputation_enabled ) OR $comment->isFeatured()}}
|
||||
{{if ( settings.reputation_enabled and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight ) OR $comment->isFeatured()}}
|
||||
{{if $comment->isFeatured()}}
|
||||
<strong class='ipsComment_popularFlag' data-ipsTooltip title='{lang="this_is_a_featured_post"}'><i class='fa fa-star'></i></strong>
|
||||
{{else}}
|
||||
@@ -2076,7 +2179,7 @@
|
||||
<div class='ipsComment_meta ipsType_light'>
|
||||
<div class='ipsPos_right ipsType_light ipsType_reset ipsFaded ipsFaded_more ipsType_blendLinks'>
|
||||
<ul class='ipsList_inline ipsComment_tools'>
|
||||
{{if $comment->canReport()}}
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<li><a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report_post"}" data-action='reportComment' title='{lang="report_content"}' class='ipsFaded ipsFaded_more'><span class='ipsResponsive_showPhone ipsResponsive_inline'><i class='fa fa-flag'></i></span><span class='ipsResponsive_hidePhone ipsResponsive_inline'>{lang="report_post"}</span></a></li>
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_use_ip_tools') and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'modcp' ) )}}
|
||||
@@ -2184,7 +2287,7 @@
|
||||
<li><a href='{$comment->url('edit')}' data-action='editComment'>{lang="edit"}</a></li>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
{{if ( ! $comment->mapped('first') and $comment->canPromoteToSocialMedia() ) || $comment->canDelete() || $comment->canHide() || $comment->canUnhide() || $comment->canSplit() || ( $comment->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
|
||||
{{if !$comment->mapped('first') and ( $comment->canPromoteToSocialMedia() || $comment->canDelete() || $comment->canHide() || $comment->canUnhide() || $comment->canSplit() || $item->canFeatureComment() || $item->canUnfeatureComment() || ( $comment->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') ) )}}
|
||||
<li>
|
||||
<a href='#elControls_{$comment->$idField}_menu' id='elControls_{$comment->$idField}' data-ipsMenu data-ipsMenu-appendTo='#comment-{$comment->$idField}_wrap'>{lang="options"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elControls_{$comment->$idField}_menu' class='ipsMenu ipsMenu_narrow ipsHide'>
|
||||
@@ -2264,16 +2367,16 @@
|
||||
{{endif}}
|
||||
|
||||
<a id='comment-{$comment->$idField}'></a>
|
||||
<article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} id='elComment_{$comment->$idField}' class='cPost ipsBox {{if $otherClasses}}{$otherClasses}{{endif}} ipsComment {{if ( settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight and settings.reputation_enabled ) OR $comment->isFeatured()}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear ipsColumns ipsColumns_noSpacing ipsColumns_collapsePhone {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}}{{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() === -2}}ipsModerated{{endif}}'>
|
||||
<article {{if $comment->author()->hasHighlightedReplies()}}data-memberGroup="{$comment->author()->member_group_id}" {{endif}} id='elComment_{$comment->$idField}' class='cPost ipsBox {{if $otherClasses}}{$otherClasses}{{endif}} ipsComment {{if ( settings.reputation_enabled and settings.reputation_highlight and $comment->reactionCount() >= settings.reputation_highlight ) OR $comment->isFeatured()}}ipsComment_popular{{endif}} ipsComment_parent ipsClearfix ipsClear ipsColumns ipsColumns_noSpacing ipsColumns_collapsePhone {{if $comment->author()->hasHighlightedReplies()}}ipsComment_highlighted{{endif}}{{if $comment->isIgnored()}}ipsHide{{endif}} {{if $comment->hidden() OR $item->hidden() === -2}}ipsModerated{{endif}}'>
|
||||
{{if $item->isQuestion() and !$comment->new_topic}}
|
||||
{template="postRating" group="topics" app="forums" params="$item, $comment, $votes"}
|
||||
{{endif}}
|
||||
|
||||
<div class='cAuthorPane cAuthorPane_mobile ipsResponsive_showPhone ipsResponsive_block'>
|
||||
<span class='ipsType_sectionHead cAuthorPane_author ipsResponsive_showPhone ipsResponsive_inlineBlock ipsType_break ipsType_blendLinks ipsTruncate ipsTruncate_line'>
|
||||
<h3 class='ipsType_sectionHead cAuthorPane_author ipsResponsive_showPhone ipsResponsive_inlineBlock ipsType_break ipsType_blendLinks ipsTruncate ipsTruncate_line'>
|
||||
{template="userLink" group="global" app="core" params="$comment->author(), $comment->warningRef(), $comment->author()->group['g_id']"}
|
||||
<span class='ipsResponsive_showPhone ipsResponsive_inline'> {template="reputationBadge" group="global" app="core" params="$comment->author()"}</span>
|
||||
</span>
|
||||
</h3>
|
||||
<div class='cAuthorPane_photo'>
|
||||
{template="userPhoto" app="core" group="global" params="$comment->author(), 'large', $comment->warningRef()"}
|
||||
</div>
|
||||
@@ -2402,12 +2505,12 @@
|
||||
|
||||
<li><span data-role="voteCount" data-voteCount="{expression="intval( $topic->question_rating )"}" class='cAnswerRating {{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === 1}}ipsType_positive{{elseif isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === -1}}ipsType_negative{{endif}}'>{expression="intval( $topic->question_rating )"}</span></li>
|
||||
|
||||
{{if $topic->canVote() && \IPS\Settings::i()->forums_answers_downvote}}
|
||||
{{if $topic->canVote() && \IPS\Settings::i()->forums_questions_downvote}}
|
||||
<li>
|
||||
<a href='{$topic->url()->setQueryString( array( 'do' => 'rateQuestion', 'rating' => -1 ) )->csrf()}' class='{{if !$topic->canVote(-1)}}ipsHide{{endif}} cAnswerRate cAnswerRate_down {{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === -1}}ipsType_negative{{endif}}' title='{lang="vote_question_down"}' data-ipsTooltip><i class='fa fa-caret-down'></i></a>
|
||||
<span class='{{if $topic->canVote(-1)}}ipsHide{{endif}} cAnswerRate cAnswerRate_down {{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === -1}}ipsType_negative{{endif}}'><i class='fa fa-caret-down'></i></span>
|
||||
</li>
|
||||
{{elseif \IPS\Settings::i()->forums_answers_downvote}}
|
||||
{{elseif \IPS\Settings::i()->forums_questions_downvote}}
|
||||
<li>
|
||||
<span class='cAnswerRate cAnswerRate_down cAnswerRate_noPermission' {{if !\IPS\Member::loggedIn()->member_id}}data-ipsTooltip title='{lang="sign_in_rate_question"}'{{endif}}><i class='fa fa-caret-down'></i></span>
|
||||
</li>
|
||||
@@ -2606,17 +2709,34 @@
|
||||
{$poll|raw}
|
||||
<br>
|
||||
{{endif}}
|
||||
<div data-controller='core.front.core.commentFeed,forums.front.topic.view, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$topic->url()}' {{if $topic->isLastPage() and !$topic->isQuestion()}}data-lastPage{{endif}} data-feedID='topic-{$topic->tid}' class='cTopic ipsClear ipsSpacer_top'>
|
||||
<div data-controller='core.front.core.commentFeed,forums.front.topic.view, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$topic->url()}' {{if $topic->isLastPage()}}data-lastPage{{endif}} data-feedID='topic-{$topic->tid}' class='cTopic ipsClear ipsSpacer_top'>
|
||||
{{if $topic->isQuestion() && $question}}
|
||||
<div class='ipsAreaBackground ipsPad'>
|
||||
<h2 class='ipsType_sectionHead ipsType_reset ipsSpacer_bottom'>{lang="question_title"}</h2>
|
||||
{template="postContainer" group="topics" app="forums" params="$topic, $question, $votes, 'cPostQuestion'"}
|
||||
</div>
|
||||
|
||||
<div class='ipsBox ipsSpacer_top'>
|
||||
<div class='ipsSpacer_both'>
|
||||
<h2 class='ipsType_sectionTitle ipsType_reset ipsType_medium ipsHide'>{lang="answer_count" pluralize="( $topic->posts ) ? $topic->posts - 1 : 0"}</h2>
|
||||
<div class="ipsButtonBar ipsPad_half ipsClearfix ipsClear">
|
||||
<div class="ipsClearfix ipsClear">
|
||||
<ul class="ipsPos_right ipsButtonRow ipsClearfix">
|
||||
{{if ( count( $topic->commentMultimodActions() ) && ( $topic->posts > 1 OR $topic->mapped('unapproved_comments') > 0 OR $topic->mapped('hidden_comments') > 0 ) ) || $pagination}}
|
||||
<li>
|
||||
<a class="ipsJS_show" href="#elCheck_menu" id="elCheck" title='{lang="select_rows_tooltip"}' data-ipsTooltip data-ipsAutoCheck data-ipsAutoCheck-context="#elPostFeed" data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active">
|
||||
<span class="cAutoCheckIcon ipsType_medium"><i class="fa fa-square-o"></i></span> <i class="fa fa-caret-down"></i>
|
||||
<span class='ipsNotificationCount' data-role='autoCheckCount'>0</span>
|
||||
</a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsHide" id="elCheck_menu">
|
||||
<li class="ipsMenu_title">{lang="select_rows"}</li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="all"><a href="#">{lang="all"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="none"><a href="#">{lang="none"}</a></li>
|
||||
<li class="ipsMenu_sep"><hr></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="hidden"><a href="#">{lang="hidden"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="unhidden"><a href="#">{lang="unhidden"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="unapproved"><a href="#">{lang="unapproved"}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
{{endif}}
|
||||
<li>
|
||||
<a href='{$topic->url()}' id="elSortBy_answers" {{if !isset( request.sortby )}}class='ipsButtonRow_active{{endif}}'>{lang="sort_by_answers"}</a>
|
||||
</li>
|
||||
@@ -2628,17 +2748,40 @@
|
||||
{$pagination|raw}
|
||||
{{endif}}
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{if $pagination}}
|
||||
<div class="ipsClearfix ipsClear ipsSpacer_bottom">
|
||||
{$pagination|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if ( count( $topic->commentMultimodActions() ) && ( $topic->posts > 1 OR $topic->mapped('unapproved_comments') > 0 OR $topic->mapped('hidden_comments') > 0 ) ) || $pagination}}
|
||||
|
||||
<div class="ipsClearfix ipsClear ipsSpacer_bottom">
|
||||
{{if count( $topic->commentMultimodActions() )}}
|
||||
<ul class="ipsButtonRow ipsPos_right ipsClearfix">
|
||||
<li>
|
||||
<a class="ipsJS_show" href="#elCheck_menu" id="elCheck" title='{lang="select_rows_tooltip"}' data-ipsTooltip data-ipsAutoCheck data-ipsAutoCheck-context="#elPostFeed" data-ipsMenu data-ipsMenu-activeClass="ipsButtonRow_active">
|
||||
<span class="cAutoCheckIcon ipsType_medium"><i class="fa fa-square-o"></i></span> <i class="fa fa-caret-down"></i>
|
||||
<span class='ipsNotificationCount' data-role='autoCheckCount'>0</span>
|
||||
</a>
|
||||
<ul class="ipsMenu ipsMenu_auto ipsMenu_withStem ipsHide" id="elCheck_menu">
|
||||
<li class="ipsMenu_title">{lang="select_rows"}</li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="all"><a href="#">{lang="all"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="none"><a href="#">{lang="none"}</a></li>
|
||||
<li class="ipsMenu_sep"><hr></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="hidden"><a href="#">{lang="hidden"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="unhidden"><a href="#">{lang="unhidden"}</a></li>
|
||||
<li class="ipsMenu_item" data-ipsMenuValue="unapproved"><a href="#">{lang="unapproved"}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
{{endif}}
|
||||
{{if $pagination}}
|
||||
{$pagination|raw}
|
||||
{{endif}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
|
||||
{template="featuredComments" group="global" app="core" params="$topic->featuredComments(), $topic->url()->setQueryString( 'recommended', 'comments' ), 'recommended_posts', 'post_lc'"}
|
||||
|
||||
<div data-role='commentFeed' data-controller='core.front.core.moderation' {{if $topic->isQuestion()}}class='ipsPad ipsAreaBackground'{{endif}}>
|
||||
<div id="elPostFeed" data-role='commentFeed' data-controller='core.front.core.moderation' {{if $topic->isQuestion()}}class='ipsPad ipsAreaBackground'{{endif}}{{if $topic->isQuestion() AND $topic->topic_answered_pid}} data-topicAnswerID="{$topic->topic_answered_pid}"{{endif}}>
|
||||
<form action="{$topic->url()->csrf()->setQueryString( 'do', 'multimodComment' )}" method="post" data-ipsPageAction data-role='moderationTools'>
|
||||
{{$postCount=0; $timeLastRead = $topic->timeLastRead(); $lined = FALSE;}}
|
||||
{{if count( $comments )}}
|
||||
@@ -2665,16 +2808,13 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{if $topic->isQuestion()}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if $pagination}}
|
||||
<div class="ipsClearfix ipsClear ipsSpacer_top">
|
||||
<div class='ipsSpacer_top ipsClearfix ipsClear'>
|
||||
{$pagination|raw}
|
||||
</div>
|
||||
{{endif}}
|
||||
|
||||
{{if $topic->commentForm() || $topic->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{{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 ipsAreaBackground ipsPad {{if !$topic->canComment()}}cTopicPostArea_noSize{{endif}} ipsSpacer_top'>
|
||||
{{if $topic->commentForm()}}
|
||||
@@ -2691,6 +2831,8 @@
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
|
||||
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
|
||||
{{elseif !\IPS\Member::loggedIn()->checkPostsPerDay()}}
|
||||
{template="commentUnavailable" group="forms" location="front" app="core" params="'member_exceeded_posts_per_day'"}
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</div>
|
||||
@@ -2706,56 +2848,68 @@
|
||||
{{endif}}
|
||||
</div>
|
||||
|
||||
{{if $topic->canPin() or $topic->canUnpin() or $topic->canFeature() or $topic->canUnfeature() or $topic->canHide() or $topic->canUnhide() or $topic->canMove() or $topic->canLock() or $topic->canUnlock() or $topic->canDelete() or $topic->availableSavedActions()}}
|
||||
{{if ( $topic->canPin() or $topic->canUnpin() or $topic->canFeature() or $topic->canUnfeature() or $topic->canHide() or $topic->canUnhide() or $topic->canMove() or $topic->canLock() or $topic->canUnlock() or $topic->canDelete() or $topic->availableSavedActions() or $topic->canMerge() or $topic->canUnarchive() or $topic->canRemoveArchiveExcludeFlag() or \IPS\Member::loggedIn()->modPermission('can_view_moderation_log') ) or ( $topic->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
|
||||
<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_top ipsResponsive_hidePhone">
|
||||
<li>
|
||||
<a href='#elTopicActions_menu' id='elTopicActions' class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' data-ipsMenu>{lang="moderator_actions"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elTopicActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if $topic->canFeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}'>{lang="feature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnfeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' >{lang="unfeature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canPin()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' >{lang="pin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnpin()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' >{lang="unpin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canHide()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnhide()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' >{{if $topic->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canLock()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' >{lang="lock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnlock()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' >{lang="unlock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canMove()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" >{lang="move"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canMerge()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'merge' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="merge"}" >{lang="merge"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnarchive()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'unarchive' ) )}' data-confirm data-confirmSubMessage="{$topic->unarchiveBlurb()}" >{lang="unarchive"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm >{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if !$topic->isArchived() and $topic->availableSavedActions()}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
{{foreach $topic->availableSavedActions() as $action}}
|
||||
<li class="ipsMenu_item"><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'savedAction', 'action' => $action->_id ) )}' data-confirm>{$action->_title}</a></li>
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class="ipsMenu_item"><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
|
||||
<a href='#elTopicActionsBottom_menu' id='elTopicActionsBottom' class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' data-ipsMenu>{lang="moderator_actions"} <i class='fa fa-caret-down'></i></a>
|
||||
<ul id='elTopicActionsBottom_menu' class='ipsMenu ipsMenu_auto ipsHide'>
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') AND $topic->hidden() == -2}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restore' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_visible_desc"}'>{lang="restore_as_visible"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'restoreAsHidden' ) )}' data-confirm data-confirmSubMessage='{lang="restore_as_hidden_desc"}'>{lang="restore_as_hidden"}</a></li>
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete', 'immediate' => 1 ) )}' data-confirm data-confirmSubMessage='{lang="delete_immediately_desc"}'>{lang="delete_immediately"}</a></li>
|
||||
{{else}}
|
||||
{{if $topic->canFeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'feature' ) )}'>{lang="feature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnfeature()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unfeature' ) )}' >{lang="unfeature"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canPin()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'pin' ) )}' >{lang="pin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnpin()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unpin' ) )}' >{lang="unpin"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canHide()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'hide' ) )}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnhide()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}' >{{if $topic->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canLock()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'lock' ) )}' >{lang="lock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnlock()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unlock' ) )}' >{lang="unlock"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canMove()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'move' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="move"}" >{lang="move"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canMerge()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'merge' ) )}' data-ipsDialog data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="merge"}" >{lang="merge"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canUnarchive()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'unarchive' ) )}' data-confirm data-confirmSubMessage="{$topic->unarchiveBlurb()}" >{lang="unarchive"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canRemoveArchiveExcludeFlag()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'removeArchiveExclude' ) )}' >{lang="remove_archive_exlude"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canDelete()}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm >{lang="delete"}</a></li>
|
||||
{{endif}}
|
||||
{{if $topic->canOnMessage( 'add' )}}
|
||||
<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang="add_message"}</a></li>
|
||||
{{endif}}
|
||||
{{if !$topic->isArchived() and $topic->availableSavedActions()}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
{{foreach $topic->availableSavedActions() as $action}}
|
||||
<li class="ipsMenu_item"><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'savedAction', 'action' => $action->_id ) )}' data-confirm>{$action->_title}</a></li>
|
||||
{{endforeach}}
|
||||
{{endif}}
|
||||
{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
|
||||
<li class='ipsMenu_sep'><hr></li>
|
||||
<li class="ipsMenu_item"><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
|
||||
{{endif}}
|
||||
{{endif}}
|
||||
</ul>
|
||||
</li>
|
||||
@@ -2924,7 +3078,7 @@
|
||||
<div class='ipsPad_half ipsWidget_inner ipsClearfix' data-role='pollContents'>
|
||||
{$pollForm->customTemplate( array( \IPS\Theme::i()->getTemplate( 'widgets', 'forums', 'front' ), 'pollFormWidget' ), $url )|raw}
|
||||
</div>
|
||||
{{elseif !$poll->canVote() or $poll->getVote() or ( request._poll == 'results' and settings.allow_result_view )}}
|
||||
{{elseif ( $poll->canViewResults() and !$poll->canVote() ) or $poll->getVote() or ( request._poll == 'results' and settings.allow_result_view )}}
|
||||
<h3 class='ipsWidget_title ipsType_reset'>
|
||||
<span class='ipsType_break ipsContained'>
|
||||
{$poll->poll_question}
|
||||
@@ -2957,10 +3111,20 @@
|
||||
{{if $poll->canVote() || !member.member_id}}
|
||||
<hr class='ipsHr'>
|
||||
{{if $poll->canVote()}}<a href="{$url->setQueryString( '_poll', 'form' )}" title='{lang="show_vote_options"}' class='ipsButton ipsButton_verySmall ipsButton_light' data-action='viewResults'><i class='fa fa-caret-left'></i> {lang="show_vote_options"}</a>{{endif}}
|
||||
{{if !member.member_id}}{lang="poll_guest" htmlsprintf="\IPS\Http\Url::internal( 'app=core&module=system&controller=login', 'front', 'login', NULL, \IPS\Settings::i()->logins_over_https ), \IPS\Http\Url::internal( 'app=core&module=system&controller=register', 'front', 'register', NULL, \IPS\Settings::i()->logins_over_https )"}{{endif}}
|
||||
{{if !member.member_id}}{lang="poll_guest" htmlsprintf="\IPS\Http\Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ), \IPS\Http\Url::internal( 'app=core&module=system&controller=register', 'front', 'register' )"}{{endif}}
|
||||
{{endif}}
|
||||
<a class='ipsPos_right ipsType_light ipsType_small ipsType_break' href="{$url}">{lang="poll_view_topic"}</a>
|
||||
</div>
|
||||
{{else}}
|
||||
<h3 class='ipsWidget_title ipsType_reset'>
|
||||
<span class='ipsType_break ipsContained'>
|
||||
{$poll->poll_question}
|
||||
<span class='ipsType_small ipsType_light'>{lang="poll_num_votes" pluralize="$poll->votes"}</span>
|
||||
</span>
|
||||
</h3>
|
||||
<div class='ipsPad_half ipsWidget_inner ipsClearfix' data-role='pollContents'>
|
||||
{lang="no_permission_poll"}{{if !\IPS\Member::loggedIn()->member_id}} {lang="poll_guest" htmlsprintf="\IPS\Http\Url::internal( 'app=core&module=system&controller=login', 'front', 'login' ), \IPS\Http\Url::internal( 'app=core&module=system&controller=register', 'front', 'register' )"}{{endif}}
|
||||
</div>
|
||||
{{endif}}
|
||||
{{if !isset( \IPS\Request::i()->fetchPoll )}}
|
||||
</section>
|
||||
@@ -2995,7 +3159,7 @@
|
||||
{template="userPhoto" app="core" group="global" params="$comment->author(), 'mini', $comment->warningRef()"}
|
||||
<div>
|
||||
<p class='ipsPos_right ipsType_reset'>
|
||||
{{if $comment->canReport()}}
|
||||
{{if $comment->canReportOrRevoke() === TRUE}}
|
||||
<a href='{$comment->url('report')}' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-size='medium' data-ipsDialog-flashMessage='{lang="report_submit_success"}' data-ipsDialog-title="{lang="report"}" data-action='reportComment' title='{lang="report_content"}'>{lang="report"}</a> ·
|
||||
{{endif}}
|
||||
|
||||
@@ -3222,12 +3386,18 @@
|
||||
@media screen and (min-width: 768px) and (max-width: 979px) {
|
||||
.cForumQuestion .ipsDataItem_main {
|
||||
width: 100%;
|
||||
padding-left: 5px !important;
|
||||
}
|
||||
|
||||
.cForumQuestion .ipsDataItem_main,
|
||||
.cForumQuestion .cForumQuestion_stat {
|
||||
display: table-cell;
|
||||
}
|
||||
.cForumQuestions .cForumQuestion .cForumQuestion_stat + .ipsDataItem_modCheck {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
padding: 0 4px;
|
||||
}
|
||||
}
|
||||
|
||||
/* PHONES */
|
||||
@@ -4048,17 +4218,14 @@ html[dir="rtl"] .cForumMiniList .cForumMiniList_blob {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.cForumMiniList .cForumMiniList_selected .cForumMiniList_blob,
|
||||
.cForumMiniList .cForumMiniList_categorySelected .cForumMiniList_blob {
|
||||
.cForumMiniList .cForumMiniList_selected > .cForumMiniList_blob {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.cForumMiniList .cForumMiniList_selected .cForumMiniList_blob .fa,
|
||||
.cForumMiniList .cForumMiniList_categorySelected .cForumMiniList_blob .fa {
|
||||
.cForumMiniList .cForumMiniList_selected > .cForumMiniList_blob .fa {
|
||||
display: block;
|
||||
}
|
||||
.cForumMiniList .cForumMiniList_selected .cForumMiniList_blob > span,
|
||||
.cForumMiniList .cForumMiniList_categorySelected .cForumMiniList_blob > span {
|
||||
.cForumMiniList .cForumMiniList_selected > .cForumMiniList_blob > span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -4082,12 +4249,9 @@ html[dir="rtl"] .cForumMiniList .cForumMiniList_blob {
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
.cForumMiniList.cForumMiniList_multiRoot > li > a.cForumMiniList_selected {
|
||||
.cForumMiniList > li > a.cForumMiniList_selected {
|
||||
background: #e5e5e5;
|
||||
}
|
||||
.cForumMiniList_categorySelected {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
|
||||
/* Loading styles */
|
||||
.cForumFluidTable .ipsDataItem_loading > div > span:last-child:after {
|
||||
|
||||
Reference in new issue
Block a user