1
1
Fork 0

Threaded comments are starting to work.

For now, only on normal view, and not during update
This commit is contained in:
Domovoy 2012-07-27 22:08:57 +02:00
parent 3484d3bc5f
commit 8ecf8167db
6 changed files with 781 additions and 331 deletions

File diff suppressed because it is too large Load diff

View file

@ -79,6 +79,7 @@ function item_post(&$a) {
// if this isn't the real parent of the conversation, find it
if($r !== false && count($r)) {
$parid = $r[0]['parent'];
$parent_uri = $r[0]['uri'];
if($r[0]['id'] != $r[0]['parent']) {
$r = q("SELECT * FROM `item` WHERE `id` = `parent` AND `parent` = %d LIMIT 1",
intval($parid)
@ -96,7 +97,7 @@ function item_post(&$a) {
$parent = $r[0]['id'];
// multi-level threading - preserve the info but re-parent to our single level threading
if(($parid) && ($parid != $parent))
//if(($parid) && ($parid != $parent))
$thr_parent = $parent_uri;
if($parent_item['contact-id'] && $uid) {

View file

@ -687,7 +687,7 @@ function network_content(&$a, $update = 0) {
$mode = (($nouveau) ? 'network-new' : 'network');
$o .= conversation($a,$items,$mode,$update);
$o .= conversation($a,$items,$mode,$update, false, true);
if(! $update) {
if(! get_pconfig(local_user(),'system','alt_pager')) {

View file

@ -935,8 +935,12 @@ input#dfrn-url {
}
.wall-item-content-wrapper.comment {
.tread-wrapper .tread-wrapper {
margin-left: 50px;
}
.wall-item-content-wrapper.comment {
# margin-left: 50px;
background: #EEEEEE;
}

View file

@ -0,0 +1,13 @@
{{ for $threads as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
<div id="conversation-end"></div>
{{ if $dropping }}
<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();">
<div id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
<div id="item-delete-selected-desc" >$dropping</div>
</div>
<div id="item-delete-selected-end"></div>
{{ endif }}

91
view/wall_thread.tpl Normal file
View file

@ -0,0 +1,91 @@
<div id="tread-wrapper-$item.id" class="tread-wrapper">
{{if $item.comment_firstcollapsed}}
<div class="hide-comments-outer">
<span id="hide-comments-total-$item.id" class="hide-comments-total">$item.num_comments</span> <span id="hide-comments-$item.id" class="hide-comments fakelink" onclick="showHideComments($item.id);">$item.hide_text</span>
</div>
<div id="collapsed-comments-$item.id" class="collapsed-comments" style="display: none;">
{{endif}}
{{if $item.comment_lastcollapsed}}</div>{{endif}}
<a name="$item.id" ></a>
<div class="wall-item-outside-wrapper $item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >
<div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$item.id">
<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">
<a href="$item.profile_url" target="redir" 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" style="height: 80px; width: 80px;" alt="$item.name" />
</a>
<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
</ul>
</div>
</div>
<div class="wall-item-photo-end"></div>
<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.id);" /></div>
{{ else }}<div class="wall-item-lock"></div>{{ endif }}
<div class="wall-item-location" id="wall-item-location-$item.id">$item.location</div>
</div>
</div>
<div class="wall-item-author">
<a href="$item.profile_url" target="redir" 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>
<div class="wall-item-ago" id="wall-item-ago-$item.id" >$item.ago</div>
</div>
<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
<div class="body-tag">
{{ for $item.tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div>
<div class="wall-item-tools" id="wall-item-tools-$item.id">
{{ if $item.vote }}
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
<a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
{{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
<img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
</div>
{{ endif }}
{{ if $item.plink }}
<div class="wall-item-links-wrapper"><a href="$item.plink.href" title="$item.plink.title" target="external-link" class="icon remote-link$item.sparkle"></a></div>
{{ endif }}
{{ if $item.edpost }}
<a class="editpost icon pencil" href="$item.edpost.0" title="$item.edpost.1"></a>
{{ endif }}
{{ if $item.star }}
<a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
<a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
{{ endif }}
{{ if $item.filer }}
<a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
{{ endif }}
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
{{ if $item.drop.dropping }}<a href="item/drop/$item.id" onclick="return confirmDelete();" class="icon drophide" title="$item.drop.delete" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{ endif }}
</div>
{{ if $item.drop.dropping }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}
<div class="wall-item-delete-end"></div>
</div>
</div>
<div class="wall-item-wrapper-end"></div>
<div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>
<div class="wall-item-outside-wrapper-end$item.indent" ></div>
</div>
{{ for $item.children as $item }}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
</div>