Merge pull request #9197 from MrPetovan/bug/9192-normalize-escaping-item

Remove obsolete uses of Strings::escapeTags in mod/item
This commit is contained in:
Michael Vogel 2020-09-16 22:10:19 +02:00 committed by GitHub
commit de3ed5faf4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 132 additions and 157 deletions

View File

@ -520,10 +520,6 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
$threadsid++;
$owner_url = '';
$owner_name = '';
$sparkle = '';
// prevent private email from leaking.
if ($item['network'] === Protocol::MAIL && local_user() != $item['uid']) {
continue;
@ -540,14 +536,14 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
'network' => $item['author-network'], 'url' => $item['author-link']];
$profile_link = Contact::magicLinkByContact($author);
$sparkle = '';
if (strpos($profile_link, 'redir/') === 0) {
$sparkle = ' sparkle';
}
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
Hook::callAll('render_location',$locate);
$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
localize_item($item);
if ($mode === 'network-new') {
@ -563,10 +559,6 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
'delete' => DI::l10n()->t('Delete'),
];
$star = false;
$isstarred = "unstarred";
$lock = false;
$likebuttons = [
'like' => null,
'dislike' => null,
@ -577,7 +569,7 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
unset($likebuttons['dislike']);
}
$body = Item::prepareBody($item, true, $preview);
$body_html = Item::prepareBody($item, true, $preview);
list($categories, $folders) = DI::contentItem()->determineCategoriesTerms($item);
@ -596,13 +588,13 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
'network_icon' => ContactSelector::networkToIcon($item['network'], $item['author-link']),
'linktitle' => DI::l10n()->t('View %s\'s profile @ %s', $profile_name, $item['author-link']),
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
'item_photo_menu_html' => item_photo_menu($item),
'name' => $profile_name,
'sparkle' => $sparkle,
'lock' => $lock,
'lock' => false,
'thumb' => DI::baseUrl()->remove($item['author-avatar']),
'title' => $title,
'body' => $body,
'body_html' => $body_html,
'tags' => $tags['tags'],
'hashtags' => $tags['hashtags'],
'mentions' => $tags['mentions'],
@ -613,23 +605,23 @@ function conversation(App $a, array $items, $mode, $update, $preview = false, $o
'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories,
'folders' => $folders,
'text' => strip_tags($body),
'text' => strip_tags($body_html),
'localtime' => DateTimeFormat::local($item['created'], 'r'),
'ago' => (($item['app']) ? DI::l10n()->t('%s from %s', Temporal::getRelativeDate($item['created']),$item['app']) : Temporal::getRelativeDate($item['created'])),
'location' => $location,
'location_html' => $location_html,
'indent' => '',
'owner_name' => $owner_name,
'owner_url' => $owner_url,
'owner_name' => '',
'owner_url' => '',
'owner_photo' => DI::baseUrl()->remove($item['owner-avatar']),
'plink' => Item::getPlink($item),
'edpost' => false,
'isstarred' => $isstarred,
'star' => $star,
'isstarred' => 'unstarred',
'star' => false,
'drop' => $drop,
'vote' => $likebuttons,
'like' => '',
'dislike' => '',
'comment' => '',
'like_html' => '',
'dislike_html' => '',
'comment_html' => '',
'conv' => (($preview) ? '' : ['href'=> 'display/'.$item['guid'], 'title'=> DI::l10n()->t('View in context')]),
'previewing' => $previewing,
'wait' => DI::l10n()->t('Please wait'),
@ -1504,13 +1496,3 @@ function sort_thr_commented(array $a, array $b)
{
return strcmp($b['commented'], $a['commented']);
}
function render_location_dummy(array $item) {
if (!empty($item['location']) && !empty($item['location'])) {
return $item['location'];
}
if (!empty($item['coord']) && !empty($item['coord'])) {
return $item['coord'];
}
}

View File

@ -260,7 +260,7 @@ function item_post(App $a) {
$objecttype = $orig_post['object-type'];
$app = $orig_post['app'];
$categories = $orig_post['file'] ?? '';
$title = Strings::escapeTags(trim($_REQUEST['title']));
$title = trim($_REQUEST['title'] ?? '');
$body = trim($body);
$private = $orig_post['private'];
$pubmail_enabled = $orig_post['pubmail'];
@ -281,13 +281,13 @@ function item_post(App $a) {
$str_group_deny = isset($_REQUEST['group_deny']) ? $aclFormatter->toString($_REQUEST['group_deny']) : $user['deny_gid'] ?? '';
}
$title = Strings::escapeTags(trim($_REQUEST['title'] ?? ''));
$location = Strings::escapeTags(trim($_REQUEST['location'] ?? ''));
$coord = Strings::escapeTags(trim($_REQUEST['coord'] ?? ''));
$verb = Strings::escapeTags(trim($_REQUEST['verb'] ?? ''));
$emailcc = Strings::escapeTags(trim($_REQUEST['emailcc'] ?? ''));
$title = trim($_REQUEST['title'] ?? '');
$location = trim($_REQUEST['location'] ?? '');
$coord = trim($_REQUEST['coord'] ?? '');
$verb = trim($_REQUEST['verb'] ?? '');
$emailcc = trim($_REQUEST['emailcc'] ?? '');
$body = trim($body);
$network = Strings::escapeTags(trim(($_REQUEST['network'] ?? '') ?: Protocol::DFRN));
$network = trim(($_REQUEST['network'] ?? '') ?: Protocol::DFRN);
$guid = System::createUUID();
$postopts = $_REQUEST['postopts'] ?? '';

View File

@ -221,15 +221,14 @@ class Post
$delete = $origin ? DI::l10n()->t('Delete globally') : DI::l10n()->t('Remove locally');
}
$drop = [
'dropping' => $dropping,
'pagedrop' => $item['pagedrop'],
'select' => DI::l10n()->t('Select'),
'delete' => $delete,
];
if (!local_user()) {
$drop = false;
$drop = false;
if (local_user()) {
$drop = [
'dropping' => $dropping,
'pagedrop' => $item['pagedrop'],
'select' => DI::l10n()->t('Select'),
'delete' => $delete,
];
}
$filer = (($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) ? DI::l10n()->t("save to folder") : false);
@ -254,7 +253,7 @@ class Post
$locate = ['location' => $item['location'], 'coord' => $item['coord'], 'html' => ''];
Hook::callAll('render_location', $locate);
$location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate));
$location_html = $locate['html'] ?: Strings::escapeHtml($locate['location'] ?: $locate['coord'] ?: '');
// process action responses - e.g. like/dislike/attend/agree/whatever
$response_verbs = ['like', 'dislike', 'announce'];
@ -349,7 +348,7 @@ class Post
}
}
$comment = $this->getCommentBox($indent);
$comment_html = $this->getCommentBox($indent);
if (strcmp(DateTimeFormat::utc($item['created']), DateTimeFormat::utc('now - 12 hours')) > 0) {
$shiny = 'shiny';
@ -357,23 +356,16 @@ class Post
localize_item($item);
$body = Item::prepareBody($item, true);
$body_html = Item::prepareBody($item, true);
list($categories, $folders) = DI::contentItem()->determineCategoriesTerms($item);
$body_e = $body;
$text_e = strip_tags($body);
$name_e = $profile_name;
if (!empty($item['content-warning']) && DI::pConfig()->get(local_user(), 'system', 'disable_cw', false)) {
$title_e = ucfirst($item['content-warning']);
$title = ucfirst($item['content-warning']);
} else {
$title_e = $item['title'];
$title = $item['title'];
}
$location_e = $location;
$owner_name_e = $this->getOwnerName();
if (DI::pConfig()->get(local_user(), 'system', 'hide_dislike')) {
$buttons['dislike'] = false;
}
@ -414,8 +406,8 @@ class Post
} elseif (DI::config()->get('debug', 'show_direction')) {
$conversation = DBA::selectFirst('conversation', ['direction'], ['item-uri' => $item['uri']]);
if (!empty($conversation['direction']) && in_array($conversation['direction'], [1, 2])) {
$title = [1 => DI::l10n()->t('Pushed'), 2 => DI::l10n()->t('Pulled')];
$direction = ['direction' => $conversation['direction'], 'title' => $title[$conversation['direction']]];
$direction_title = [1 => DI::l10n()->t('Pushed'), 2 => DI::l10n()->t('Pulled')];
$direction = ['direction' => $conversation['direction'], 'title' => $direction_title[$conversation['direction']]];
}
}
@ -433,8 +425,8 @@ class Post
'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories,
'folders' => $folders,
'body' => $body_e,
'text' => $text_e,
'body_html' => $body_html,
'text' => strip_tags($body_html),
'id' => $this->getId(),
'guid' => urlencode($item['guid']),
'isevent' => $isevent,
@ -446,24 +438,24 @@ class Post
'wall' => DI::l10n()->t('Wall-to-Wall'),
'vwall' => DI::l10n()->t('via Wall-To-Wall:'),
'profile_url' => $profile_link,
'item_photo_menu' => item_photo_menu($item),
'name' => $name_e,
'name' => $profile_name,
'item_photo_menu_html' => item_photo_menu($item),
'thumb' => DI::baseUrl()->remove($item['author-avatar']),
'osparkle' => $osparkle,
'sparkle' => $sparkle,
'title' => $title_e,
'title' => $title,
'localtime' => DateTimeFormat::local($item['created'], 'r'),
'ago' => $item['app'] ? DI::l10n()->t('%s from %s', $ago, $item['app']) : $ago,
'app' => $item['app'],
'created' => $ago,
'lock' => $lock,
'location' => $location_e,
'location_html' => $location_html,
'indent' => $indent,
'shiny' => $shiny,
'owner_self' => $item['author-link'] == Session::get('my_url'),
'owner_url' => $this->getOwnerUrl(),
'owner_photo' => DI::baseUrl()->remove($item['owner-avatar']),
'owner_name' => $owner_name_e,
'owner_name' => $this->getOwnerName(),
'plink' => Item::getPlink($item),
'edpost' => $edpost,
'ispinned' => $ispinned,
@ -476,12 +468,12 @@ class Post
'filer' => $filer,
'drop' => $drop,
'vote' => $buttons,
'like' => $responses['like']['output'],
'dislike' => $responses['dislike']['output'],
'like_html' => $responses['like']['output'],
'dislike_html' => $responses['dislike']['output'],
'responses' => $responses,
'switchcomment' => DI::l10n()->t('Comment'),
'reply_label' => DI::l10n()->t('Reply to %s', $name_e),
'comment' => $comment,
'reply_label' => DI::l10n()->t('Reply to %s', $profile_name),
'comment_html' => $comment_html,
'remote_comment' => $remote_comment,
'menu' => DI::l10n()->t('More'),
'previewing' => $conv->isPreview() ? ' preview ' : '',

