Jump to content

Alexandru

Clients
  • Posts

    130
  • Joined

  • Last visited

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Alexandru

  1. Go to your template and search for "topic".
    Could contain: Mobile Phone, Phone, Electronics, Text, Page
    After that, CTRL+A in that file, delete all the content inside, and paste this code in.

    {{if $club = $topic->container()->club()}}
    	{{if settings.clubs and settings.clubs_header == 'full'}}
    		{template="header" app="core" group="clubs" params="$club, $topic->container()"}
    	{{endif}}
    	<div id='elClubContainer'>
    {{endif}}
    
    <div class='ipsPageHeader ipsResponsive_pull ipsBox ipsPadding sm:ipsPadding:half ipsMargin_bottom'>
    	{{if \IPS\Application::appIsEnabled('cloud') AND \IPS\cloud\Application::featureIsEnabled( 'realtime' )}}
    		<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'>
    				{{if $topic->canVote()}}
    					<li>
    						<a href='{$topic->url()->setQueryString( array( 'do' => 'rateQuestion', 'rating' => 1 ) )->csrf()}' class='cAnswerRate cAnswerRate_up {{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === 1}}ipsType_positive{{endif}}' title='{{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === 1}}{lang="remove_your_vote"}{{else}}{lang="vote_question_up"}{{endif}}' data-ipsTooltip><i class='fa fa-angle-up'></i></a>
    					</li>
    				{{else}}
    					<li>
    						<span class='cAnswerRate cAnswerRate_up cAnswerRate_noPermission' {{if !\IPS\Member::loggedIn()->member_id}}data-ipsTooltip title='{lang="sign_in_rate_question"}'{{endif}}><i class='fa fa-angle-up'></i></span>
    					</li>
    				{{endif}}
    
    					<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_questions_downvote}}
    					<li>
    						<a href='{$topic->url()->setQueryString( array( 'do' => 'rateQuestion', 'rating' => -1 ) )->csrf()}' class='cAnswerRate cAnswerRate_down {{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === -1}}ipsType_negative{{endif}}' title='{{if isset( $topicVotes[ \IPS\Member::loggedIn()->member_id ] ) && $topicVotes[ \IPS\Member::loggedIn()->member_id ] === -1}}{lang="remove_your_vote"}{{else}}{lang="vote_question_down"}{{endif}}' data-ipsTooltip><i class='fa fa-angle-down'></i></a>
    					</li>
    				{{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-angle-down'></i></span>
    					</li>
    				{{endif}}
    			</ul>
    			<div class='ipsFlex-flex:11'>
    	{{endif}}
    	<div class='ipsFlex ipsFlex-ai:center ipsFlex-fw:wrap ipsGap:4'>
    		<div class='ipsFlex-flex:11'>
    			<h1 class='ipsType_pageTitle ipsContained_container'>
    				{{if $topic->isFutureDate() || $topic->mapped('pinned') || $topic->mapped('featured') || $topic->hidden() === -1 || $topic->hidden() === 1 || $topic->hidden() === -2 || $topic->isSolved() || ( $topic->canToggleItemModeration() and $topic->itemModerationEnabled() )}}
                        {{if $topic->isFutureDate()}}
                             <span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span></span>
                        {{elseif $topic->hidden() === -1}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span></span>
    					{{elseif $topic->hidden() === -2}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$topic->deletedBlurb()}'><i class='fa fa-trash'></i></span></span>
    					{{elseif $topic->hidden() === 1}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span></span>
    					{{elseif $topic->canToggleItemModeration() and $topic->itemModerationEnabled()}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="topic_moderation_enabled"}'><i class='fa fa-user-times'></i></span></span>
    					{{endif}}
    					{{if $topic->mapped('pinned')}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span></span>
    					{{endif}}
    					{{if $topic->mapped('featured')}}
    						<span><span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span></span>
    					{{endif}}
    				{{endif}}
    
    				{{if $topic->prefix() OR ( $topic->canEdit() AND $topic::canTag( NULL, $topic->container() ) AND $topic::canPrefix( NULL, $topic->container() ) )}}
    					<span {{if !$topic->prefix()}}class='ipsHide'{{endif}} {{if ( $topic->canEdit() AND $topic::canTag( NULL, $topic->container() ) AND $topic::canPrefix( NULL, $topic->container() ) )}}data-editablePrefix{{endif}}>
    						{template="prefix" group="global" app="core" params="$topic->prefix( TRUE ), $topic->prefix()"}
    					</span>
    				{{endif}}
    				{{if $topic->canEdit()}}
    					<span class='ipsType_break ipsContained' data-controller="core.front.core.moderation">
    						<span data-role="editableTitle" title='{lang="click_hold_edit"}'>{$topic->title}</span>
    					</span>
    				{{else}}
    					<span class='ipsType_break ipsContained'>
    						<span>{$topic->title}</span>
    					</span>
    				{{endif}}
    			</h1>
    			{{if $topic->locked() && $topic->topic_open_time && $topic->topic_open_time > time()}}
    				<p class='ipsType_reset ipsType_medium'><strong><i class='fa fa-clock-o'></i> {lang="topic_unlocks_at" htmlsprintf="\IPS\DateTime::ts( $topic->topic_open_time )->html(), \IPS\DateTime::ts( $topic->topic_open_time )->localeTime( FALSE )"}</strong></p>
    			{{elseif !$topic->locked() && $topic->topic_close_time && $topic->topic_close_time > time()}}
    				<p class='ipsType_reset ipsType_medium'><strong><i class='fa fa-clock-o'></i> {lang="topic_locks_at" htmlsprintf="\IPS\DateTime::ts( $topic->topic_close_time )->html(), \IPS\DateTime::ts( $topic->topic_close_time )->localeTime( FALSE )"}</strong></p>
    			{{endif}}
    			{{if \count( $topic->tags() ) OR ( $topic->canEdit() AND $topic::canTag( NULL, $topic->container() ) )}}
    				{template="tags" group="global" app="core" params="$topic->tags(), FALSE, FALSE, ( $topic->canEdit() AND $topic::canTag( NULL, $topic->container() ) ) ? $topic->url() : NULL"}
    			{{endif}}
    		</div>
    		{{if $topic->container()->forum_allow_rating}}
    			<div class='ipsFlex-flex:00 ipsType_light'>
    				{{if $topic->canRate()}}
    					<p class='ipsType_reset ipsType_small'>
    						{{if $topic->isQuestion()}}{lang="rate_this_question"}{{else}}{lang="rate_this_topic"}{{endif}}
    					</p>
    				{{endif}}
    				{$topic->rating()|raw}
    			</div>
    		{{endif}}
    	</div>
    	<hr class='ipsHr'>
    	<div class='ipsPageHeader__meta ipsFlex ipsFlex-jc:between ipsFlex-ai:center ipsFlex-fw:wrap ipsGap:3'>
    		<div class='ipsFlex-flex:11'>
    			<div class='ipsPhotoPanel ipsPhotoPanel_mini ipsPhotoPanel_notPhone ipsClearfix'>
    				{template="userPhoto" group="global" app="core" params="$topic->author(), 'mini', $topic->warningRef()"}
    				<div>
    					<p class='ipsType_reset ipsType_blendLinks'>
    						<span class='ipsType_normal'>
    						{{if $topic->isQuestion()}}
    							<strong>{lang="ask_byline_no_date" htmlsprintf="$topic->author()->link( $topic->warningRef(), NULL, $topic->isAnonymous() )"},</strong><br />
    							<span class='ipsType_light'>{datetime="$topic->start_date"}</span>
    						{{else}}
    							<strong>{lang="byline_itemprop" htmlsprintf="$topic->author()->link( $topic->warningRef(), NULL, $topic->isAnonymous() )"}</strong><br />
    							<span class='ipsType_light'>{datetime="$topic->start_date"} {lang="in"} <a href="{$topic->container()->url()}">{$topic->container()->_formattedTitle|raw}</a></span>
    						{{endif}}
    						</span>
    					</p>
    				</div>
    			</div>
    		</div>
    		{{if !$topic->isArchived() and !$topic->container()->password}}
    			<div class='ipsFlex-flex:01 ipsResponsive_hidePhone'>
    				<div class='ipsFlex ipsFlex-ai:center ipsFlex-jc:center ipsGap:3 ipsGap_row:0'>
    					{{if !$topic->container()->disable_sharelinks}}
    						{template="shareButton" app="core" group="sharelinks" params="$topic"}
    					{{endif}}
    					{template="promote" app="core" group="global" params="$topic"}
    					{template="follow" app="core" group="global" params="'forums', 'topic', $topic->tid, $topic->followersCount()"}
    				</div>
    			</div>
    		{{endif}}			
    	</div>
    	{{if $topic->isSolved()}}
    		{{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 ))}" 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>
    				</div>
    			</div>
    		{{endif}}
    	{{endif}}
    	{{if $topic->isQuestion()}}
    			</div>
    		</div>
    	{{endif}}
    </div>
    
    {{if $topic->canSolve() AND ! $topic->isSolved() AND $topic->isNotModeratorButCanSolve()}}
    <div class='cContentMessage cContentMessage_color ipsMessage_success ipsMargin_vertical' data-controller='forums.front.topic.solved'>
        <h3 class='cContentMessage__header'>{lang="solved_did_it_tho_title" sprintf="\IPS\Member::loggedIn()->name"}</h3>
        <div class='ipsPadding'>
            {lang="solved_did_it_tho_desc"}
            {{if member.members_bitoptions['no_solved_reenage']}}
    			<div class='ipsMargin_top'>
    				<a href="#" data-action="mailSolvedReminders" class="ipsButton ipsButton_verySmall"><i class="fa fa-envelope"></i>&nbsp; {lang="solved_reengage_on"}</a>
    			</div>
            {{endif}}
        </div>
    </div>
    {{endif}}
    
    {template="contentItemMessages" group="global" app="core" params="$topic->getMessages(), $topic"}
    
    {{if $topic->hidden() === 1 and $topic->canUnhide()}}
    	<div class="ipsMessage ipsMessage_warning ipsSpacer_top">
    		<p class="ipsType_reset">{lang="topic_pending_approval"}</p>
    		<ul class='ipsList_inline ipsSpacer_top'>
    			<li><a href="{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'unhide' ) )}" class="ipsButton ipsButton_positive ipsButton_verySmall" title='{lang="approve_title_topic"}'><i class="fa fa-check"></i> {lang="approve"}</a></li>
    			{{if $topic->canDelete()}}
    				<li><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'moderate', 'action' => 'delete' ) )}' data-confirm  title='{lang="topic_delete_title"}' class='ipsButton ipsButton_negative ipsButton_verySmall'><i class='fa fa-times'></i> {lang="delete"}</a></li>
    			{{endif}}
    		</ul>
    	</div>
    {{endif}}
    
    <div class='ipsClearfix'>
    	<ul class="ipsToolList ipsToolList_horizontal ipsClearfix ipsSpacer_both {{if !$topic->canComment() and !( $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() )}}ipsResponsive_hidePhone{{endif}}">
    		{{if $topic->canComment()}}
    			<li class='ipsToolList_primaryAction'>
    				<span data-controller='forums.front.topic.reply'>
    					{{if $topic->container()->forums_bitoptions['bw_enable_answers']}}
    						<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' 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>
    		{{endif}}
    			<div class='ipsResponsive_noFloat ipsResponsive_block'>
    				{template="follow" app="core" group="global" params="'forums', 'topic', $topic->tid, $topic->followersCount()"}
    			</div>
    		{{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' )}" 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' )}" rel="nofollow" class='ipsButton ipsButton_link ipsButton_medium ipsButton_fullWidth' title='{lang="start_new_topic_desc"}'>{lang="start_new_topic"}</a>
    				{{endif}}
    			</li>
    		{{endif}}
    		{{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->canToggleItemModeration() ) or ( $topic->isFutureDate() and $topic::canFuturePublish( NULL, $topic->container() ) ) or ( $topic->hidden() == -2 AND \IPS\Member::loggedIn()->modPermission('can_manage_deleted_content') )}}
    			<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 \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->isFutureDate() and $topic::canFuturePublish( NULL, $topic->container() )}}
                                <li class='ipsMenu_item'><a href='{$topic->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
                            {{endif}}
    						{{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()->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()->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()->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()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang="add_message"}</a></li>
    						{{endif}}
    						{{if $topic->canToggleItemModeration()}}
    							<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'toggleItemModeration' ) )}' data-confirm data-confirmMessage='{{if $topic->itemModerationEnabled()}}{lang="disable_topic_moderation_confirm"}{{else}}{lang="enable_topic_moderation_confirm"}{{endif}}'>{{if $topic->itemModerationEnabled()}}{lang="disable_topic_moderation"}{{else}}{lang="enable_topic_moderation"}{{endif}}</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}}
    					{{endif}}
    					{{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
    						<li class='ipsMenu_sep'><hr></li>
    						<li class="ipsMenu_item"><a href='{$topic->url()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
    					{{endif}}
    				</ul>
    			</li>
    		{{endif}}
    	</ul>
    </div>
    {{if $poll = $topic->getPoll()}}
    <div class='ipsBox ipsResponsive_pull'>
    {$poll|raw}
    </div>
    <br>
    {{endif}}
    <div id='comments' 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='ipsBox ipsResponsive_pull'>
    			<h2 class='ipsType_sectionTitle ipsType_reset'>{lang="question_title"}</h2>
    			{template="postContainer" group="topics" app="forums" params="$topic, $question, $votes, 'cPostQuestion ipsBox--child sm:ipsPadding_horizontal:half'"}
    		</div>
    		
    		{{if ( $topic->showSummaryOnDesktop() === 'post' OR $topic->showSummaryOnMobile() )}}
    			<div class="ipsSpacer_top">{template="activity" group="topics" app="forums" params="$topic, 'post'"}</div>
    		{{endif}}
    					
    		<div class='ipsSpacer_both'>
    			<div class="ipsBox ipsResponsive_pull ipsMargin_bottom">
    				<h2 class='ipsType_sectionTitle ipsType_reset ipsHide'>{lang="answer_count" pluralize="( $topic->posts ) ? $topic->posts - 1 : 0"}</h2>
    				<div class="ipsPadding:half ipsClearfix">
    					<ul class="ipsPos_right ipsButtonRow ipsClearfix sm:ipsMargin_bottom:half">
    						{{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>
    						<li>
    							<a href='{$topic->url()->setQueryString( 'sortby', 'date' )}' id="elSortBy_date" {{if isset( request.sortby ) and request.sortby == 'date'}}class='ipsButtonRow_active'{{endif}}>{lang="sort_by_date"}</a>
    						</li>
    					</ul>
    					{{if $pagination}}
    						{$pagination|raw}
    					{{endif}}
    				</div>
    			</div>
    		</div>
    	{{else}}
    			{{if ( \count( $topic->commentMultimodActions() ) && ( $topic->posts > 1 OR $topic->mapped('unapproved_comments') > 0 OR $topic->mapped('hidden_comments') > 0 ) ) || $pagination}}
    
    				<div class="ipsBox ipsResponsive_pull ipsPadding:half ipsClearfix ipsClear ipsMargin_bottom">
    					{{if \count( $topic->commentMultimodActions() )}}
    						<ul class="ipsButtonRow ipsPos_right ipsClearfix sm:ipsMargin_bottom:half">
    							<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 id="elPostFeed" data-role='commentFeed' data-controller='core.front.core.moderation' {{if $topic->isQuestion() AND $topic->topic_answered_pid}} data-topicAnswerID="{$topic->topic_answered_pid}"{{endif}}>
    		<form action="{$topic->url()->csrf()->setQueryString( 'do', 'multimodComment' )->setPage('page', \IPS\Request::i()->page )}" method="post" data-ipsPageAction data-role='moderationTools'>
    			{{$postCount=0; $timeLastRead = $topic->timeLastRead(); $lined = FALSE;}}
    			{{if \count( $comments )}}
    				{{foreach $topic->generateCommentMetaData( $comments, \IPS\Settings::i()->forums_mod_actions_anon ) as $comment}}
    
    					{{if (!$topic->isQuestion() and !$lined and $timeLastRead and $timeLastRead->getTimestamp() < $comment->mapped('date'))}}
    						{{if $lined = TRUE and $postCount}}
    							<div class='ipsUnreadBar'>
    								<span>{lang="topic_meta_unread"}</span>
    							</div>
    						{{endif}}
    					{{endif}}
    
    					{{$postCount++;}}
    					{template="postContainer" group="topics" app="forums" params="$topic, $comment, $votes, ( $topic->isQuestion() ) ? 'cPostQuestion' : ''"}
    					{{if !$topic->isQuestion() and ( isset( $comment->metaData['comment']['moderation'] ) OR isset( $comment->metaData['comment']['timeGap'] ) )}}
    						<ul class='ipsTopicMeta'>
    							{{if isset( $comment->metaData['comment']['moderation'] )}}
    								{{foreach $comment->metaData['comment']['moderation'] as $modAction}}
    									<li class="ipsTopicMeta__item ipsTopicMeta__item--moderation">
    										<span class='ipsTopicMeta__time ipsType_light'>{datetime="$modAction['row']['ctime']" short="true"}</span>
    										<span class='ipsTopicMeta__action'>{$modAction['blurb']}</span>
    									</li>
    								{{endforeach}}
    							{{endif}}
    							{{if isset( $comment->metaData['comment']['timeGap'] )}}
    								<li class="ipsTopicMeta__item ipsTopicMeta__item--time">
    									{$comment->metaData['comment']['timeGap']['blurb']}...
    								</li>
    							{{endif}}
    						</ul>
    					{{endif}}
    					{{if $postCount == 1 AND $advertisement = \IPS\core\Advertisement::loadByLocation( 'ad_topic_view' )}}
    						{$advertisement|raw}
    					{{endif}}
    					{{if ( ( ! $topic->isQuestion() and $postCount == 1 ) and ( $topic->showSummaryOnDesktop() === 'post' OR $topic->showSummaryOnMobile() ) )}}
    						{template="activity" group="topics" app="forums" params="$topic, 'post'"}
    					{{endif}}
    				{{endforeach}}
    			{{else}}
    				{{if $topic->isQuestion()}}
    					<p class='ipsType_center ipsType_light ipsType_large ipsPad' data-role="noComments">
    						{lang="no_answers"}
    					</p>
    				{{endif}}
    			{{endif}}
    			{template="commentMultimod" app="core" group="global" params="$topic"}
    		</form>
    	</div>
    
    	{{if $pagination}}
    		<div class='ipsBox ipsPadding:half ipsMargin_top ipsClearfix ipsClear'>
    			{$pagination|raw}
    		</div>
    	{{endif}}
    	
    	{{if $topic->isArchived()}}
    		<div class='ipsMessage ipsMessage_general ipsSpacer_top'>
    			<h4 class='ipsMessage_title'>{lang="topic_is_archived"}</h4>
    			<p class='ipsType_reset'>
    				{lang="topic_archived_desc"}
    			</p>
    		</div>
    	{{endif}}
    	
    	{{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' {{if \IPS\Application::appIsEnabled('cloud') AND \IPS\cloud\Application::featureIsEnabled( 'realtime' )}}data-controller='cloud.front.realtime.forumsReplyArea,cloud.front.realtime.whosTyping'{{endif}}>
    			{{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>
    				{{elseif ( $topic->getPoll() and $topic->getPoll()->poll_only )}}
    					<p class='ipsType_reset ipsType_warning ipsComposeArea_warning ipsSpacer_bottom ipsSpacer_half'><i class='fa fa-info-circle'></i> {lang="topic_poll_can_comment"}</p>
    				{{endif}}
    				{$topic->commentForm()|raw}
    			{{else}}
    				{{if $topic->locked()}}
    					{template="commentUnavailable" group="forms" location="front" app="core" params="'topic_locked_cannot_comment'"}
    				{{elseif \IPS\Member::loggedIn()->restrict_post}}
    					{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>
    	{{endif}}
    
    	{{if !$topic->isArchived() and !$topic->container()->password}}
    		<div class='ipsBox ipsPadding ipsResponsive_pull ipsResponsive_showPhone ipsMargin_top'>
    			{{if !$topic->container()->disable_sharelinks}}
    				<div class='ipsResponsive_noFloat ipsResponsive_block ipsMargin_bottom:half'>
    					{template="shareButton" app="core" group="sharelinks" params="$topic, 'verySmall', 'light'"}
    				</div>
    			{{endif}}
    			{{if $topic->canPromoteToSocialMedia() and ( $topic instanceof \IPS\Content or $topic instanceof \IPS\Node\Model )}}
    				<div class='ipsResponsive_noFloat ipsResponsive_block ipsMargin_top:half'>
    					{template="promote" app="core" group="global" params="$topic"}
    				</div>
    			{{endif}}
    		</div>
    	{{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() or $topic->canMerge() or $topic->canUnarchive() or $topic->canRemoveArchiveExcludeFlag() or \IPS\Member::loggedIn()->modPermission('can_view_moderation_log') or $topic->canToggleItemModeration() ) 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='#elTopicActionsBottom_menu' id='elTopicActionsBottom' class='ipsButton ipsButton_link ipsButton_link--light 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()->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()->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()->setQueryString( array( 'do' => 'messageForm' ) )}' data-ipsDialog data-ipsDialog-title='{lang="add_message"}'>{lang="add_message"}</a></li>
    					{{endif}}
    					{{if $topic->canToggleItemModeration()}}
    							<li class='ipsMenu_item'><a href='{$topic->url()->csrf()->setQueryString( array( 'do' => 'toggleItemModeration' ) )}' data-confirm data-confirmMessage='{{if $topic->itemModerationEnabled()}}{lang="disable_topic_moderation_confirm"}{{else}}{lang="enable_topic_moderation_confirm"}{{endif}}'>{{if $topic->itemModerationEnabled()}}{lang="disable_topic_moderation"}{{else}}{lang="enable_topic_moderation"}{{endif}}</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()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
    					{{endif}}
    				{{endif}}
    			</ul>
    		</li>
    	</ul>
    {{endif}}
    
    <div class='ipsPager ipsSpacer_top'>
    	<div class="ipsPager_prev">
    		{{if \IPS\forums\Forum::isSimpleView( $topic->container() )}}
    			<a href="{url="app=forums&module=forums&controller=index" seoTemplate="forums"}" title="{{if $topic->isQuestion() }}{lang="go_back_to_qa_forum"}{{else}}{lang="go_back_to_forum"}{{endif}}" rel="parent">
    				<span class="ipsPager_type">{{if $topic->isQuestion() }}{lang="go_back_to_qa_forum"}{{else}}{lang="go_back_to_forum"}{{endif}}</span>
    			</a>
    		{{else}}
    			<a href="{$topic->container()->url()}" title="{lang="go_to_forum" sprintf="$topic->container()->metaTitle()"}" rel="parent">
    				<span class="ipsPager_type">{{if $topic->isQuestion() }}{lang="go_back_to_qa_forum"}{{else}}{lang="go_back_to_forum"}{{endif}}</span>
    			</a>
    		{{endif}}
    	</div>
    	{{if $nextUnread !== NULL}}
    		<div class='ipsPager_next'>
    			<a href="{$topic->url()->setQueryString( array( 'do' => 'nextUnread' ) )}" title='{{if $topic->isQuestion()}}{lang="view_next_unread_question_title"}{{else}}{lang="view_next_unread_title"}{{endif}}'>
    				<span class="ipsPager_type">{{if $topic->isQuestion()}}{lang="view_next_unread_question"}{{else}}{lang="view_next_unread"}{{endif}}</span>
    			</a>
    		</div>
    	{{endif}}
    </div>
    
    {{if $topic->container()->club()}}
    	</div>
    {{endif}}

    I'm sorry but I don't have that much time to explain, but I did it myself and just gave you the code, easier.

    Enjoy!
     

  2. Could contain: Plot, Chart, Text

     

    When you are on a page, you need to look for this 2 (data-pagemodule and data-pagecontroller)

    data-pagemodule = request.module
    data-pagecontroller = request.controller

    Now you can just do it with one,
    for example 

    {{if request.module == "pages"}} 
    But I like to do it with 2 to be sure, cuz sometimes the same module can be on different pages and the controller changes or even reverse!

    Enjoy.

  3. {{if isset( \IPS\Theme::i()->logo['front']['url'] ) AND \IPS\Theme::i()->logo['front']['url'] !== null }}
    {{$logo = \IPS\File::get( 'core_Theme', \IPS\Theme::i()->logo['front']['url'] )->url;}}
    <a href='{setting="base_url"}' id='elLogo' accesskey='1'>
      {{if request.module == 'pages' && request.controller == 'page'}}
        <img src="{$logo}" alt='{setting="board_name" escape="true"}'>
      {{else}}
        <img src="your logo link that is not animated" alt='{setting="board_name" escape="true"}'>
      {{endif}}
    </a>
    {{else}}
    	<a href='{setting="base_url"}' id='elSiteTitle' accesskey='1'>{setting="board_name"}</a>
    {{endif}}

    Here, enjoy! @MartinLawrence

  4. You could even add icons foreach social media link with CSS actually, you don't really need to modify the core template, which you could, It is allowed. You can modify anything you want on your installation, but make sure you don't brake it in the process. 

    There are many ways to add icons, I would recommand directly font-awesome, don't add images. Font-Awesome already has a lot of icons even for business and logos of other companies.

    Pretty simple to use.
     

    Let's say you have your HTML like this.

    <!-- Only the icon without any text, of course you can also add a title or even a tooltip when on hover -->
    <li>
      <a href="{$url}" class="patreon_social_link"><i class="fab fa-patreon"></i></a>
    </li>
    
    <!-- Or the icon + text -->
    <li>
      <a href="{$url}" class="patreon_social_link"><i class="fab fa-patreon"></i> Patreon Community</a>
    </li>

    But remember, additional styles in CSS may be needed in order to look the way you want.

    If me, for exmaple I would like to add social icons in the footer, I would do it this way.
     

    <!-- HTML CODE -->
    <div class="social-icons">
      <a href="link"><i class="fab fa-patreon"></i></a>
      <a href="link"><i class="fab fa-patreon"></i></a>
      <a href="link"><i class="fab fa-patreon"></i></a>
    </div>
    /* CSS CODE */
    .social-icons {
      display: flex;
      align-items: center;
    }
    .social-icons > a {
      width: 40px;
      height: 40px;
      background: rgb(10, 187, 118,0.2);
      color: rgb(10, 187, 118,1);
      border-radius: 100px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-right: 15px;
    }

    And this will be kinda my output
    Could contain: Symbol, Moon, Outdoors, Night, Nature, Astronomy

    But in this image I used SVG icons, which you can find them all over the internet 😄 For free !

    Enjoy! If you need additional help, contact me privately.

  5. 14 hours ago, Jac D said:


    I think you explained it fine. There's just a huge gap between your explanation and my ability to understand it --- no fault of yours.

    You asked:  "Why did you added #facebook.com ?"

    Well, I added Facebook during the installation process a week or so ago because I was asked if I have any social media that I'd like to link and, since I have a Facebook page, I thought it should go there. It was the same for Instagram, Twitter etc...

    As far as I know, I haven't touched any of that original HTML code since it was working two days ago.  All I tried to do was add a new link at the bottom of that HTML for my Patreon page.  But I don't think I touched that original HTML.

     


    Well that was the first thing I did. I tried to add a Patreon link at the bottom of my working HTML and it didn't produce the result that I wanted so I deleted it.  But now the rest of the social media links, which were working, aren't anymore.





     

    Well I tought that was custom HTML not directly the social media from IPS where you can add the link in general configuration, my bad. 

    And yeah what @Jim M said to revert the template to default how it came that should work, but why did you modifiy the template in the first place that you had to revert ?

  6. why did you added #facebook.com ?!

    on href="" add the links with https://facebook/idk/

    Example:
    <a href="https://link.com">

    Enjoy.

    When you don't add the href as https / http or what ever it will acually add the link of the current page before the link added in href.

    For example, I add on href, href="link.com"
    And If im on the main page the link will follow like this https://youcommbaseurl.com/link.com
    But if you add directly the https://link.com, it will not add https://youcommbaseurl.com before it.

    I'm sorry if I didnt explain it better, I'm sleepy right now. 

  7. Talk to your host provider, he will know "hopefully" what to do or your dev if you have one. This might be a problem from your host.
    You've given to little informations, i cant work with provided informations from what may cause this. Like I told you above, it might even be from your host (Happend to me one time).


    For me works just fine.

    Could contain: File, Screen, Electronics, Pc, Computer, Monitor, Hardware, Computer Hardware, Person, Webpage

    And I also see there a timezone set by you. Maybe the DEVs from ips calculated or did something wrong on that timezone, could you try another timezone just for testing?

    If the set timezone is Australia/Brisbane it will actually show the timezone from that country.

    22:36 Australia Time

    12:36 Europe/Berlin Time
  8. Easy.
    Follow this steps.

    Go to your template, search in templates for "logo" than replace that code with this one:
     

    {{if isset( \IPS\Theme::i()->logo['front']['url'] ) AND \IPS\Theme::i()->logo['front']['url'] !== null }}
    {{$logo = \IPS\File::get( 'core_Theme', \IPS\Theme::i()->logo['front']['url'] )->url;}}
    <a href='{setting="base_url"}' id='elLogo' accesskey='1'>
      {{if request.module == 'forums' && request.controller == 'index'}}
        <img src="{$logo}" alt='{setting="board_name" escape="true"}'>
      {{else}}
        <img src="your logo link that is not animated" alt='{setting="board_name" escape="true"}'>
      {{endif}}
    </a>
    {{else}}
    	<a href='{setting="base_url"}' id='elSiteTitle' accesskey='1'>{setting="board_name"}</a>
    {{endif}}

    This means,
    that IF the request.module == 'forums' && request.controller == 'index' will show the first logo on the index page (where the forums are) ELSE show the second logo.

    Where you see {$logo} that is the one uploaded directly to the template.

    after ELSE, where <img> to src="" add the link of your second logo !

    Enjoy!

  9. On 1/3/2023 at 9:27 AM, Marc Stridgen said:

    If there is an internal server error, the best course of action would be to get the contents of that error from your server, as that may tell you what is going on there

    I m afraid I couldn't get in touch with @dndarknight, I wrote him and he never responded back, he left me on seen 😑. He is on his own.

  10. On 12/31/2022 at 2:23 AM, Goza said:

    Since you've added the FA code in the navBarItems template. You can designated different icons by using CSS.

    Could contain: Text

    When you inspect in google chrome, firefox, or whatever browser you use. A little tedious work, add these in your custom.css 

    [data-navitem-id="87"] .fa-comment:before {
    	content: "\f206";
    }

    For each icon inserted, change the ID of the navitem-id and change the content: "\f206" to your prefer icon number. 

    I know, I already work like this for icons, but it would be easier for clients who bought a template that have custom items like that trough CSS. A lot of my clients asked me "How do I modify these icons? ; how do I add one ? " For me it's easy, and I found an easier way cuz I don't like to use the ID's.

    Could contain: Page, Text, File, Webpage, Computer Hardware, Hardware, Electronics

    .ipsNavBar_primary ul[data-role="primaryNavBar"] > li[data-menukey="drawncodes_Online Users"] > 
    a > .navItem--text > .navItem--icon:before {
      content: "";
    }
    
    /* As you can see I added on the <li> an attribute 
    <li .. data-menukey="drawncodes_{$item->title()}"> and It's easier for me than ID's */
    
    /* Adding an option to add your own icons to your navBarItems, 
    it would be so much easier for everybody else aswell. 
    Overall I think this is a good suggestion and It should be taken into consideration */

     

  11. Just now, Luuuk said:

    It is not only with Visitors. The same applies to the topic listing (clicking on a topic title many times but faster that a page can "reload").

    Oh yeah, I forgot about those 😄 😅🙄

  12. Hi there community,
    I've noticed this a long time ago with "Recent Profile Visitors", it's not a bug, but. If you go on someone's profile and you just keep spaming F5 or you abuse the refresh button the Profile Visitators will encrease. For example, I have 500 profile views, and if I go and keep spamming F5 for a few minutes / seconds or whatever i will have 800 / 1000. Now, my suggestion is, could you not make something to prevent this abuse ? I mean It's not a big of a deal, but It's still something.

    And also guys, don't forget about this topic, I want those thing added so badly ❤️ 


    Happy new year !
    #We need to keep IPS running smoothly for everybody ❤️ 

     

     

  13. 1 hour ago, Jim M said:

    Would recommend trying on an unmodified theme if the theme is presenting other issues but as mentioned, you will want to watch out for the 500 Internal Server Error as they will provide you with the issue you're encountering.

    I tried on an unmodified theme already, I will get in touch with @dndarknightand I'm going to try to fix the 500 Internal Server Error, if I dont succsed I will come back with an reply.

  14.  I think you are wrong on this one.
    Just look again 😄 
    Could contain: File, Webpage, Person, Page, Text

    /* These are variables (--badge- ..) which can also be found on :root, html and even on (.) classes / (#) id's */
    .ipsBadge_positive, 
    .ipsBadge_style4 {
        --badge--background: var(--positive-light);
        --badge--color: var(--positive-dark);
    }
    
    /* The actual styles are on ipsBadge_reverse */
    .ipsBadge_reverse {
        color: var(--badge--background, #fff);
        background: var(--badge--color);
    }

    Let's add some logic into this one, if we look closely at .ipsBadge_positive.. we have 2 variables 1. --badge--background  and 2. --badge--color  and these 2 variables also have another 2 variables which are taken from here:
    Could contain: Page, Text

    But if we look at .ipsBadge_reverse, we have actual styles (color & background) and this two have the variables from .ipsBadge_positive.

     

    And if you also look really closely why they added another class with "ipsBadge_reverse" you'll see that the background-color from .ipsBadge_positive is actually the color now and for the color the same, so (logic) they are reversed 😄 

    I hope this clarifies the "mistake" that has been done.

    Happy new year ❤️ 

  15. @Jim M he definitely has some errors with JS even on that template, I already told them about it. The thing is that I've tried a lot of things to fix that, but It's not working. There is definitely (x2) something in the back-end part of the web.

    If he uninstalls all the plugins, that error goes away, which is great. But even if we try to install plugins from marketplace for 4.7.4 it doesn't work. Now I don't know, I didn't have a lot of time to look into that problem, but when I updated their IPS Version a few months ago to a newer one they had a lot of problems with the database, I think I stayed up for like 5 hours that night to fix the database, even the owner of the web told me that more than 5 people tried to update it and they couldn't, but somehow I managed to fix their database.

    I don't like to say something that is worng, but I think they might have this problem from the database ?!

  16. Hello there @Edjazoli.
    There is already some options that are similar with what you're looking for.
    Could contain: Page, Text, File

    If you want to try them out, follow this steps.
    System > Settigs > Login & Registration > Create New.

    Or follow this link:
    https://yourcommunitylink.com/admin/?app=core&module=settings&controller=login&tab=handlers


    Or maybe you have your instalation in another directory:
    https://yourcommunitylink.com/directory/admin/?app=core&module=settings&controller=login&tab=handlers

    Official Documentations from Invisioncommunity:
    1. Google

    2. Facebook

    3. Microsoft


    Or all documentations: 
    https://invisioncommunity.com/4guides/members-and-groups/social-sign-in

     

    Overall its a good suggestion, I agree with you, but there is already such an option, I know a friend of mine had it on his forum. I don't know how it did it, but It's possible.

    Maybe you can find something in the links I've linked that will work similar with what you want.
     

  17. I agree with @Marc Stridgen.

     

    This topic had a problem almost the same with you, and it was from a third party application. If you don't find the culprit you can always go to your theme editor, seach "GlobalTemplate" and press on revert, that will revert the globaltemplate to its original core file.

    Or talk to your front-end developer who made your template to revert to default the globaltemplate.

    But be carefull, if you revert and your template has custom elements into Global Template, all those will be lost. So make sure you have a backup of it.

×
×
  • Create New...