This commit is contained in:
friendica 2011-11-15 12:09:22 -08:00
commit 3bd2b731b2
20 changed files with 7635 additions and 6439 deletions

BIN
images/tag.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 B

BIN
images/tag_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

View file

@ -4,7 +4,7 @@
* Render actions localized * Render actions localized
*/ */
function localize_item(&$item){ function localize_item(&$item){
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){ if ($item['verb']=== ACTIVITY_LIKE || $item['verb']=== ACTIVITY_DISLIKE){
$r = q("SELECT * from `item`,`contact` WHERE $r = q("SELECT * from `item`,`contact` WHERE
@ -79,7 +79,44 @@ function localize_item(&$item){
$item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto; $item['body'] = sprintf( t('%1$s is now friends with %2$s'), $A, $B)."\n\n\n".$Bphoto;
} }
if ($item['verb']===ACTIVITY_TAG){
$r = q("SELECT * from `item`,`contact` WHERE
`item`.`contact-id`=`contact`.`id` AND `item`.`uri`='%s';",
dbesc($item['parent-uri']));
if(count($r)==0) return;
$obj=$r[0];
$author = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
$objauthor = '[url=' . $obj['author-link'] . ']' . $obj['author-name'] . '[/url]';
switch($obj['verb']){
case ACTIVITY_POST:
switch ($obj['object-type']){
case ACTIVITY_OBJ_EVENT:
$post_type = t('event');
break;
default:
$post_type = t('status');
}
break;
default:
if($obj['resource-id']){
$post_type = t('photo');
$m=array(); preg_match("/\[url=([^]]*)\]/", $obj['body'], $m);
$rr['plink'] = $m[1];
} else {
$post_type = t('status');
}
}
$plink = '[url=' . $obj['plink'] . ']' . $post_type . '[/url]';
$parsedobj = parse_xml_string($xmlhead.$item['object']);
$tag = sprintf('#[url=%s]%s[/url]', $parsedobj->link, $parsedobj->content);
$item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
}
} }
@ -522,12 +559,22 @@ function conversation(&$a, $items, $mode, $update) {
// //
localize_item($item); localize_item($item);
$tags=array();
foreach(explode(',',$item['tag']) as $tag){
$tag = trim($tag);
if ($tag!="") $tags[] = bbcode($tag);
}
// Build the HTML // Build the HTML
$body = prepare_body($item,true); $body = prepare_body($item,true);
$tmp_item = replace_macros($template,array( $tmp_item = replace_macros($template,array(
'$type' => implode("",array_slice(split("/",$item['verb']),-1)),
'$tags' => $tags,
'$body' => template_escape($body), '$body' => template_escape($body),
'$id' => $item['item_id'], '$id' => $item['item_id'],
'$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), '$linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])),

View file

@ -788,14 +788,6 @@ function prepare_body($item,$attach = false) {
$s .= '<div class="clear"></div></div>'; $s .= '<div class="clear"></div></div>';
} }
$arr = explode(',',$item['tag']);
if(count($arr)) {
$s .= '<div class="body-tag">';
foreach($arr as $r) {
$s .= bbcode($r) . ' ';
}
$s .= '</div>';
}
$prep_arr = array('item' => $item, 'html' => $s); $prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body_final', $prep_arr); call_hooks('prepare_body_final', $prep_arr);

View file

@ -8,9 +8,10 @@ function ping_init(&$a) {
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?> echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<result>"; <result>";
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
if(local_user()){ if(local_user()){
$tags = array();
$comments = array(); $comments = array();
$likes = array(); $likes = array();
$dislikes = array(); $dislikes = array();
@ -29,6 +30,11 @@ function ping_init(&$a) {
$network = count($r); $network = count($r);
foreach ($r as $it) { foreach ($r as $it) {
switch($it['verb']){ switch($it['verb']){
case ACTIVITY_TAG:
$obj = parse_xml_string($xmlhead.$it['object']);
$it['tname'] = $obj->content;
$tags[] = $it;
break;
case ACTIVITY_LIKE: case ACTIVITY_LIKE:
$likes[] = $it; $likes[] = $it;
break; break;
@ -36,7 +42,6 @@ function ping_init(&$a) {
$dislikes[] = $it; $dislikes[] = $it;
break; break;
case ACTIVITY_FRIEND: case ACTIVITY_FRIEND:
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
$obj = parse_xml_string($xmlhead.$it['object']); $obj = parse_xml_string($xmlhead.$it['object']);
$it['fname'] = $obj->title; $it['fname'] = $obj->title;
$friends[] = $it; $friends[] = $it;
@ -61,6 +66,11 @@ function ping_init(&$a) {
$home = count($r); $home = count($r);
foreach ($r as $it) { foreach ($r as $it) {
switch($it['verb']){ switch($it['verb']){
case ACTIVITY_TAG:
$obj = parse_xml_string($xmlhead.$it['object']);
$it['tname'] = $obj->content;
$tags[] = $it;
break;
case ACTIVITY_LIKE: case ACTIVITY_LIKE:
$likes[] = $it; $likes[] = $it;
break; break;
@ -68,7 +78,6 @@ function ping_init(&$a) {
$dislikes[] = $it; $dislikes[] = $it;
break; break;
case ACTIVITY_FRIEND: case ACTIVITY_FRIEND:
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
$obj = parse_xml_string($xmlhead.$it['object']); $obj = parse_xml_string($xmlhead.$it['object']);
$it['fname'] = $obj->title; $it['fname'] = $obj->title;
$friends[] = $it; $friends[] = $it;
@ -129,7 +138,7 @@ function ping_init(&$a) {
<home>$home</home>"; <home>$home</home>";
if ($register!=0) echo "<register>$register</register>"; if ($register!=0) echo "<register>$register</register>";
$tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts); $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags);
echo ' <notif count="'.$tot.'">'; echo ' <notif count="'.$tot.'">';
if ($intro>0){ if ($intro>0){
@ -173,6 +182,11 @@ function ping_init(&$a) {
echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} posted") ) ); echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} posted") ) );
}; };
} }
if (count($tags)){
foreach ($tags as $i) {
echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} tagged %s's post with #%s"), $i['pname'], $i['tname'] ) );
};
}
echo " </notif>"; echo " </notif>";
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -50,7 +50,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>

View file

@ -55,7 +55,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>

View file

@ -1830,6 +1830,10 @@ a.mail-list-link {
margin-top: 10px; margin-top: 10px;
} }
aside input[type='text'] {
width: 180px;
}
.widget { .widget {
border: 1px solid #DDDDDD; border: 1px solid #DDDDDD;
padding: 8px; padding: 8px;

View file

@ -29,7 +29,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$id">
{{ if $vote }} {{ if $vote }}

View file

@ -33,7 +33,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$id">
{{ if $vote }} {{ if $vote }}

View file

@ -77,3 +77,4 @@
@CommentBoxFullColor: @Grey5; @CommentBoxFullColor: @Grey5;
@CommentBoxFullBorderColor: @Grey5; @CommentBoxFullBorderColor: @Grey5;
@TagColor: @Grey1;

View file

@ -3,7 +3,7 @@
/* global */ /* global */
body { body {
font-family: Liberation Sans,helvetica,arial,clean,sans-serif; font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
font-size: 12px; font-size: 10px;
background-color: @BodyBackground; background-color: @BodyBackground;
color: @BodyColor; color: @BodyColor;
margin: 50px 0px 0px 0px; margin: 50px 0px 0px 0px;
@ -302,6 +302,9 @@ section {
.wall-item-item, .wall-item-item,
.wall-item-bottom { display: table-row; } .wall-item-bottom { display: table-row; }
.wall-item-bottom { .opaque(0.5); }
&:hover .wall-item-bottom { .opaque(1); }
.wall-item-info { .wall-item-info {
display: table-cell; display: table-cell;
vertical-align: top; vertical-align: top;
@ -326,7 +329,7 @@ section {
} }
.wall-item-content { .wall-item-content {
display: table-cell; display: table-cell;
font-size: 16px; font-size: 12px;
max-width: 720px; max-width: 720px;
word-wrap: break-word; word-wrap: break-word;
} }
@ -355,11 +358,12 @@ section {
a { float: right; } a { float: right; }
input { float: right; } input { float: right; }
} }
} }
.wall-item-container.comment { .wall-item-container.comment {
margin-top: 50px; /*margin-top: 50px;*/
.wall-item-photo { width: 32px; height: 32px; margin-left: 16px;} .wall-item-photo { width: 32px; height: 32px; margin-left: 16px;}
.wall-item-photo-menu-button { .wall-item-photo-menu-button {
top: 13px !important; top: 13px !important;
@ -385,6 +389,19 @@ section {
} }
} }
.tag {
background: url("../../../images/tag_b.png") no-repeat center left;
color: @TagColor;
padding-left: 3px;
a {
padding-right: 8px;
background: url("../../../images/tag.png") no-repeat center right;
color: @TagColor;
}
}
#profile-jot-wrapper { #profile-jot-wrapper {
width: 100%; width: 100%;
margin: 0px 2em 20px 0px; margin: 0px 2em 20px 0px;

View file

@ -153,7 +153,7 @@
/* global */ /* global */
body { body {
font-family: Liberation Sans, helvetica, arial, clean, sans-serif; font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
font-size: 12px; font-size: 10px;
background-color: #ffffff; background-color: #ffffff;
color: #2d2d2d; color: #2d2d2d;
margin: 50px 0px 0px 0px; margin: 50px 0px 0px 0px;
@ -535,6 +535,22 @@ section {
.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom { .wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row; display: table-row;
} }
.wall-item-container .wall-item-bottom {
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.wall-item-container:hover .wall-item-bottom {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.wall-item-container .wall-item-info { .wall-item-container .wall-item-info {
display: table-cell; display: table-cell;
vertical-align: top; vertical-align: top;
@ -563,7 +579,7 @@ section {
} }
.wall-item-container .wall-item-content { .wall-item-container .wall-item-content {
display: table-cell; display: table-cell;
font-size: 16px; font-size: 12px;
max-width: 720px; max-width: 720px;
word-wrap: break-word; word-wrap: break-word;
} }
@ -619,7 +635,8 @@ section {
float: right; float: right;
} }
.wall-item-container.comment { .wall-item-container.comment {
margin-top: 50px; /*margin-top: 50px;*/
} }
.wall-item-container.comment .wall-item-photo { .wall-item-container.comment .wall-item-photo {
width: 32px; width: 32px;
@ -653,6 +670,16 @@ section {
color: #2d2d2d; color: #2d2d2d;
border: 1px solid #2d2d2d; border: 1px solid #2d2d2d;
} }
.tag {
background: url("../../../images/tag_b.png") no-repeat center left;
color: #ffffff;
padding-left: 3px;
}
.tag a {
padding-right: 8px;
background: url("../../../images/tag.png") no-repeat center right;
color: #ffffff;
}
#profile-jot-wrapper { #profile-jot-wrapper {
width: 100%; width: 100%;
margin: 0px 2em 20px 0px; margin: 0px 2em 20px 0px;

View file

@ -25,7 +25,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-tools" id="wall-item-tools-$id"> <div class="wall-item-tools" id="wall-item-tools-$id">

View file

@ -56,7 +56,13 @@
<div class="wall-item-content" id="wall-item-content-$id" > <div class="wall-item-content" id="wall-item-content-$id" >
<div class="wall-item-title" id="wall-item-title-$id">$title</div> <div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-title-end"></div> <div class="wall-item-title-end"></div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div> <div class="wall-item-body" id="wall-item-body-$id" >$body
<div class="body-tag">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
</div> </div>
<div class="wall-item-author"> <div class="wall-item-author">
<a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a> <a href="$profile_url" title="$linktitle" class="wall-item-name-link"><span class="wall-item-name$sparkle" id="wall-item-name-$id" >$name</span></a>

View file

@ -29,6 +29,15 @@
</div> </div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom">
<div class="">
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }} {{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }}
</div> </div>
<div class="wall-item-actions"> <div class="wall-item-actions">
@ -56,7 +65,7 @@
<div class="wall-item-actions-tools"> <div class="wall-item-actions-tools">
{{ if $drop.dropping }} {{ if $drop.dropping }}
<input type="checkbox" title="$drop.select" name="itemselected[]" value="$id" /> <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" />
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $edpost }}
@ -66,7 +75,13 @@
</div> </div>
</div> </div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div>
</div>
</div> </div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $comment
</div> </div>

View file

@ -32,6 +32,15 @@
$body $body
</div> </div>
</div> </div>
<div class="wall-item-bottom">
<div class="wall-item-links">
</div>
<div class="wall-item-tags">
{{ for $tags as $tag }}
<span class='tag'>$tag</span>
{{ endfor }}
</div>
</div>
<div class="wall-item-bottom"> <div class="wall-item-bottom">
<div class="wall-item-links"> <div class="wall-item-links">
{{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }} {{ if $plink }}<a class="icon s16 link" title="$plink.title" href="$plink.href">$plink.title</a>{{ endif }}
@ -62,7 +71,7 @@
<div class="wall-item-actions-tools"> <div class="wall-item-actions-tools">
{{ if $drop.dropping }} {{ if $drop.dropping }}
<input type="checkbox" title="$drop.select" name="itemselected[]" value="$id" /> <input type="checkbox" title="$drop.select" name="itemselected[]" class="item-select" value="$id" />
<a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a> <a href="item/drop/$id" onclick="return confirmDelete();" class="icon delete s16" title="$drop.delete">$drop.delete</a>
{{ endif }} {{ endif }}
{{ if $edpost }} {{ if $edpost }}
@ -72,6 +81,11 @@
</div> </div>
</div> </div>
<div class="wall-item-bottom">
<div class="wall-item-links"></div>
<div class="wall-item-like" id="wall-item-like-$id">$like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$id">$dislike</div>
</div>
</div> </div>
<div class="wall-item-comment-wrapper" > <div class="wall-item-comment-wrapper" >
$comment $comment