View File

@ -68,6 +68,7 @@ class Strings
*
* @param string $string Input string
* @return string Filtered string
* @deprecated since 2020.09 Please use Smarty default HTML escaping for templates or htmlspecialchars() otherwise
*/
public static function escapeTags($string)
{

View File

@ -11,7 +11,7 @@
<span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
</div>
@ -19,7 +19,7 @@
<div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
{{else}}<div class="wall-item-lock"></div>{{/if}}
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location nofilter}}</div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location_html nofilter}}</div>
</div>
</div>
<div class="wall-item-author">
@ -30,7 +30,7 @@
<div class="wall-item-content" id="wall-item-content-{{$item.id}}" >
<div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body nofilter}}</div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body_html nofilter}}</div>
{{if $item.has_cats}}
<div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}}{{if $cat.removeurl}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a>{{/if}} {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
</div>

View File

@ -39,7 +39,7 @@
<span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
@ -48,7 +48,7 @@
<div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" >
{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
{{else}}<div class="wall-item-lock"></div>{{/if}}
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location nofilter}}</div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location_html nofilter}}</div>
</div>
</div>
<div class="wall-item-author">
@ -58,7 +58,7 @@
<div class="wall-item-content" id="wall-item-content-{{$item.id}}" >
<div class="wall-item-title p-name" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" ><span class="e-content">{{$item.body nofilter}}<span>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" ><span class="e-content">{{$item.body_html nofilter}}<span>
<div class="body-tag">
{{if !$item.suppress_tags}}
{{foreach $item.tags as $tag}}
@ -129,9 +129,9 @@
{{/foreach}}
{{/if}}
{{if $item.threaded}}
{{if $item.comment}}
{{if $item.comment_html}}
<div class="wall-item-comment-wrapper {{$item.indent}}" >
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
{{/if}}
{{/if}}
@ -144,7 +144,7 @@
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" >
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
{{/if}}
</div>

