Advertisement
Guest User

Untitled

a guest
Nov 6th, 2020
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 18.09 KB | None | 0 0
  1. <xf:title page="{$page}">{{ prefix('thread', $thread, 'escaped') }}{$thread.title}</xf:title>
  2. <xf:h1>{{ prefix('thread', $thread) }}{$thread.title}</xf:h1>
  3.  
  4. <xf:if is="!$thread.isSearchEngineIndexable()">
  5.     <xf:head option="metaNoindex"><meta name="robots" content="noindex" /></xf:head>
  6. </xf:if>
  7.  
  8. <xf:description meta="false">
  9.     <ul class="listInline listInline--bullet">
  10.         <li>
  11.             <xf:fa icon="fa-user" title="{{ phrase('thread_starter')|for_attr }}" />
  12.             <span class="u-srOnly">{{ phrase('thread_starter') }}</span>
  13.  
  14.             <xf:username user="{$thread.User}" defaultname="{$thread.username}" class="u-concealed" />
  15.         </li>
  16.         <li>
  17.             <xf:fa icon="fa-clock" title="{{ phrase('start_date')|for_attr }}" />
  18.             <span class="u-srOnly">{{ phrase('start_date') }}</span>
  19.  
  20.             <a href="{{ link('threads', $thread) }}" class="u-concealed"><xf:date time="{$thread.post_date}" /></a>
  21.         </li>
  22.         <xf:if is="$xf.options.enableTagging AND ($thread.canEditTags() OR $thread.tags)">
  23.             <li>
  24.                 <xf:macro template="tag_macros" name="list"
  25.                     arg-tags="{$thread.tags}"
  26.                     arg-tagList="tagList--thread-{$thread.thread_id}"
  27.                     arg-editLink="{{ $thread.canEditTags() ? link('threads/tags', $thread) : '' }}" />
  28.             </li>
  29.         </xf:if>
  30.     </ul>
  31. </xf:description>
  32.  
  33. <xf:set var="$fpSnippet" value="{{ snippet($firstPost.message, 0, {'stripBbCode': true}) }}" />
  34. <xf:if is="$thread.cover_image">
  35. <xf:macro template="metadata_macros" name="metadata"
  36.    arg-description="{$fpSnippet}"
  37.    arg-shareUrl="{{ link('canonical:threads', $thread) }}"
  38.    arg-canonicalUrl="{{ link('canonical:threads', $thread, {'page': $page}) }}"
  39.    arg-imageUrl="{{ link({$thread.cover_image}) }}" />
  40. <xf:else/>
  41.    
  42. <xf:macro template="metadata_macros" name="metadata"
  43.     arg-description="{$fpSnippet}"
  44.     arg-shareUrl="{{ link('canonical:threads', $thread) }}"
  45.     arg-canonicalUrl="{{ link('canonical:threads', $thread, {'page': $page}) }}" />
  46. </xf:if>
  47.  
  48. <xf:page option="ldJsonHtml">
  49.     <xf:extension name="structured_data_extra_params" value="{{ [] }}" />
  50.     <xf:extension name="structured_data">
  51.         <xf:set var="$ldJson"
  52.             value="{{ $thread.getLdStructuredData($firstPost, $page, extension_value('structured_data_extra_params')) }}"
  53.         />
  54.         <xf:if is="$ldJson">
  55.             <script type="application/ld+json">
  56.                 {$ldJson|json(true)|raw}
  57.             </script>
  58.         </xf:if>
  59.     </xf:extension>
  60. </xf:page>
  61.  
  62. <xf:extension name="content_top"></xf:extension>
  63. <!--[XF:content_top]-->
  64.  
  65. <xf:if is="$pendingApproval">
  66.     <div class="blockMessage blockMessage--important">{{ phrase('content_submitted_displayed_pending_approval') }}</div>
  67. </xf:if>
  68.  
  69. <xf:if is="$thread.prefix_id">
  70.     <xf:if contentcheck="true">
  71.         <div class="blockMessage blockMessage--alt blockMessage--small blockMessage--close">
  72.             <xf:contentcheck>{{ prefix_description('thread', $thread.prefix_id) }}</xf:contentcheck>
  73.         </div>
  74.     </xf:if>
  75. </xf:if>
  76.  
  77. <xf:macro template="forum_macros" name="forum_page_options" arg-forum="{$forum}" arg-thread="{$thread}" />
  78.  
  79. <xf:breadcrumb source="$forum.getBreadcrumbs()" />
  80.  
  81. <xf:if is="$canInlineMod OR $thread.canUseInlineModeration()">
  82.     <xf:js src="xf/inline_mod.js" min="1" />
  83. </xf:if>
  84.  
  85. <xf:extension name="above_messages"></xf:extension>
  86. <xf:ad position="thread_view_above_messages" arg-thread="{$thread}" />
  87. <xf:widgetpos id="thread_view_above_messages" context-thread="{$thread}" />
  88.  
  89. <xf:set var="$threadActionsHtml">
  90.     <xf:extension name="thread_actions">
  91.         <xf:if contentcheck="true">
  92.             <div class="block-outer-opposite">
  93.                 <div class="buttonGroup">
  94.                 <xf:contentcheck>
  95.                     <xf:extension name="thread_action_buttons">
  96.                         <xf:if is="$canInlineMod">
  97.                             <xf:macro template="inline_mod_macros" name="button" />
  98.                         </xf:if>
  99.                         <xf:if is="$thread.discussion_state == 'deleted' AND $thread.canUndelete()">
  100.                             <xf:button href="{{ link('threads/undelete', $thread) }}" class="button--link" overlay="true">
  101.                                 {{ phrase('undelete') }}
  102.                             </xf:button>
  103.                         </xf:if>
  104.                         <xf:if is="$thread.canApproveUnapprove() AND $thread.discussion_state == 'moderated'">
  105.                             <xf:button href="{{ link('threads/approve', $thread) }}" class="button--link" overlay="true">
  106.                                 {{ phrase('approve') }}
  107.                             </xf:button>
  108.                         </xf:if>
  109.                         <xf:if is="$xf.visitor.user_id AND $thread.isUnread()">
  110.                             <xf:button href="{{ ($firstUnread AND $isSimpleDateDisplay) ? ('#post-' . $firstUnread.post_id) : link('threads/unread', $thread, {'new': 1}) }}"
  111.                                 class="button--link"
  112.                                 data-xf-click="scroll-to"
  113.                                 data-silent="true">
  114.                                     {{ phrase('jump_to_new') }}
  115.                             </xf:button>
  116.                         </xf:if>
  117.                         <xf:if is="$thread.canWatch()">
  118.                             <xf:button href="{{ link('threads/watch', $thread) }}" class="button--link"
  119.                                 data-xf-click="switch-overlay"
  120.                                 data-sk-watch="{{ phrase('watch') }}"
  121.                                 data-sk-unwatch="{{ phrase('unwatch') }}">
  122.                                 <xf:if is="{$thread.Watch.{$xf.visitor.user_id}}">
  123.                                     {{ phrase('unwatch') }}
  124.                                 <xf:else />
  125.                                     {{ phrase('watch') }}
  126.                                 </xf:if>
  127.                             </xf:button>
  128.                         </xf:if>
  129.  
  130.                         <xf:if contentcheck="true">
  131.                             <div class="buttonGroup-buttonWrapper">
  132.                                 <xf:button class="button--link menuTrigger" data-xf-click="menu" aria-expanded="false" aria-haspopup="true" title="{{ phrase('more_options') }}">&#8226;&#8226;&#8226;</xf:button>
  133.                                 <div class="menu" data-menu="menu" aria-hidden="true">
  134.                                     <div class="menu-content">
  135.                                         <h4 class="menu-header">{{ phrase('more_options') }}</h4>
  136.                                         <xf:contentcheck>
  137.                                             <!--[XF:thread_tools_menu:top]-->
  138.                                             <xf:if is="$thread.canEdit()">
  139.                                                 <a href="{{ link('threads/edit', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('edit_thread') }}</a>
  140.                                             </xf:if>
  141.                                             <xf:if is="$thread.canChangeType() AND count($creatableThreadTypes) > 1">
  142.                                                 <a href="{{ link('threads/change-type', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('change_thread_type') }}</a>
  143.                                             </xf:if>
  144.                                             <xf:if is="$thread.canLockUnlock()">
  145.                                                 <a href="{{ link('threads/quick-close', $thread) }}"
  146.                                                     class="menu-linkRow"
  147.                                                     data-xf-click="switch"
  148.                                                     data-menu-closer="true">
  149.  
  150.                                                     <xf:if is="$thread.discussion_open">
  151.                                                         {{ phrase('lock_thread') }}
  152.                                                     <xf:else />
  153.                                                         {{ phrase('unlock_thread') }}
  154.                                                     </xf:if>
  155.                                                 </a>
  156.                                             </xf:if>
  157.                                             <xf:if is="$thread.canStickUnstick()">
  158.                                                 <a href="{{ link('threads/quick-stick', $thread) }}"
  159.                                                     class="menu-linkRow"
  160.                                                     data-xf-click="switch"
  161.                                                     data-menu-closer="true">
  162.  
  163.                                                     <xf:if is="$thread.sticky">
  164.                                                         {{ phrase('unstick_thread') }}
  165.                                                     <xf:else />
  166.                                                         {{ phrase('stick_thread') }}
  167.                                                     </xf:if>
  168.                                                 </a>
  169.                                             </xf:if>
  170.                                             <xf:if is="$thread.canCreatePoll()">
  171.                                                 <a href="{{ link('threads/poll/create', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('create_poll') }}</a>
  172.                                             </xf:if>
  173.                                             <xf:if is="$thread.canDelete('soft')">
  174.                                                 <a href="{{ link('threads/delete', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('delete_thread') }}</a>
  175.                                             </xf:if>
  176.                                             <xf:if is="$thread.canMove()">
  177.                                                 <a href="{{ link('threads/move', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('move_thread') }}</a>
  178.                                             </xf:if>
  179.                                             <xf:if is="$thread.canReplyBan()">
  180.                                                 <a href="{{ link('threads/reply-bans', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('manage_reply_bans') }}</a>
  181.                                             </xf:if>
  182.                                             <xf:if is="$thread.canViewModeratorLogs()">
  183.                                                 <a href="{{ link('threads/moderator-actions', $thread) }}" data-xf-click="overlay" class="menu-linkRow">{{ phrase('moderator_actions') }}</a>
  184.                                             </xf:if>
  185.                                             <!--[XF:thread_tools_menu:before_footer]-->
  186.                                             <xf:if is="$thread.canUseInlineModeration()">
  187.                                                 <div class="menu-footer"
  188.                                                     data-xf-init="inline-mod"
  189.                                                     data-type="thread"
  190.                                                     data-href="{{ link('inline-mod') }}"
  191.                                                     data-toggle=".js-threadInlineModToggle">
  192.                                                     <xf:checkbox>
  193.                                                         <xf:option class="js-threadInlineModToggle" value="{$thread.thread_id}">{{ phrase('select_for_moderation') }}</xf:option>
  194.                                                     </xf:checkbox>
  195.                                                 </div>
  196.                                             </xf:if>
  197.                                             <!--[XF:thread_tools_menu:bottom]-->
  198.                                         </xf:contentcheck>
  199.                                     </div>
  200.                                 </div>
  201.                             </div>
  202.                         </xf:if>
  203.                     </xf:extension>
  204.                 </xf:contentcheck>
  205.                 </div>
  206.             </div>
  207.         </xf:if>
  208.     </xf:extension>
  209. </xf:set>
  210.  
  211. <xf:set var="$postSortFilterHtml">
  212.     <xf:extension name="post_sort_filter">
  213.         <xf:if is="($posts is not empty OR $filters)">
  214.             <xf:if contentcheck="true">
  215.                 <div class="tabs tabs--standalone tabs--standalone--small tabs--standalone--inline">
  216.                 <xf:contentcheck>
  217.                     <xf:if is="$availableSorts AND count($availableSorts) > 1">
  218.                         <xf:foreach loop="$availableSorts" key="$sortKey" value="$null">
  219.                             <a href="{{ link('threads', $thread, $pageNavFilters|replace({'order': $sortKey == $defaultOrder ? null : $sortKey})) }}"
  220.                                 class="tabs-tab {{ $sortKey == $effectiveOrder ? 'is-active' : '' }}">
  221.                                 {{ phrase_dynamic('thread_sort.' . $sortKey) }}
  222.                             </a>
  223.                         </xf:foreach>
  224.                     </xf:if>
  225.                     <xf:extension name="post_sort_filter_end"></xf:extension>
  226.                 </xf:contentcheck>
  227.                 </div>
  228.             </xf:if>
  229.         </xf:if>
  230.     </xf:extension>
  231. </xf:set>
  232.  
  233. <xf:if is="$isFirstPostPinned">
  234.     <xf:extension name="pinned_block_before"></xf:extension>
  235.  
  236.     <xf:extension name="pinned_block_classes" value="" />
  237.     <div class="block block--messages {{ extension_value('pinned_block_classes') }}"
  238.         data-xf-init="lightbox{{ $xf.options.selectQuotable ? ' select-to-quote' : '' }}"
  239.         data-message-selector=".js-post"
  240.         data-lb-id="thread-{$thread.thread_id}">
  241.         <xf:extension name="pinned_outer_before">
  242.             <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer" />
  243.  
  244.             <div class="block-outer"><xf:trim>
  245.                 {$threadActionsHtml}
  246.             </xf:trim></div>
  247.  
  248.             <xf:macro name="thread_custom_fields_status"
  249.                 arg-thread="{$thread}"
  250.                 arg-forum="{$forum}"
  251.                 arg-wrapperClass="block-outer" />
  252.         </xf:extension>
  253.  
  254.         <div class="block-container">
  255.             <div class="block-body">
  256.                 <xf:extension name="pinned_body">
  257.                     <xf:macro name="{{ $templateOverrides.pinned_first_post_macro ?: 'post_macros::post' }}"
  258.                         arg-post="{$pinnedPost}"
  259.                         arg-thread="{$thread}"
  260.                         arg-highlightedPosts="{$highlightedPosts}"
  261.                         args="{$templateOverrides.pinned_first_post_macro_args}" />
  262.                 </xf:extension>
  263.             </div>
  264.         </div>
  265.  
  266.         <xf:extension name="pinned_outer_after"></xf:extension>
  267.     </div>
  268. </xf:if>
  269.  
  270. <xf:extension name="above_messages_below_pinned"></xf:extension>
  271.  
  272. <xf:extension name="message_block_classes" value="block--messages" />
  273. <div class="block {{ extension_value('message_block_classes') }}" data-xf-init="{{ $canInlineMod ? 'inline-mod' : '' }}" data-type="post" data-href="{{ link('inline-mod') }}" data-search-target="*">
  274.  
  275.     <span class="u-anchorTarget" id="posts"></span>
  276.  
  277.     <xf:if is="!$isFirstPostPinned">
  278.         <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer" />
  279.     </xf:if>
  280.  
  281.     <div class="block-outer"><xf:extension name="messages_block_outer"><xf:trim>
  282.         <xf:pagenav
  283.             page="{$page}" perpage="{$perPage}" total="{$totalPosts}"
  284.             link="threads" data="{$thread}" params="{$pageNavFilters}" hash="{$pageNavHash}"
  285.             wrapperclass="block-outer-main" />
  286.  
  287.             <xf:if is="!$isFirstPostPinned">
  288.                 {$threadActionsHtml}
  289.             </xf:if>
  290.  
  291.             <xf:if contentcheck="true">
  292.                 <div class="block-outer-opposite">
  293.                     <xf:contentcheck>{$postSortFilterHtml}</xf:contentcheck>
  294.                 </div>
  295.             </xf:if>
  296.     </xf:trim></xf:extension></div>
  297.  
  298.     <xf:extension name="messages_block_outer_secondary"></xf:extension>
  299.  
  300.     <xf:if is="!$isFirstPostPinned">
  301.         <xf:macro name="thread_custom_fields_status"
  302.             arg-thread="{$thread}"
  303.             arg-forum="{$forum}"
  304.             arg-wrapperClass="block-outer" />
  305.     </xf:if>
  306.  
  307.     <div class="block-container lbContainer"
  308.         data-xf-init="lightbox{{ $xf.options.selectQuotable ? ' select-to-quote' : '' }}"
  309.         data-message-selector=".js-post"
  310.         data-lb-id="thread-{$thread.thread_id}"
  311.         data-lb-universal="{$xf.options.lightBoxUniversal}">
  312.  
  313.         <div class="block-body js-replyNewMessageContainer">
  314.             <xf:if is="$posts is not empty">
  315.                 <xf:foreach loop="$posts" value="$post">
  316.  
  317.                     <xf:extension name="messages_block_body_before_post"></xf:extension>
  318.  
  319.                     <xf:if is="$post.message_state == 'deleted'">
  320.                         <xf:macro name="{{ $templateOverrides.post_deleted_macro ?: 'post_macros::post_deleted' }}"
  321.                             arg-post="{$post}"
  322.                             arg-thread="{$thread}"
  323.                             args="{$templateOverrides.post_deleted_macro_args}" />
  324.                     <xf:else />
  325.                         <xf:macro name="{{ $templateOverrides.post_macro ?: 'post_macros::post' }}"
  326.                             arg-post="{$post}"
  327.                             arg-thread="{$thread}"
  328.                             arg-highlightedPosts="{$highlightedPosts}"
  329.                             args="{$templateOverrides.post_macro_args}" />
  330.                     </xf:if>
  331.  
  332.                     <xf:extension name="messages_block_body_after_post"></xf:extension>
  333.  
  334.                 </xf:foreach>
  335.             <xf:else />
  336.                 <xf:if is="$filters">
  337.                     <div class="message">
  338.                         <div class="message-inner">
  339.                             <div class="message-cell">
  340.                                 {{ phrase('there_no_posts_matching_your_filters') }}
  341.                             </div>
  342.                         </div>
  343.                     </div>
  344.                 </xf:if>
  345.             </xf:if>
  346.         </div>
  347.     </div>
  348.  
  349.     <xf:if contentcheck="true">
  350.         <div class="block-outer block-outer--after">
  351.             <xf:contentcheck>
  352.                 <xf:pagenav
  353.                     page="{$page}" perpage="{$perPage}" total="{$totalPosts}"
  354.                     link="threads" data="{$thread}" params="{$pageNavFilters}" hash="{$pageNavHash}"
  355.                     wrapperclass="block-outer-main" />
  356.  
  357.                 <xf:showignored wrapperclass="block-outer-opposite" />
  358.                 <xf:if is="
  359.                     !$thread.canReply()
  360.                     AND !$thread.canReplyPreReg()
  361.                     AND $thread.discussion_state == 'visible'
  362.                     AND $thread.discussion_open
  363.                 ">
  364.                     <div class="block-outer-opposite">
  365.                         <xf:if is="$xf.visitor.user_id">
  366.                             <span class="button button--wrap is-disabled">
  367.                                 {{ phrase('no_permission_to_reply') }}
  368.                                 <!-- this is not interactive so shouldn't be a button element -->
  369.                             </span>
  370.                         <xf:else />
  371.                             <xf:button href="{{ link('login') }}" class="button--link" overlay="true">
  372.                                 {{ phrase('log_in_or_register_to_reply') }}
  373.                             </xf:button>
  374.                         </xf:if>
  375.                     </div>
  376.                 </xf:if>
  377.             </xf:contentcheck>
  378.         </div>
  379.     </xf:if>
  380.  
  381.     <xf:macro name="thread_status" arg-thread="{$thread}" arg-wrapperClass="block-outer block-outer--after" />
  382. </div>
  383.  
  384. <xf:ad position="thread_view_below_messages" arg-thread="{$thread}" />
  385. <xf:extension name="below_messages"></xf:extension>
  386. <xf:widgetpos id="thread_view_below_messages" context-thread="{$thread}" />
  387.  
  388. <xf:set var="$isPreRegReply" value="{{ $thread.canReplyPreReg() }}" />
  389. <xf:if is="$thread.canReply() OR $isPreRegReply">
  390.     <xf:form action="{{ link('threads/add-reply', $thread) }}"
  391.         ajax="true"
  392.         draft="{{ link('threads/draft', $thread) }}"
  393.         class="block js-quickReply"
  394.         data-xf-init="attachment-manager quick-reply{{ ($xf.visitor.isShownCaptcha() AND !$isPreRegReply) ? ' guest-captcha' : '' }}"
  395.         data-message-container="div[data-type='post'] .js-replyNewMessageContainer">
  396.  
  397.         <xf:js src="xf/message.js" min="1" />
  398.  
  399.         <div class="block-container">
  400.             <div class="block-body">
  401.                 <xf:macro template="quick_reply_macros" name="body"
  402.                     arg-message="{$thread.draft_reply.message}"
  403.                     arg-attachmentData="{$attachmentData}"
  404.                     arg-forceHash="{$thread.draft_reply.attachment_hash}"
  405.                     arg-messageSelector=".js-post"
  406.                     arg-multiQuoteHref="{{ link('threads/multi-quote', $thread) }}"
  407.                     arg-multiQuoteStorageKey="multiQuoteThread"
  408.                     arg-lastDate="{$lastPost.post_date}"
  409.                     arg-lastKnownDate="{$thread.last_post_date}"
  410.                     arg-loadExtra="{$isSimpleDateDisplay}"
  411.                     arg-showGuestControls="{{ !$isPreRegReply }}"
  412.                     arg-previewUrl="{{ link('threads/reply-preview', $thread) }}"/>
  413.             </div>
  414.         </div>
  415.     </xf:form>
  416. </xf:if>
  417.  
  418. <xf:widgetpos id="thread_view_below_quick_reply" context-thread="{$thread}" />
  419. <xf:extension name="below_quick_reply"></xf:extension>
  420.  
  421. <div class="blockMessage blockMessage--none">
  422.     <xf:macro template="share_page_macros" name="buttons" arg-iconic="{{ true }}" arg-label="{{ phrase('share:') }}" />
  423. </div>
  424.  
  425. <xf:extension name="below_share"></xf:extension>
  426.  
  427. <xf:macro name="thread_status" arg-thread="!" arg-wrapperClass="">
  428.     <xf:if contentcheck="true">
  429.         <div class="{$wrapperClass}">
  430.             <dl class="blockStatus">
  431.                 <dt>{{ phrase('status') }}</dt>
  432.                 <xf:contentcheck>
  433.                     <xf:if is="$thread.discussion_state == 'deleted'">
  434.                         <dd class="blockStatus-message blockStatus-message--deleted">
  435.                             <xf:macro template="deletion_macros" name="notice" arg-log="{$thread.DeletionLog}" />
  436.                         </dd>
  437.                     <xf:elseif is="$thread.discussion_state == 'moderated'" />
  438.                         <dd class="blockStatus-message blockStatus-message--moderated">
  439.                             {{ phrase('awaiting_approval_before_being_displayed_publicly') }}
  440.                         </dd>
  441.                     </xf:if>
  442.                     <xf:if is="!$thread.discussion_open">
  443.                         <dd class="blockStatus-message blockStatus-message--locked">
  444.                             {{ phrase('not_open_for_further_replies') }}
  445.                         </dd>
  446.                     </xf:if>
  447.                 </xf:contentcheck>
  448.             </dl>
  449.         </div>
  450.     </xf:if>
  451. </xf:macro>
  452.  
  453. <xf:macro name="thread_custom_fields_status" arg-thread="!" arg-forum="!" arg-wrapperClass="">
  454.     <div class="{$wrapperClass} js-threadStatusField"><xf:trim>
  455.         <xf:if contentcheck="true">
  456.             <div class="blockStatus blockStatus--info">
  457.                 <xf:contentcheck>
  458.                     <xf:macro template="custom_fields_macros" name="custom_fields_view"
  459.                         arg-type="threads"
  460.                         arg-group="thread_status"
  461.                         arg-onlyInclude="{$forum.field_cache}"
  462.                         arg-set="{$thread.custom_fields}"
  463.                         arg-wrapperClass="blockStatus-message" />
  464.                 </xf:contentcheck>
  465.             </div>
  466.         </xf:if>
  467.     </xf:trim></div>
  468. </xf:macro>
  469.  
  470. <xf:widgetpos id="thread_view_sidebar" context-thread="{$thread}" position="sidebar" />
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement