allow photo-items to appear full width if large photos feature is enabled. in prepare_body() split off mentions, tags, categories folders and attachments from body for easier theming. some other little fixes.

This commit is contained in:
Mario Vavti 2015-10-14 22:14:19 +02:00
parent d616099de6
commit b4e83b6537
12 changed files with 179 additions and 153 deletions

View file

@ -278,13 +278,21 @@ class Item extends BaseObject {
$children = $this->get_children();
$is_photo = (($item['resource_type'] == 'photo') ? true : false) && feature_enabled($conv->get_profile_owner(),'large_photos');
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
$tmp_item = array(
'template' => $this->get_template(),
'mode' => $mode,
'type' => implode("",array_slice(explode("/",$item['verb']),-1)),
'tags' => array(),
'body' => $body,
'text' => strip_tags($body),
'body' => $body['html'],
'tags' => $body['tags'],
'categories' => $body['categories'],
'mentions' => $body['mentions'],
'attachments' => $body['attachments'],
'folders' => $body['folders'],
'text' => strip_tags($body['html']),
'id' => $this->get_id(),
'mid' => $item['mid'],
'isevent' => $isevent,
@ -325,6 +333,8 @@ class Item extends BaseObject {
'owner_url' => $this->get_owner_url(),
'owner_photo' => $this->get_owner_photo(),
'owner_name' => $this->get_owner_name(),
'is_photo' => $is_photo,
'has_tags' => $has_tags,
// Item toolbar buttons
'like' => $like,

View file

@ -629,11 +629,6 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
if($item['author-link'] && (! $item['author-name']))
$profile_name = $item['author-link'];
$tags=array();
$hashtags = array();
$mentions = array();
$sp = false;
$profile_link = best_link_url($item,$sp);
if($sp)
@ -678,14 +673,17 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
$unverified = '';
$tags=array();
$terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN));
if(count($terms))
foreach($terms as $tag)
$tags[] = format_term_for_display($tag);
// $tags=array();
// $terms = get_terms_oftype($item['term'],array(TERM_HASHTAG,TERM_MENTION,TERM_UNKNOWN));
// if(count($terms))
// foreach($terms as $tag)
// $tags[] = format_term_for_display($tag);
$body = prepare_body($item,true);
$is_photo = (($item['resource_type'] == 'photo') ? true : false);
$has_tags = (($body['tags'] || $body['categories'] || $body['mentions'] || $body['attachments'] || $body['folders']) ? true : false);
$tmp_item = array(
'template' => $tpl,
'toplevel' => 'toplevel_item',
@ -699,10 +697,12 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'lock' => $lock,
'thumb' => $profile_avatar,
'title' => $item['title'],
'body' => $body,
'tags' => $tags,
'hashtags' => $hashtags,
'mentions' => $mentions,
'body' => $body['html'],
'tags' => $body['tags'],
'categories' => $body['categories'],
'mentions' => $body['mentions'],
'attachments' => $body['attachments'],
'folders' => $body['folders'],
'verified' => $verified,
'unverified' => $unverified,
'forged' => $forged,
@ -712,7 +712,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'has_folders' => ((count($folders)) ? 'true' : ''),
'categories' => $categories,
'folders' => $folders,
'text' => strip_tags($body),
'text' => strip_tags($body['html']),
'ago' => relative_date($item['created']),
'app' => $item['app'],
'str_app' => sprintf( t('from %s'), $item['app']),
@ -738,6 +738,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'previewing' => $previewing,
'wait' => t('Please wait'),
'thread_level' => 1,
'is_photo' => $is_photo,
'has_tags' => $has_tags,
);
$arr = array('item' => $item, 'output' => $tmp_item);

View file

@ -889,6 +889,7 @@ function get_item_elements($x,$allow_code = false) {
$arr['mimetype'] = (($x['mimetype']) ? htmlspecialchars($x['mimetype'], ENT_COMPAT,'UTF-8',false) : '');
$arr['obj_type'] = (($x['object_type']) ? htmlspecialchars($x['object_type'], ENT_COMPAT,'UTF-8',false) : '');
$arr['tgt_type'] = (($x['target_type']) ? htmlspecialchars($x['target_type'], ENT_COMPAT,'UTF-8',false) : '');
$arr['resource_type'] = (($x['resource_type']) ? htmlspecialchars($x['resource_type'], ENT_COMPAT,'UTF-8',false) : '');
$arr['public_policy'] = (($x['public_scope']) ? htmlspecialchars($x['public_scope'], ENT_COMPAT,'UTF-8',false) : '');
if($arr['public_policy'] === 'public')
@ -1285,6 +1286,7 @@ function encode_item($item,$mirror = false) {
$x['verb'] = $item['verb'];
$x['object_type'] = $item['obj_type'];
$x['target_type'] = $item['tgt_type'];
$x['resource_type'] = $item['resource_type'];
$x['permalink'] = $item['plink'];
$x['location'] = $item['location'];
$x['longlat'] = $item['coord'];

View file

@ -281,7 +281,7 @@ function photo_upload($channel, $observer, $args) {
}
}
else {
$title = '';
$title = $args['filename'] ? $args['filename'] : '';
$mid = item_message_id();
$arr = array();

View file

@ -1216,36 +1216,13 @@ function theme_attachments(&$item) {
if(is_array($arr) && count($arr)) {
$attaches = array();
foreach($arr as $r) {
$icon = '';
$icontype = substr($r['type'],0,strpos($r['type'],'/'));
/**
* @FIXME This should probably be a giant "if" statement in the
* template so that we don't have icon names embedded in php code.
*/
$icon = getIconFromType($r['type']);
switch($icontype) {
case 'video':
$icon = 'icon-facetime-video';
break;
case 'audio':
$icon = 'icon-volume-up';
break;
case 'image':
$icon = 'icon-picture';
break;
case 'text':
$icon = 'icon-align-justify';
break;
default:
$icon = 'icon-question';
break;
}
$title = htmlspecialchars($r['title'], ENT_COMPAT,'UTF-8');
$label = urldecode(htmlspecialchars($r['title'], ENT_COMPAT, 'UTF-8'));
if(! $title)
$title = t('unknown.???');
$title .= ' ' . (($r['length']) ? $r['length'] . ' ' . t('bytes') : '');
$title = t('Attachment') . (($r['length']) ? ' ' . userReadableSize($r['length']) : '');
require_once('include/identity.php');
if(is_foreigner($item['author_xchan']))
@ -1253,14 +1230,14 @@ function theme_attachments(&$item) {
else
$url = z_root() . '/magic?f=&hash=' . $item['author_xchan'] . '&dest=' . $r['href'] . '/' . $r['revision'];
$s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
$attaches[] = array('title' => $title, 'url' => $url, 'icon' => $icon );
//$s .= '<a href="' . $url . '" title="' . $title . '" class="attachlink" >' . $icon . '</a>';
$attaches[] = array('label' => $label, 'url' => $url, 'icon' => $icon, 'title' => $title);
}
}
$s = replace_macros(get_markup_template('item_attach.tpl'), array(
'$attaches' => $attaches
));
$s = replace_macros(get_markup_template('item_attach.tpl'), array(
'$attaches' => $attaches
));
}
return $s;
}
@ -1279,11 +1256,12 @@ function format_categories(&$item,$writeable) {
$removelink = (($writeable) ? z_root() . '/filerm/' . $item['id'] . '?f=&cat=' . urlencode($t['term']) : '');
$categories[] = array('term' => $term, 'writeable' => $writeable, 'removelink' => $removelink, 'url' => zid($t['url']));
}
$s = replace_macros(get_markup_template('item_categories.tpl'),array(
'$remove' => t('remove category'),
'$categories' => $categories
));
}
$s = replace_macros(get_markup_template('item_categories.tpl'),array(
'$remove' => t('remove category'),
'$categories' => $categories
));
return $s;
}
@ -1294,6 +1272,7 @@ function format_categories(&$item,$writeable) {
* @param[in] array &$item
* @return string HTML link of hashtag
*/
function format_hashtags(&$item) {
$s = '';
@ -1354,11 +1333,12 @@ function format_filer(&$item) {
$removelink = z_root() . '/filerm/' . $item['id'] . '?f=&term=' . urlencode($t['term']);
$categories[] = array('term' => $term, 'removelink' => $removelink);
}
$s = replace_macros(get_markup_template('item_filer.tpl'),array(
'$remove' => t('remove from file'),
'$categories' => $categories
));
}
$s = replace_macros(get_markup_template('item_filer.tpl'),array(
'$remove' => t('remove from file'),
'$categories' => $categories
));
return $s;
}
@ -1411,19 +1391,19 @@ function prepare_body(&$item,$attach = false) {
}
}
$s .= theme_attachments($item);
$attachments = theme_attachments($item);
$writeable = ((get_observer_hash() == $item['owner_xchan']) ? true : false);
$s .= format_hashtags($item);
$tags = format_hashtags($item);
if($item['resource_type'])
$s .= format_mentions($item);
$mentions = format_mentions($item);
$s .= format_categories($item,$writeable);
$categories = format_categories($item,$writeable);
if(local_channel() == $item['uid'])
$s .= format_filer($item);
$filer = format_filer($item);
$s = sslify($s);
@ -1456,9 +1436,19 @@ function prepare_body(&$item,$attach = false) {
$s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
}
$prep_arr = array('item' => $item, 'html' => $s);
$prep_arr = array(
'item' => $item,
'html' => $s,
'categories' => $categories,
'folders' => $filer,
'tags' => $tags,
'mentions' => $mentions,
'attachments' => $attachments
);
call_hooks('prepare_body_final', $prep_arr);
return $prep_arr['html'];
return $prep_arr;
}
/**
@ -2490,6 +2480,7 @@ function linkify_tags($a, &$body, $uid, $diaspora = false) {
*
* @param string $type mime type
* @return string
* @todo rename to get_icon_from_type()
*/
function getIconFromType($type) {
$iconMap = array(
@ -2542,6 +2533,7 @@ function getIconFromType($type) {
*
* @param int $size filesize in bytes
* @return string human readable formatted filesize
* @todo rename to user_readable_size()
*/
function userReadableSize($size) {
$ret = '';
@ -2607,4 +2599,4 @@ function item_url_replace($channel,&$item,$old,$new) {
$item['item_verified'] = 1;
}
}
}

View file

@ -330,13 +330,14 @@ function photos_post(&$a) {
// make sure the linked item has the same permissions as the photo regardless of any other changes
$x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
$x = q("update item set allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d, title = '%s'
where id = %d",
dbesc($perm['allow_cid']),
dbesc($perm['allow_gid']),
dbesc($perm['deny_cid']),
dbesc($perm['deny_gid']),
intval($acl->is_private()),
dbesc($desc),
intval($item_id)
);

View file

@ -77,6 +77,10 @@ code {
/* conv_item */
.wall-photo-item img {
width: 100%;
}
.wall-item-info {
display: block;
float: left;
@ -144,22 +148,8 @@ a.wall-item-name-link {
word-wrap: break-word;
}
.body-tag, .filesavetags, .categorytags {
opacity: 0.5;
filter:alpha(opacity=50);
}
.body-tag:hover, .filesavetags:hover, .categorytags:hover {
opacity: 1.0 !important;
filter:alpha(opacity=100) !important;
}
.body-tag {
margin-top: 10px;
}
.categorytags {
margin-top: 10px;
.body-tags {
margin-top: 5px;
}
.item-tool {

View file

@ -1529,22 +1529,6 @@ a .drop-icons:hover {
margin-right: 10px;
color: #FF0000;
}
.attachlink {
float: left;
border: 1px solid black;
padding: 5px;
margin-right: 8px;
}
.attach-icons {
font-size: 1.4em;
}
.attach-clip {
margin-right: 3px;
font-size: 1.8em;
}
#menulist {
list-style-type: none;
@ -1646,13 +1630,17 @@ img.mail-conv-sender-photo {
padding: 1em 10px;
}
.wall-photo-item {
padding: 10px 0px;
}
.wall-item-tools {
padding: 0px 10px 10px 10px;
}
.wall-item-title {
font-size: $font_size;
font-size: $font_size;
}
.wall-item-content-wrapper {

View file

@ -33,29 +33,42 @@
</div>
<div class="clear"></div>
</div>
<div class="wall-item-content" id="wall-item-content-{{$item.id}}">
<div class="{{if $item.is_photo}}wall-photo-item{{else}}wall-item-content{{/if}}" id="wall-item-content-{{$item.id}}">
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >
{{$item.body}}
{{if $item.tags}}
<div class="body-tag">
{{foreach $item.tags as $tag}}
<span class='tag'>{{$tag}}</span>
{{/foreach}}
</div>
{{/if}}
{{if $item.has_cats}}
<div class="categorytags">
<span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
</div>
{{/if}}
{{if $item.has_folders}}
<div class="filesavetags">
<span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}}
</div>
{{/if}}
</div>
<div class="clear"></div>
</div>
{{if $item.has_tags}}
<div class="wall-item-tools">
{{if $item.mentions}}
<div class="body-tags" id="item-mentions">
<span class="tag">{{$item.mentions}}</span>
</div>
{{/if}}
{{if $item.tags}}
<div class="body-tags" id="item-tags">
<span class="tag">{{$item.tags}}</span>
</div>
{{/if}}
{{if $item.categories}}
<div class="body-tags" id="item-categories">
<span class="tag">{{$item.categories}}</span>
</div>
{{/if}}
{{if $item.folders}}
<div class="body-tags" id="item-folders">
<span class="tag">{{$item.folders}}</span>
</div>
{{/if}}
{{if $item.attachments}}
<div class="body-tags" id="item-attachments">
<span class='tag'>{{$item.attachments}}</span>
</div>
{{/if}}
<div class="clear"></div>
</div>
{{/if}}
<div class="wall-item-tools">
<div class="wall-item-tools-right btn-group pull-right">
{{if $item.like}}

View file

@ -1,8 +1,5 @@
<div class="clear"></div>
{{if $attaches}}
<div class="body-attach">
{{foreach $attaches as $a}}
<a href="{{$a.url}}" title="{{$a.title}}" class="attachlink" ><i class="icon-paper-clip attach-icons attach-clip"></i><i class="{{$a.icon}} attach-icons"></i></a>
{{/foreach}}
</div>
{{foreach $attaches as $a}}
<a href="{{$a.url}}" title="{{$a.title}}" class="btn btn-xs btn-default"><i class="{{$a.icon}} attach-icons"></i>&nbsp;{{$a.label}}</a>
{{/foreach}}
{{/if}}

View file

@ -1,7 +1,7 @@
{{if $categories}}
<div class="categorytags">
{{foreach $categories as $cat}}
<span class="item-category"><i class="icon-asterisk cat-icons"></i>&nbsp;{{if $cat.url}}<a href="{{$cat.url}}">{{$cat.term}}</a>{{else}}{{$cat.term}}{{/if}}</span>
<span class="item-category"><i class="icon-asterisk cat-icons"></i>{{if $cat.url}}<a href="{{$cat.url}}">{{$cat.term}}</a>{{else}}{{$cat.term}}{{/if}}</span>
{{/foreach}}
</div>
{{/if}}

View file

@ -2,33 +2,68 @@
<a name="{{$item.id}}" ></a>
<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" >
<div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" style="clear:both;">
<div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
<div class="wall-item-head">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
<a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"><img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" /></a>
</div>
<div class="wall-item-photo-end" style="clear:both"></div>
</div>
<div class="wall-item-photo-end" style="clear:both"></div>
{{if $item.title}}
<div class="wall-item-title" id="wall-item-title-{{$item.id}}">
<h3>{{if $item.title_tosource}}{{if $item.plink}}<a href="{{$item.plink.href}}" title="{{$item.title}} ({{$item.plink.title}})">{{/if}}{{/if}}{{$item.title}}{{if $item.title_tosource}}{{if $item.plink}}</a>{{/if}}{{/if}}</h3>
</div>
{{/if}}
{{if $item.lock}}
<div class="wall-item-lock dropdown">
<i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<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>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
{{if $item.verified}}<i class="icon-ok item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-exclamation item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
</div>
<div class="clear"></div>
</div>
{{if $item.title}}
<div class="wall-item-title" id="wall-item-title-{{$item.id}}"><h3>{{$item.title}}</h3></div>
{{/if}}
{{if $item.lock}}
<div class="wall-item-lock dropdown">
<i class="icon-lock lockview dropdown-toggle" data-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i><ul id="panel-{{$item.id}}" class="lockview-panel dropdown-menu"></ul>&nbsp;
</div>
{{/if}}
<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>{{if $item.owner_url}}&nbsp;{{$item.via}}&nbsp;<a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a>{{/if}}
</div>
<div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">
{{if $item.verified}}<i class="icon-ok item-verified" title="{{$item.verified}}"></i>&nbsp;{{elseif $item.forged}}<i class="icon-remove item-forged" title="{{$item.forged}}"></i>&nbsp;{{/if}}{{if $item.location}}<span class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}},&nbsp;</span>{{/if}}<span class="autotime" title="{{$item.isotime}}">{{$item.localtime}}{{if $item.editedtime}}&nbsp;{{$item.editedtime}}{{/if}}{{if $item.expiretime}}&nbsp;{{$item.expiretime}}{{/if}}</span>{{if $item.editedtime}}&nbsp;<i class="icon-pencil"></i>{{/if}}&nbsp;{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}
</div>
<div class="wall-item-content" id="wall-item-content-{{$item.id}}">
<div class="wall-item-title-end"></div>
<div class="{{if $item.is_photo}}wall-photo-item{{else}}wall-item-content{{/if}}" id="wall-item-content-{{$item.id}}">
<div class="wall-item-body" id="wall-item-body-{{$item.id}}" >
{{$item.body}}
</div>
<div class="clear"></div>
</div>
<div class="wall-item-tools">
{{if $item.has_tags}}
<div class="wall-item-tools">
{{if $item.mentions}}
<div class="body-tags" id="item-mentions">
<span class="tag">{{$item.mentions}}</span>
</div>
{{/if}}
{{if $item.tags}}
<div class="body-tags" id="item-tags">
<span class="tag">{{$item.tags}}</span>
</div>
{{/if}}
{{if $item.categories}}
<div class="body-tags" id="item-categories">
<span class="tag">{{$item.categories}}</span>
</div>
{{/if}}
{{if $item.folders}}
<div class="body-tags" id="item-folders">
<span class="tag">{{$item.folders}}</span>
</div>
{{/if}}
{{if $item.attachments}}
<div class="body-tags" id="item-attachments">
<span class='tag'>{{$item.attachments}}</span>
</div>
{{/if}}
<div class="clear"></div>
</div>
{{/if}}
<div class="wall-item-tools">
<div class="wall-item-tools-right btn-group pull-right">
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown">
<i class="icon-caret-down"></i>
@ -39,16 +74,12 @@
{{/if}}
{{if $item.drop.dropping}}
<li role="presentation" class="divider"></li>
<li><a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}" ><i class="icon-remove"></i> {{$item.drop.delete}}</a></li>
<li><a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}" ><i class="icon-trash"></i> {{$item.drop.delete}}</a></li>
{{/if}}
</ul>
</div>
<div class="clear"></div>
</div>
{{* we dont' use this do we?
{{if $item.drop.pagedrop}}
<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />
{{/if}}
*}}
<div class="clear"></div>
</div>
<div class="wall-item-wrapper-end"></div>