View File

@ -66,9 +66,9 @@
<small><a href="{{$item.plink.orig}}"><span class="time" title="{{$item.localtime}}" data-toggle="tooltip">{{$item.ago}}</span></a></small>
</div>
{{if $item.location}}
{{if $item.location_html}}
<div id="wall-item-location-{{$item.id}}" class="wall-item-location">
<small><span class="location">({{$item.location nofilter}})</span></small>
<small><span class="location">({{$item.location_html nofilter}})</span></small>
</div>
{{/if}}
</div>
@ -81,7 +81,7 @@
<h5 class="media-heading">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link userinfo hover-card"><span>{{$item.name}}</span></a>
<p class="text-muted"><small>
<span class="wall-item-ago">{{$item.ago}}</span> {{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}</small>
<span class="wall-item-ago">{{$item.ago}}</span> {{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}</small>
</p>
</h5>
</div>
@ -96,7 +96,7 @@
<span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading"><a href="{{$item.plink.href}}" class="{{$item.sparkle}}">{{$item.title}}</a></h4><br /></span>
{{/if}}
<div class="wall-item-body" id="wall-item-body-{{$item.id}}">{{$item.body nofilter}}</div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}">{{$item.body_html nofilter}}</div>
</div>
<!-- TODO -->
@ -128,7 +128,7 @@
<p class="wall-item-actions">
{{* Action buttons to interact with the item (like: like, dislike, share and so on *}}
<span class="wall-item-actions-left">
<!--comment this out to try something different {{if $item.threaded}}{{if $item.comment}}
<!--comment this out to try something different {{if $item.threaded}}{{if $item.comment_html}}
<div id="button-reply" class="pull-left">
<button type="button" class="btn-link" id="comment-{{$item.id}}" onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"><i class="fa fa-reply" title="{{$item.switchcomment}}"></i> </span>
</div>
@ -148,20 +148,20 @@
{{if $item.vote.dislike}}
<button type="button" class="btn btn-defaultbutton-likes{{if $item.responses.like.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doLikeAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});">{{$item.vote.dislike.0}}</button>
{{/if}}
{{if ($item.vote.like OR $item.vote.dislike) AND $item.comment}}
{{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
<span role="presentation" class="separator">•</span>
{{/if}}
{{/if}}
{{* Button to open the comment text field *}}
{{if $item.comment}}
{{if $item.comment_html}}
<button type="button" class="btn btn-default" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});">{{$item.switchcomment}}</button>
{{/if}}
{{* Button for sharing the item *}}
{{if $item.vote}}
{{if $item.vote.share}}
{{if $item.vote.like OR $item.vote.dislike OR $item.comment}}
{{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
<span role="presentation" class="separator">•</span>
{{/if}}
<button type="button" class="btn btn-default" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-retweet" aria-hidden="true"></i>&nbsp;{{$item.vote.share.0}}</button>

View File

@ -186,9 +186,9 @@ as the value of $top_child_total (this is done at the end of this file)
</small>
</div>
{{if $item.location}}
{{if $item.location_html}}
<div id="wall-item-location-{{$item.id}}" class="wall-item-location">
<small><span class="location">({{$item.location nofilter}})</span></small>
<small><span class="location">({{$item.location_html nofilter}})</span></small>
</div>
{{/if}}
</div>
@ -202,7 +202,7 @@ as the value of $top_child_total (this is done at the end of this file)
<p class="text-muted">
<small>
<a class="time" href="{{$item.plink.orig}}"><span class="wall-item-ago">{{$item.ago}}</span></a>
{{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}
{{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
{{if $item.owner_self}}
{{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
{{/if}}
@ -221,7 +221,7 @@ as the value of $top_child_total (this is done at the end of this file)
<span class="text-muted">
<small>
<a class="time" href="{{$item.plink.orig}}" title="{{$item.localtime}}" data-toggle="tooltip">{{$item.ago}}</a>
{{if $item.location}}&nbsp;&mdash;&nbsp;({{$item.location nofilter}}){{/if}}
{{if $item.location_html}}&nbsp;&mdash;&nbsp;({{$item.location_html nofilter}}){{/if}}
{{if $item.owner_self}}
{{include file="sub/delivery_count.tpl" delivery=$item.delivery}}
{{/if}}
@ -246,7 +246,7 @@ as the value of $top_child_total (this is done at the end of this file)
<span class="wall-item-title" id="wall-item-title-{{$item.id}}"><h4 class="media-heading"><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name">{{$item.title}}</a></h4><br /></span>
{{/if}}
<div class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}" id="wall-item-body-{{$item.id}}">{{$item.body nofilter}}</div>
<div class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}" id="wall-item-body-{{$item.id}}">{{$item.body_html nofilter}}</div>
</div>
<!-- TODO -->
@ -295,7 +295,7 @@ as the value of $top_child_total (this is done at the end of this file)
<button type="button" class="btn-link button-likes{{if $item.responses.dislike.self}} active" aria-pressed="true{{/if}}" id="dislike-{{$item.id}}" title="{{$item.vote.dislike.0}}" onclick="doLikeAction({{$item.id}}, 'dislike'{{if $item.responses.dislike.self}}, true{{/if}});" data-toggle="button"><i class="fa fa-thumbs-down" aria-hidden="true"></i>&nbsp;{{$item.vote.dislike.1}}</button>
{{/if}}
{{if ($item.vote.like OR $item.vote.dislike) AND $item.comment}}
{{if ($item.vote.like OR $item.vote.dislike) AND $item.comment_html}}
<span role="presentation" class="separator"></span>
{{/if}}
{{/if}}
@ -305,14 +305,14 @@ as the value of $top_child_total (this is done at the end of this file)
{{/if}}
{{* Button to open the comment text field *}}
{{if $item.comment}}
{{if $item.comment_html}}
<button type="button" class="btn-link button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i>&nbsp;{{$item.switchcomment}}</button>
{{/if}}
{{* Button for sharing the item *}}
{{if $item.vote}}
{{if $item.vote.share}}
{{if $item.vote.like OR $item.vote.dislike OR $item.comment}}
{{if $item.vote.like OR $item.vote.dislike OR $item.comment_html}}
<span role="presentation" class="separator"></span>
{{/if}}
<button type="button" class="btn-link button-votes" id="share-{{$item.id}}" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}});"><i class="fa fa-retweet" aria-hidden="true"></i>&nbsp;{{$item.vote.share.1}}</button>
@ -422,7 +422,7 @@ as the value of $top_child_total (this is done at the end of this file)
{{/if}}
{{* Button to open the comment text field *}}
{{if $item.comment}}
{{if $item.comment_html}}
<div class="btn-group" role="group">
<button type="button" class="btn btn-sm button-comments" id="comment-{{$item.id}}" title="{{$item.switchcomment}}" {{if $item.thread_level != 1}}onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" {{else}} onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});"{{/if}}><i class="fa fa-commenting" aria-hidden="true"></i></button>
</div>
@ -536,9 +536,9 @@ as the value of $top_child_total (this is done at the end of this file)
{{/if}}
{{* Insert comment box of threaded children *}}
{{if $item.threaded && $item.comment && $item.indent==comment}}
{{if $item.threaded && $item.comment_html && $item.indent==comment}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" data-display="block" style="display: none;">
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
{{/if}}
@ -553,13 +553,13 @@ as the value of $top_child_total (this is done at the end of this file)
{{* Insert the comment box of the top level post at the bottom of the thread.
Display this comment box if there are any comments. If not hide it. In this
case it could be opend with the "comment" button *}}
{{if $item.comment && $item.thread_level==1}}
{{if $item.comment_html && $item.thread_level==1}}
{{if $item.total_comments_num}}
<div class="comment-fake-form" id="comment-fake-form-{{$item.id}}">
<textarea id="comment-fake-text-{{$item.id}}" class="comment-fake-text-empty form-control" placeholder="{{$item.reply_label}}" onFocus="commentOpenUI(this, {{$item.id}});" rows="1"></textarea>
</div>
{{/if}}
<div class="wall-item-comment-wrapper well well-small" id="item-comments-{{$item.id}}" data-display="block" style="display: none">{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper well well-small" id="item-comments-{{$item.id}}" data-display="block" style="display: none">{{$item.comment_html nofilter}}</div>
{{/if}}
</div><!-- ./panel-body or ./wall-item-container -->

View File

@ -15,15 +15,15 @@
</a>
<a href="#" rel="#wall-item-photo-menu-{{$item.id}}" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-{{$item.id}}">menu</a>
<ul class="wall-item-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
<div class="wall-item-location">{{$item.location nofilter}}</div>
<div class="wall-item-location">{{$item.location_html nofilter}}</div>
</div>
<div class="wall-item-content">
{{if $item.title}}<h2><a href="{{$item.plink.href}}">{{$item.title}}</a></h2>{{/if}}
<div class="wall-item-body">{{$item.body nofilter}}</div>
<div class="wall-item-body">{{$item.body_html nofilter}}</div>
</div>
</div>
<div class="wall-item-bottom">
@ -82,8 +82,8 @@
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike nofilter}}</div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like_html nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike_html nofilter}}</div>
{{if $item.conv}}
<div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" >
<a href='{{$item.conv.href}}' id='context-{{$item.id}}' title='{{$item.conv.title}}'>{{$item.conv.title}}</a>

View File

@ -30,14 +30,14 @@
<img src="{{$item.thumb}}" class="contact-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
<div class="wall-item-location">{{$item.location nofilter}}</div>
<div class="wall-item-location">{{$item.location_html nofilter}}</div>
</div>
<div class="wall-item-content">
{{$item.ago}} {{$item.body nofilter}}
{{$item.ago}} {{$item.body_html nofilter}}
</div>
<div class="wall-item-tools">
{{if $item.drop.pagedrop}}
@ -58,10 +58,10 @@
{{/if}}
{{* top thread comment box *}}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}{{/if}}{{/if}}
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}

