-135 Removals
+36 Additions
1<div class='ipsClearfix'>1<div class='ipsClearfix'>
2 2 <h1 class='ipsType_pageTitle ipsType_largeTitle ipsType_break'>
3 <div class='ipsPos_right ipsResponsive_noFloat ipsResponsive_hidePhone'>3 IPS Community Suite {wordbreak="$record->_title"}
4 {template="follow" app="core" group="global" params="'cms', 'records'.$record::$customDatabaseId, $record->primary_id_field, $record->followers()->count( TRUE )"}4
5 </div>5 {{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}
6 6 {{if $record->isFutureDate()}}
7 <h1 class='ipsType_pageTitle ipsType_break'>7 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
8 {{if $record->prefix()}}8 {{elseif $record->hidden() === -1}}
9 {template="prefix" group="global" app="core" params="$record->prefix( TRUE ), $record->prefix()"}9 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
10 {{endif}}10 {{elseif $record->hidden() === 1}}
11 {{if $record->locked()}}<i class='fa fa-lock'></i> {{endif}}11 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
12 {{endif}}
13 {{if $record->mapped('pinned')}}
14 <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
15 {{endif}}
16 {{if $record->mapped('featured')}}
17 <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
18 {{endif}}
19 {{endif}}
20 </h1>
21 <p class='ipsType_reset ipsType_large'>{$record->customFieldDisplayByKey('release_date', 'display')|raw}</p>
1222
13 {{if $record->isFutureDate() || $record->mapped('pinned') || $record->mapped('featured') || $record->hidden() === -1 || $record->hidden() === 1}}23 {$record->customFieldDisplayByKey('security_release', 'display')|raw}
14 {{if $record->isFutureDate()}}
15 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->futureDateBlurb()}'><i class='fa fa-clock-o'></i></span>
16 {{elseif $record->hidden() === -1}}
17 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{$record->hiddenBlurb()}'><i class='fa fa-eye-slash'></i></span>
18 {{elseif $record->hidden() === 1}}
19 <span class="ipsBadge ipsBadge_icon ipsBadge_warning" data-ipsTooltip title='{lang="pending_approval"}'><i class='fa fa-warning'></i></span>
20 {{endif}}
21 {{if $record->mapped('pinned')}}
22 <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="pinned"}'><i class='fa fa-thumb-tack'></i></span>
23 {{endif}}
24 {{if $record->mapped('featured')}}
25 <span class="ipsBadge ipsBadge_icon ipsBadge_positive" data-ipsTooltip title='{lang="featured"}'><i class='fa fa-star'></i></span>
26 {{endif}}
27 {{endif}}
28
29 {wordbreak="$record->_title"}
30 </h1>
31
32 {{if $record::database()->options['reviews']}}
33 <span itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
34 <meta itemprop='ratingValue' content='{$record->averageReviewRating()}'>
35 <meta itemprop='reviewCount' content='{$record->record_reviews}'>
36 {template="rating" group="global" location="front" app="core" params="'large', $record->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"}&nbsp;&nbsp; <span class='ipsType_normal ipsType_light'>({lang="num_reviews" pluralize="$record->record_reviews"})</span>
37 </span>
38 {{elseif $record->container()->allow_rating}}
39 <div>{$record->rating()|raw}</div>
40 {{endif}}
41</div>24</div>
4225
43<hr class='ipsHr'>26<hr class='ipsHr'>
4427
45<div class='ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix ipsSpacer_bottom'>
46 {template="userPhoto" app="core" group="global" params="$record->author(), 'tiny', $record->warningRef()"}
47 <div>
48 <p class='ipsType_reset ipsType_large ipsType_blendLinks'>
49 {lang="content_record_started_by" htmlsprintf="$record->author()->link()"}
50 {{if $record->editLine()}}
51 <span class='ipsType_light ipsType_medium ipsType_reset'>
52 ({lang="edited_lc"})
53 </span>
54 {{endif}}
55 </p>
56 <ul class='ipsList_inline'>
57 <li>{datetime="$record->record_publish_date"}</li>
58 {{foreach $record->customFieldsForDisplay('display_top') as $fieldId => $fieldValue}}
59 {{if $fieldValue}}
60 {$fieldValue|raw}
61 {{endif}}
62 {{endforeach}}
63 </ul>
64 </div>
65</div>
66
67{{if count( $record->tags() )}} 28{{if count( $record->tags() )}}
68 {template="tags" group="global" app="core" params="$record->tags()"}29 {template="tags" group="global" app="core" params="$record->tags()"}
69{{endif}} 30{{endif}}
7031
71<article class='ipsContained ipsSpacer_top'>32<article class='ipsContained ipsSpacer_top'>
72 <div class='ipsClearfix'>33 <div class='ipsClearfix'>
73 {{if $record->record_image}}34 <section class="ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'>
74 <div class="cCmsRecord_image">35 <h2 class='ipsType_pageTitle'>Key Changes</h2>
75 <img class="ipsImage" src="{file="$record->_record_image_thumb" extension="cms_Records"}">36 {$record->_content|raw}
76 </div>37 </section>
77 {{endif}}38
78 <section class="ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'>{$record->_content|raw}</section>39 {{if $record->fieldValues()['field_164']}}
79 40 <section class="ipsSpacer_top ipsSpacer_double ipsType_richText ipsType_normal" data-controller='core.front.core.lightboxedImages'>
80 {{if $record->editLine()}}41 <h2 class='ipsType_pageTitle'>Additional Information</h2>
81 {$record->editLine()|raw}42 {$record->customFieldDisplayByKey('additional_information', 'display')|raw}
82 {{endif}}43 </section>
44 {{endif}}
83 </div>45 </div>
84 {{if $bottomFields = $record->customFieldsForDisplay('display_bottom')}}46
85 <hr class='ipsHr ipsClear ipsClearfix'>
86 {{foreach $bottomFields as $fieldId => $fieldValue}}
87 {{if $fieldValue}}
88 {$fieldValue|raw}
89 {{endif}}
90 {{endforeach}}
91 {{endif}}
92 <hr class='ipsHr ipsClear ipsClearfix'>47 <hr class='ipsHr ipsClear ipsClearfix'>
9348
94 {{if $record instanceof \IPS\Content\Reputation and settings.reputation_enabled}}
95 <div class='ipsPos_right'>
96 {template="reputation" app="core" group="global" params="$record"}
97 </div>
98 {{endif}}
99 {{if $record->isFutureDate() or $record->canPin() or $record->canUnpin() or $record->canFeature() or $record->canUnfeature() or $record->canHide() or $record->canUnhide() or $record->canMove() or $record->canLock() or $record->canUnlock() or $record->canDelete()}}49 {{if $record->isFutureDate() or $record->canPin() or $record->canUnpin() or $record->canFeature() or $record->canUnfeature() or $record->canHide() or $record->canUnhide() or $record->canMove() or $record->canLock() or $record->canUnlock() or $record->canDelete()}}
100 <a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="content_record_actions" sprintf="$record::database()->recordWord( 1, TRUE )"} <i class='fa fa-caret-down'></i></a>50 <a href='#elentryActions_menu' id='elentryActions' class='ipsButton ipsButton_light ipsButton_verySmall' data-ipsMenu>{lang="content_record_actions" sprintf="$record::database()->recordWord( 1, TRUE )"} <i class='fa fa-caret-down'></i></a>
101 <ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>51 <ul id='elentryActions_menu' class='ipsMenu ipsMenu_auto ipsHide'>
102 {{if $record->isFutureDate() and $record::canFuturePublish( NULL, $record->container() )}}52 {{if $record->isFutureDate() and $record::canFuturePublish( NULL, $record->container() )}}
103 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>53 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'publish' ) )}' data-confirm title='{lang="publish_now"}'>{lang="publish"}</a></li>
104 {{endif}}54 {{endif}}
105 {{if $record->canFeature()}}55 {{if $record->canFeature()}}
106 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'feature' ) )}' title='{lang="feature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="feature"}</a></li>56 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'feature' ) )}' title='{lang="feature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="feature"}</a></li>
107 {{endif}}57 {{endif}}
108 {{if $record->canUnfeature()}} 58 {{if $record->canUnfeature()}}
109 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unfeature"}</a></li>59 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unfeature' ) )}' title='{lang="unfeature_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unfeature"}</a></li>
110 {{endif}}60 {{endif}}
111 {{if $record->canPin()}} 61 {{if $record->canPin()}}
112 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'pin' ) )}' title='{lang="pin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="pin"}</a></li>62 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'pin' ) )}' title='{lang="pin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="pin"}</a></li>
113 {{endif}}63 {{endif}}
114 {{if $record->canUnpin()}} 64 {{if $record->canUnpin()}}
115 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unpin' ) )}' title='{lang="unpin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unpin"}</a></li>65 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unpin' ) )}' title='{lang="unpin_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unpin"}</a></li>
116 {{endif}}66 {{endif}}
117 {{if $record->canHide()}} 67 {{if $record->canHide()}}
118 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'hide' ) )}' title='{lang="hide_title_record" sprintf="$record::database()->recordWord(1)"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>68 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'hide' ) )}' title='{lang="hide_title_record" sprintf="$record::database()->recordWord(1)"}' data-ipsDialog data-ipsDialog-title="{lang="hide"}">{lang="hide"}</a></li>
119 {{endif}}69 {{endif}}
120 {{if $record->canUnhide()}} 70 {{if $record->canUnhide()}}
121 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unhide' ) )}' title='{{if $record->hidden() === 1}}{lang="approve_title_record" sprintf="$record::database()->recordWord(1)"}{{else}}{lang="unhide_title_record" sprintf="$record::database()->recordWord(1)"}{{endif}}'>{{if $record->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>71 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unhide' ) )}' title='{{if $record->hidden() === 1}}{lang="approve_title_record" sprintf="$record::database()->recordWord(1)"}{{else}}{lang="unhide_title_record" sprintf="$record::database()->recordWord(1)"}{{endif}}'>{{if $record->hidden() === 1}}{lang="approve"}{{else}}{lang="unhide"}{{endif}}</a></li>
122 {{endif}}72 {{endif}}
123 {{if $record->canLock()}} 73 {{if $record->canLock()}}
124 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'lock' ) )}' title='{lang="lock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="lock"}</a></li>74 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'lock' ) )}' title='{lang="lock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="lock"}</a></li>
125 {{endif}}75 {{endif}}
126 {{if $record->canUnlock()}} 76 {{if $record->canUnlock()}}
127 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unlock' ) )}' title='{lang="unlock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unlock"}</a></li>77 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'unlock' ) )}' title='{lang="unlock_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="unlock"}</a></li>
128 {{endif}}78 {{endif}}
129 {{if $record->canMove()}} 79 {{if $record->canMove()}}
130 <li class='ipsMenu_item'><a href='{$record->url('move')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="move"}" title='{lang="move_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="move"}</a></li>80 <li class='ipsMenu_item'><a href='{$record->url('move')->csrf()}' data-ipsDialog data-ipsDialog-title="{lang="move"}" title='{lang="move_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="move"}</a></li>
131 {{endif}}81 {{endif}}
132 {{if $record->canDelete()}} 82 {{if $record->canDelete()}}
133 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'delete' ) )}' data-confirm title='{lang="delete_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="delete"}</a></li>83 <li class='ipsMenu_item'><a href='{$record->url('moderate')->csrf()->setQueryString( array( 'action' => 'delete' ) )}' data-confirm title='{lang="delete_title_record" sprintf="$record::database()->recordWord(1)"}'>{lang="delete"}</a></li>
134 {{endif}}84 {{endif}}
135 {{if \IPS\Member::loggedIn()->modPermission('can_view_moderation_log')}}
136 <li class='ipsMenu_sep'><hr></li>
137 <li class="ipsMenu_item"><a href='{$record->url()->csrf()->setQueryString( array( 'do' => 'modLog' ) )}' data-ipsDialog data-ipsDialog-title='{lang="moderation_history"}'>{lang="moderation_history"}</a></li>
138 {{endif}}
139
140 </ul>85 </ul>
141 {{endif}}86 {{endif}}
142 {{if $record->canEdit()}}87 {{if $record->canEdit()}}
143 &nbsp;&nbsp;<a href='{$record->url('edit')->csrf()}' title='{lang="edit"}'>{lang="edit"}</a>88   <a href='{$record->url('edit')->csrf()}' title='{lang="edit_title"}'>{lang="edit"}</a>
144 {{endif}}
145 {{if !\IPS\Member::loggedIn()->group['gbw_no_report'] }}
146 &nbsp;&nbsp;<a href='{$record->url('report')}' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}" data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="report_submit_success"}" title="{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}">{lang="content_record_report" sprintf="$record::database()->recordWord( 1, TRUE )"}</a>
147 {{endif}}89 {{endif}}
148 {{if $record->canManageRevisions()}}90 {{if $record->canManageRevisions()}}
149 &nbsp;&nbsp;<a href='{$record->url('revisions')}' title="{lang="content_view_revisions"}">{lang="content_view_revisions"}</a>91   <a href='{$record->url('revisions')}' title="{lang="content_view_revisions"}">{lang="content_view_revisions"}</a>
150 {{endif}}92 {{endif}}
151</article>93</article>
152
153<div class='ipsResponsive_showPhone ipsResponsive_block ipsSpacer_top'>
154 {template="follow" app="core" group="global" params="'cms', 'records'.$record::$customDatabaseId, $record->primary_id_field, $record->followers()->count( TRUE )"}
155</div>
156
157<div class='ipsGrid ipsGrid_collapsePhone ipsPager ipsClearfix ipsSpacer_top'>
158 <div class="ipsGrid_span6 ipsType_left ipsPager_prev">
159 {{if $record::database()->use_categories}}
160 <a href="{$record->container()->url()}" title="{lang="cms_back_to_category_with_title" sprintf="$record->container()->_title"}" rel="up">
161 <span class="ipsPager_type">{lang="cms_back_to_category" sprintf="$record::database()->recordWord( 2 )"}</span>
162 <span class="ipsPager_title ipsType_light ipsType_break">{lang="$record->container()->_title" wordbreak="true"}</span>
163 </a>
164 {{else}}
165 {{$page = \IPS\cms\Pages\Page::$currentPage;}}
166 <a href="{$page->url()}" title="{lang="cms_back_to_category_with_title" sprintf="$page->_title"}" rel="up">
167 <span class="ipsPager_type">{lang="cms_back_to_category" sprintf="$record::database()->recordWord( 2 )"}</span>
168 <span class="ipsPager_title ipsType_light ipsType_break">{$page->_title}</span>
169 </a>
170 {{endif}}
171 </div>
172 {{if $nextUnread !== NULL}}
173 <div class='ipsGrid_span6 ipsType_right ipsPager_next'>
174 <a href="{$nextUnread->url()->setQueryString( array( 'do' => 'getNewComment' ) )}" title='{lang="cms_view_next_unread_title" sprintf="$record::database()->recordWord( 1 )"}' rel='next'>
175 <span class="ipsPager_type">{lang="cms_next_unread_title" sprintf="$record::database()->recordWord( 1 )"}</span>
176 <span class="ipsPager_title ipsType_light ipsType_break">{$nextUnread->mapped('title')}</span>
177 </a>
178 </div>
179 {{endif}}
180</div>
181
182{{if !$record->container()->disable_sharelinks}}
183 <hr class='ipsHr'>
184 {template="sharelinks" app="core" group="global" params="$record"}
185{{endif}}
186
187<br>
188{{if $commentsAndReviews}}
189 <a id="replies"></a>
190 <h2 class='ipsType_sectionTitle ipsType_reset'>{lang="user_feedback"}</h2>
191 {$commentsAndReviews|raw}
192{{endif}}
19394
194<br>95<br>
195{{if $updateForm}}96{{if $updateForm}}
196 <div class='ipsAreaBackground_light ipsPad'>97 <div class='ipsAreaBackground_light ipsPad'>
197 <h2 class='ipsType_sectionHead'>{lang="cms_front_update_fields" sprintf="$record::database()->recordWord( 1 )"}</h2>98 <h2 class='ipsType_sectionHead'>{lang="cms_front_update_fields" sprintf="$record::database()->recordWord( 1 )"}</h2>
198 <ul class='ipsForm ipsForm_vertical'>99 <ul class='ipsForm ipsForm_vertical'>
199 {$updateForm|raw}100 {$updateForm|raw}
200 </ul>101 </ul>
201 </div>102 </div>
202{{endif}}103{{endif}}
Editor
Original Text
Changed Text
Recommended videos