View File

@ -39,7 +39,7 @@
</a>
<a href="#" rel="#wall-item-photo-menu-{{$item.id}}" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-{{$item.id}}">menu</a>
<ul class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
@ -50,11 +50,11 @@
</a>
</div>
{{/if}}
<div class="wall-item-location">{{$item.location nofilter}}</div>
<div class="wall-item-location">{{$item.location_html nofilter}}</div>
</div>
<div class="wall-item-content">
{{if $item.title}}<h2><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name">{{$item.title}}</a></h2>{{/if}}
<span class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}">{{$item.body nofilter}}</span>
<span class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}">{{$item.body_html nofilter}}</span>
</div>
</div>
<div class="wall-item-bottom">
@ -161,11 +161,11 @@
{{/if}}
</div>
{{if $item.threaded}}{{if $item.comment}}{{if $item.indent==comment}}
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.indent==comment}}
<div class="wall-item-bottom commentbox">
<div class="wall-item-links"></div>
<div class="wall-item-comment-wrapper">
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
</div>
{{/if}}{{/if}}{{/if}}
@ -189,11 +189,11 @@
{{/if}}
{{* top thread comment box *}}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}{{/if}}{{/if}}
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}

View File

@ -10,12 +10,12 @@
<span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location}}<span class="icon globe"></span>{{$item.location nofilter}} {{/if}}</div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location_html}}<span class="icon globe"></span>{{$item.location_html nofilter}} {{/if}}</div>
</div>
<div class="wall-item-lock-wrapper">
{{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event, 'item', {{$item.id}});" /></div>
@ -31,7 +31,7 @@
<div class="wall-item-content" id="wall-item-content-{{$item.id}}" >
<div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body nofilter}}</div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body_html nofilter}}</div>
</div>
<div class="wall-item-author">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>

View File

@ -31,13 +31,13 @@
<span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span>
<div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}">
<ul>
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location}}<span class="icon globe"></span>{{$item.location nofilter}} {{/if}}</div>
<div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{if $item.location_html}}<span class="icon globe"></span>{{$item.location_html nofilter}} {{/if}}</div>
</div>
<div class="wall-item-lock-wrapper">
{{if $item.lock}}
@ -62,7 +62,7 @@
</div>
<div class="wall-item-title p-name" id="wall-item-title-{{$item.id}}">{{$item.title}}</div>
<div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" ><span class="e-content">{{$item.body nofilter}}</span>
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" ><span class="e-content">{{$item.body_html nofilter}}</span>
<div class="body-tag">
{{if !$item.suppress_tags}}
{{foreach $item.tags as $tag}}
@ -143,13 +143,13 @@
</div>
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike nofilter}}</div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like_html nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike_html nofilter}}</div>
{{if $item.threaded}}
{{if $item.comment}}
{{if $item.comment_html}}
<div class="wall-item-comment-wrapper {{$item.indent}} {{$item.shiny}}" >
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
{{/if}}
{{/if}}
@ -163,7 +163,7 @@
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" >
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
{{/if}}
</div>

View File

@ -16,7 +16,7 @@
<img src="{{$item.thumb}}" class="contact-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
<!-- <a rel="#wall-item-photo-menu-{{$item.id}}" class="contact-photo-menu-button icon s16 menu" id="wall-item-photo-menu-button-{{$item.id}}">menu</a> -->
<ul role="menu" aria-haspopup="true" class="wall-item-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
@ -30,7 +30,7 @@
</div>
<div class="wall-item-content">
{{if $item.title}}<h2><a href="{{$item.plink.href}}">{{$item.title}}</a></h2>{{/if}}
<div class="wall-item-body">{{$item.body nofilter}}</div>
<div class="wall-item-body">{{$item.body_html nofilter}}</div>
</div>
</div>
<div class="wall-item-bottom">
@ -51,7 +51,7 @@
</div>
<div class="wall-item-actions">
<div class="wall-item-location">{{$item.location nofilter}}&nbsp;</div>
<div class="wall-item-location">{{$item.location_html nofilter}}&nbsp;</div>
<div class="wall-item-actions-social">
{{if $item.star}}
@ -89,7 +89,7 @@
</div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike nofilter}}</div>
<div class="wall-item-like" id="wall-item-like-{{$item.id}}">{{$item.like_html nofilter}}</div>
<div class="wall-item-dislike" id="wall-item-dislike-{{$item.id}}">{{$item.dislike_html nofilter}}</div>
</div>
</div>

View File

@ -30,14 +30,14 @@
<!-- <a href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link" id="wall-item-photo-link-{{$item.id}}"></a> -->
<img src="{{$item.thumb}}" class="contact-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
<ul role="menu" aria-haspopup="true" class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
<div class="wall-item-location">{{$item.location nofilter}}</div>
<div class="wall-item-location">{{$item.location_html nofilter}}</div>
</div>
<div class="wall-item-content">
{{$item.ago}} {{$item.body nofilter}}
{{$item.ago}} {{$item.body_html nofilter}}
</div>
<div class="wall-item-tools">
{{if $item.drop.pagedrop}}
@ -58,10 +58,10 @@
{{/if}}
{{* top thread comment box *}}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}{{/if}}{{/if}}
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" >{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper" >{{$item.comment_html nofilter}}</div>
{{/if}}

View File

@ -40,7 +40,7 @@
<!-- <a aria-hidden="true" href="{{$item.profile_url}}" target="redir" title="{{$item.linktitle}}" class="contact-photo-link u-url" id="wall-item-photo-link-{{$item.id}}"></a> -->
<img src="{{$item.thumb}}" class="contact-photo {{$item.sparkle}} p-name u-photo" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" />
<ul role="menu" aria-haspopup="true" class="contact-menu menu-popup" id="wall-item-photo-menu-{{$item.id}}">
{{$item.item_photo_menu nofilter}}
{{$item.item_photo_menu_html nofilter}}
</ul>
</div>
@ -74,7 +74,7 @@
<div itemprop="description" class="wall-item-content">
{{if $item.title}}<h2><a href="{{$item.plink.href}}" class="{{$item.sparkle}} p-name">{{$item.title}}</a></h2>{{/if}}
<span class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}">{{$item.body nofilter}}</span>
<span class="wall-item-body e-content {{if !$item.title}}p-name{{/if}}">{{$item.body_html nofilter}}</span>
</div>
</div>
<div class="wall-item-bottom">
@ -109,7 +109,7 @@
<a role="button" title="{{$item.remote_comment.0}}" href="{{$item.remote_comment.2}}"><i class="icon-commenting"><span class="sr-only">{{$item.remote_comment.1}}</span></i></a>
{{/if}}
{{if $item.comment}}
{{if $item.comment_html}}
<a role="button" id="comment-{{$item.id}}" class="fakelink togglecomment" onclick="openClose('item-comments-{{$item.id}}'); commentExpand({{$item.id}});" title="{{$item.switchcomment}}"><i class="icon-commenting"><span class="sr-only">{{$item.switchcomment}}</span></i></a>
{{/if}}
@ -150,7 +150,7 @@
{{/if}}
</div>
<div class="wall-item-location">{{$item.location nofilter}} {{$item.postopts}}</div>
<div class="wall-item-location">{{$item.location_html nofilter}} {{$item.postopts}}</div>
<div class="wall-item-actions-isevent">
</div>
@ -181,12 +181,12 @@
</div>
{{if $item.threaded}}{{if $item.comment}}
{{if $item.threaded}}{{if $item.comment_html}}
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">
{{$item.comment nofilter}}
{{$item.comment_html nofilter}}
</div>
</div>
{{/if}}{{/if}}
@ -210,19 +210,19 @@
{{/if}}
{{if $item.total_comments_num}}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}">{{$item.comment nofilter}}</div>
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}">{{$item.comment_html nofilter}}</div>
{{/if}}{{/if}}{{/if}}
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}">{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}">{{$item.comment_html nofilter}}</div>
{{/if}}
{{else}}
{{if $item.threaded}}{{if $item.comment}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">{{$item.comment nofilter}}</div>
{{if $item.threaded}}{{if $item.comment_html}}{{if $item.thread_level==1}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">{{$item.comment_html nofilter}}</div>
{{/if}}{{/if}}{{/if}}
{{if $item.flatten}}
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">{{$item.comment nofilter}}</div>
<div class="wall-item-comment-wrapper" id="item-comments-{{$item.id}}" style="display: none;">{{$item.comment_html nofilter}}</div>
{{/if}}
{{/if}}