diff options
Diffstat (limited to 'view')
29 files changed, 336 insertions, 31 deletions
diff --git a/view/common_friends.tpl b/view/common_friends.tpl new file mode 100644 index 000000000..1f610d8c4 --- /dev/null +++ b/view/common_friends.tpl @@ -0,0 +1,12 @@ +<div class="profile-match-wrapper"> + <div class="profile-match-photo"> + <a href="$url"> + <img src="$photo" alt="$name" width="80" height="80" title="$name [$url]" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="$url" title="$name[$tags]">$name</a> + </div> + <div class="profile-match-end"></div> +</div>
\ No newline at end of file diff --git a/view/contact_edit.tpl b/view/contact_edit.tpl index 248140a6b..c2e3e36fb 100644 --- a/view/contact_edit.tpl +++ b/view/contact_edit.tpl @@ -19,6 +19,7 @@ $nettype </div> <div id="contact-edit-nav-wrapper" > + <div id="contact-edit-links" > <a href="contacts/$contact_id/block" class="icon block" id="contact-edit-block-link" title="$block_text"></a> <a href="contacts/$contact_id/ignore" class="icon no" id="contact-edit-ignore-link" title="$ignore_text"></a> @@ -41,6 +42,14 @@ $nettype </div> <div id="contact-edit-end" ></div> + + {{ if $common_text }} + <div id="contact-edit-common"> + <a href="$common_link">$common_text</a> + </a> + {{ endif }} + + $insecure $blocked $ignored diff --git a/view/custom_tinymce.css b/view/custom_tinymce.css index 48621c42c..7932653b6 100644 --- a/view/custom_tinymce.css +++ b/view/custom_tinymce.css @@ -33,3 +33,9 @@ scrollbar-track-color:#F5F5F5; img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} font[face=mceinline] {font-family:inherit !important} + + +object { + display: block; width: 400px; + background: #cccccc url(../images/plugin.png) no-repeat center center; +} diff --git a/view/diaspora_like.tpl b/view/diaspora_like.tpl index 76356eb29..a777aeebe 100644 --- a/view/diaspora_like.tpl +++ b/view/diaspora_like.tpl @@ -1,7 +1,7 @@ <XML> <post> <like> - <target_type>$type</target_type> + <target_type>$target_type</target_type> <guid>$guid</guid> <parent_guid>$parent_guid</parent_guid> <author_signature>$authorsig</author_signature> diff --git a/view/diaspora_like_relay.tpl b/view/diaspora_like_relay.tpl index 6feba96ad..65559b05b 100644 --- a/view/diaspora_like_relay.tpl +++ b/view/diaspora_like_relay.tpl @@ -2,7 +2,7 @@ <post> <like> <guid>$guid</guid> - <target_type>$type</target_type> + <target_type>$target_type</target_type> <parent_guid>$parent_guid</parent_guid> <parent_author_signature>$parentsig</parent_author_signature> <author_signature>$authrosig</author_signature> diff --git a/view/diaspora_signed_retract.tpl b/view/diaspora_signed_retract.tpl new file mode 100644 index 000000000..22120e287 --- /dev/null +++ b/view/diaspora_signed_retract.tpl @@ -0,0 +1,10 @@ +<XML> + <post> + <signed_retraction> + <target_guid>$guid</target_guid> + <target_type>$type</target_type> + <sender_handle>$handle</sender_handle> + <target_author_signature>$signature</target_author_signature> + </signed_retraction> + </post> +</XML> diff --git a/view/diaspora_vcard.tpl b/view/diaspora_vcard.tpl index 684b1d18d..e71fc33ef 100644 --- a/view/diaspora_vcard.tpl +++ b/view/diaspora_vcard.tpl @@ -33,19 +33,19 @@ <dl class="entity_photo"> <dt>Photo</dt> <dd> - <img class="photo avatar" height="300px" width="300px" src="$diaspora.photo300"> + <img class="photo avatar" height="300" width="300" src="$diaspora.photo300"> </dd> </dl> <dl class="entity_photo_medium"> <dt>Photo</dt> <dd> - <img class="photo avatar" height="100px" width="100px" src="$diaspora.photo100"> + <img class="photo avatar" height="100" width="100" src="$diaspora.photo100"> </dd> </dl> <dl class="entity_photo_small"> <dt>Photo</dt> <dd> - <img class="photo avatar" height="50px" width="50px" src="$diaspora.photo50"> + <img class="photo avatar" height="50" width="50" src="$diaspora.photo50"> </dd> </dl> <dl class="entity_searchable"> diff --git a/view/head.tpl b/view/head.tpl index b6d78da39..752915b14 100644 --- a/view/head.tpl +++ b/view/head.tpl @@ -17,11 +17,14 @@ <script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script type="text/javascript" src="$baseurl/js/jquery.js" ></script> +<script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script> +<script type="text/javascript" src="$baseurl/js/fk.autocomplete.js" ></script> <script type="text/javascript" src="$baseurl/library/fancybox/jquery.fancybox-1.3.4.pack.js"></script> <script type="text/javascript" src="$baseurl/library/tiptip/jquery.tipTip.minified.js"></script> <script type="text/javascript" src="$baseurl/library/jgrowl/jquery.jgrowl_minimized.js"></script> <script type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js" ></script> <script type="text/javascript" src="$baseurl/js/acl.js" ></script> +<script type="text/javascript" src="$baseurl/js/webtoolkit.base64.js" ></script> <script type="text/javascript" src="$baseurl/js/main.js" ></script> <script> diff --git a/view/jot-header.tpl b/view/jot-header.tpl index 22bd0aa5b..9ded3e9b4 100644 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -30,9 +30,26 @@ function initEditor(cb){ content_css: "$baseurl/view/custom_tinymce.css", theme_advanced_path : false, setup : function(ed) { - //Character count + cPopup = null; + ed.onKeyDown.add(function(ed,e) { + if(cPopup !== null) + cPopup.onkey(e); + }); + ed.onKeyUp.add(function(ed, e) { var txt = tinyMCE.activeEditor.getContent(); + match = txt.match(/@([^ \n]+)$/); + if(match!==null) { + if(cPopup === null) { + cPopup = new ACPopup(this,baseurl+"/acl"); + } + if(cPopup.ready && match[1]!==cPopup.searchText) cPopup.search(match[1]); + if(! cPopup.ready) cPopup = null; + } + else { + if(cPopup !== null) { cPopup.close(); cPopup = null; } + } + textlen = txt.length; if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) { $('#profile-jot-desc').html(ispublic); @@ -41,6 +58,8 @@ function initEditor(cb){ $('#profile-jot-desc').html(' '); } + //Character count + if(textlen <= 140) { $('#character-counter').removeClass('red'); $('#character-counter').removeClass('orange'); @@ -71,8 +90,8 @@ function initEditor(cb){ editor = true; // setup acl popup $("a#jot-perms-icon").fancybox({ - 'transitionIn' : 'none', - 'transitionOut' : 'none' + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' }); } else { if (typeof cb!="undefined") cb(); @@ -214,6 +233,19 @@ function initEditor(cb){ } } + function itemTag(id) { + $('#like-rotator-' + id).show(); + reply = prompt("$term"); + if(reply && reply.length) { + reply = reply.replace('#',''); + if(reply.length) { + $.get('tagger/' + id + '?term=' + reply, function(data) { + $('#like-rotator-' + id).hide(); + }); + } + } + } + function jotClearLocation() { $('#jot-coord').val(''); $('#profile-nolocation-wrapper').hide(); diff --git a/view/nav.tpl b/view/nav.tpl index 16aa99cb3..d0c640db1 100644 --- a/view/nav.tpl +++ b/view/nav.tpl @@ -47,16 +47,7 @@ <li class="empty">$emptynotifications</li> </ul> </li> - {{ endif }} - - - - - - - - - + {{ endif }} <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">Site</span></a> <ul id="nav-site-menu" class="menu-popup"> diff --git a/view/oembed_video.tpl b/view/oembed_video.tpl new file mode 100644 index 000000000..5824d8d4e --- /dev/null +++ b/view/oembed_video.tpl @@ -0,0 +1,4 @@ +<a href='$embedurl' onclick='this.innerHTML=Base64.decode("$escapedhtml"); return false;' style='float:left; margin: 1em; position: relative;'> + <img width='$tw' height='$th' src='$turl' > + <div style='position: absolute; top: 0px; left: 0px; width: $twpx; height: $thpx; background: url(images/icons/48/play.png) no-repeat center center;'></div> +</a> diff --git a/view/peoplefind.tpl b/view/peoplefind.tpl index 4b3f01b88..eeae2a29a 100644 --- a/view/peoplefind.tpl +++ b/view/peoplefind.tpl @@ -5,6 +5,7 @@ <input id="side-peoplefind-url" type="text" name="search" size="24" title="$hint" /><input id="side-peoplefind-submit" type="submit" name="submit" value="$findthem" /> </form> <div class="side-link" id="side-match-link"><a href="match" >$similar</a></div> + <div class="side-link" id="side-suggest-link"><a href="suggest" >$suggest</a></div> {{ if $inv }} <div class="side-link" id="side-invite-link" ><a href="invite" >$inv</a></div> {{ endif }} diff --git a/view/poco_entry_xml.tpl b/view/poco_entry_xml.tpl new file mode 100644 index 000000000..8d5515152 --- /dev/null +++ b/view/poco_entry_xml.tpl @@ -0,0 +1,7 @@ +<entry> +{{ if $entry.id }}<id>$entry.id</id>{{ endif }} +{{ if $entry.displayName }}<displayName>$entry.displayName</displayName>{{ endif }} +{{ if $entry.preferredUsername }}<preferredUsername>$entry.preferredUsername</preferredUsername>{{ endif }} +{{ if $entry.urls }}<urls><value>$entry.urls.value</value><type>$entry.urls.type</type></urls>{{ endif }} +{{ if $entry.photos }}<photos><value>$entry.photos.value</value><type>$entry.photos.type</type></photos>{{ endif }} +</entry> diff --git a/view/poco_xml.tpl b/view/poco_xml.tpl new file mode 100644 index 000000000..9549b695d --- /dev/null +++ b/view/poco_xml.tpl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<response> +{{ if $response.sorted }}<sorted>$response.sorted</sorted>{{ endif }} +{{ if $response.filtered }}<filtered>$response.filtered</filtered>{{ endif }} +{{ if $response.updatedSince }}<updatedSince>$response.updatedSince</updatedSince>{{ endif }} +<startIndex>$response.startIndex</startIndex> +<itemsPerPage>$response.itemsPerPage</itemsPerPage> +<totalResults>$response.totalResults</totalResults> + + +{{ if $response.totalResults }} +{{ for $response.entry as $entry }} +{{ inc poco_entry_xml.tpl }}{{ endinc }} +{{ endfor }} +{{ else }} +<entry></entry> +{{ endif }} +</response> diff --git a/view/profile_edlink.tpl b/view/profile_edlink.tpl new file mode 100644 index 000000000..ea787b9f5 --- /dev/null +++ b/view/profile_edlink.tpl @@ -0,0 +1,2 @@ +<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="$editprofile" href="profiles/$profid" ></a></div> +<div class="clear"></div>
\ No newline at end of file diff --git a/view/profile_listing_header.tpl b/view/profile_listing_header.tpl index 95d0f177c..09e4fc9b2 100644 --- a/view/profile_listing_header.tpl +++ b/view/profile_listing_header.tpl @@ -2,7 +2,7 @@ <p id="profile-listing-desc" class="button" > <a href="profile_photo" >$chg_photo</a> </p> -<div id="profile-listing-new-link-wrapper" class="button > +<div id="profile-listing-new-link-wrapper" class="button" > <a href="profiles/new" id="profile-listing-new-link" title="$cr_new" >$cr_new</a> </div> diff --git a/view/profile_vcard.tpl b/view/profile_vcard.tpl index d65b65784..c78eb9b7f 100644 --- a/view/profile_vcard.tpl +++ b/view/profile_vcard.tpl @@ -21,7 +21,7 @@ {{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }} - <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo" alt="$profile.name"></div> + <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo" alt="$profile.name" /></div> diff --git a/view/settings.tpl b/view/settings.tpl index 3bbfc6ffd..52f989f99 100644 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -51,6 +51,12 @@ $hide_friends $hide_wall +$blockwall + +$blocktags + +{{inc field_input.tpl with $field=$expire }}{{endinc}} + <div id="settings-default-perms" class="settings-default-perms" > <div id="settings-default-perms-menu" class="fakelink" onClick="openClose('settings-default-perms-select');" >$permissions $permdesc</div> <div id="settings-default-perms-menu-end"></div> @@ -63,11 +69,6 @@ $hide_wall </div> <div id="settings-default-perms-end"></div> -{{inc field_checkbox.tpl with $field=$blockwall }}{{endinc}} - -{{inc field_input.tpl with $field=$expire }}{{endinc}} - - <div class="settings-submit-wrapper" > <input type="submit" name="submit" class="settings-submit" value="Submit" /> diff --git a/view/suggest_friends.tpl b/view/suggest_friends.tpl new file mode 100644 index 000000000..8e6056494 --- /dev/null +++ b/view/suggest_friends.tpl @@ -0,0 +1,13 @@ +<div class="profile-match-wrapper"> + <a href="$ignlnk" title="$ignore" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a> + <div class="profile-match-photo"> + <a href="$url"> + <img src="$photo" alt="$name" width="80" height="80" title="$name [$url]" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="$url" title="$name">$name</a> + </div> + <div class="profile-match-end"></div> +</div>
\ No newline at end of file diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css index 454c578b0..1aa1efe87 100644 --- a/view/theme/darkzero/style.css +++ b/view/theme/darkzero/style.css @@ -66,3 +66,7 @@ input#dfrn-url { background-color: #222222; color: #FFFFFF !important; } +.pager_first a, .pager_last a, .pager_prev a, .pager_next a, .pager_n a, .pager_current { + color: #000088; +} + diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 3c92a877b..0d8b54698 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -1250,3 +1250,24 @@ footer { display: block; margin: 50px 20%; clear: both; } /** /acl **/ +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#555753; + color: #FFFFFF; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#555753; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #2e3436; background-color: #eeeeec; +} diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 7e7adbadc..e9c0817f4 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -228,6 +228,9 @@ footer { } +.birthday-today, .event-today { + font-weight: bold; +} div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); @@ -514,6 +517,17 @@ input#dfrn-url { #profile-edit-links li { margin-top: 10px; } +.profile-edit-side-div { + float: right; +} +.profile-edit-side-link { + opacity: 0.3; + filter:alpha(opacity=30); +} +.profile-edit-side-link:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} .view-contact-wrapper { margin-top: 20px; @@ -958,6 +972,11 @@ input#dfrn-url { margin-left: 10px; float: left; } +.tag-item { + margin-left: 10px; + float: left; +} + .wall-item-links-wrapper { float: left; @@ -2534,6 +2553,16 @@ a.mail-list-link { margin-top: 10px; } +.body-tag { + opacity: 0.5; + filter:alpha(opacity=50); +} + +.body-tag:hover { + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} + .item-select { opacity: 0.1; filter:alpha(opacity=10); @@ -2837,3 +2866,24 @@ a.mail-list-link { .type-text { background-position: -60px 0px; } .type-unkn { background-position: -80px 0px; } + +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#ffffff; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#ffffff; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #FFFFFF; background: #3465A4; +} diff --git a/view/theme/duepuntozero/wall_item.tpl b/view/theme/duepuntozero/wall_item.tpl index d264d3999..3a4a49729 100644 --- a/view/theme/duepuntozero/wall_item.tpl +++ b/view/theme/duepuntozero/wall_item.tpl @@ -49,6 +49,7 @@ {{ if $star }} <a href="#" id="starred-$id" onclick="dostar($id); return false;" class="star-item icon $isstarred" title="$star.toggle"></a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="tag-item icon tagged" title="$star.tagger"></a> {{ endif }} <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" > diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css index 447072390..c978e140a 100644 --- a/view/theme/loozah/style.css +++ b/view/theme/loozah/style.css @@ -623,6 +623,10 @@ input#dfrn-url { margin-top: 10px; } +.profile-edit-side-div { + float: right; +} + .view-contact-wrapper { margin-top: 20px; float: left; @@ -2745,9 +2749,31 @@ a.mail-list-link { margin-top: 10px; } -.type-video { background-position: 0px; 0px; } -.type-image { background-position: -20px; 0px; } -.type-audio { background-position: -40px; 0px; } -.type-text { background-position: -60px; 0px; } -.type-unkn { background-position: -80px; 0px; } +.type-video { background-position: 0px 0px; } +.type-image { background-position: -20px 0px; } +.type-audio { background-position: -40px 0px; } +.type-text { background-position: -60px 0px; } +.type-unkn { background-position: -80px 0px; } + +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:#ffffff; + overflow:auto; + z-index:100000; + border:1px solid #cccccc; +} +.acpopupitem { + background-color:#ffffff; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #FFFFFF; background: #3465A4; +} + diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less index 1fbeb7ae2..ea699d5c6 100644 --- a/view/theme/quattro/quattro.less +++ b/view/theme/quattro/quattro.less @@ -192,6 +192,29 @@ ul.menu-popup { } +/* autocomplete popup */ +.acpopup { + max-height:150px; + background-color:@MenuBg; + color: @Menu; + border:1px solid #MenuBorder; + overflow:auto; + z-index:100000; + .shadow(); +} +.acpopupitem { + color: @MenuItem; padding: 4px; + clear:left; + img { + float: left; + margin-right: 4px; + } + &.selected{ + background-color: @MenuItemHoverBg; + } +} + + #nav-notifications-menu { width: 400px; img { float: left; margin-right: 5px; } diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css index 585214233..95c3d087e 100644 --- a/view/theme/quattro/style.css +++ b/view/theme/quattro/style.css @@ -388,6 +388,30 @@ ul.menu-popup .empty { text-align: center; color: #9eabb0; } +/* autocomplete popup */ +.acpopup { + max-height: 150px; + background-color: #ffffff; + color: #2d2d2d; + border: 1px solid #MenuBorder; + overflow: auto; + z-index: 100000; + -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); +} +.acpopupitem { + color: #2d2d2d; + padding: 4px; + clear: left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} +.acpopupitem.selected { + background-color: #bdcdd4; +} #nav-notifications-menu { width: 400px; } diff --git a/view/theme/testbubble/style.css b/view/theme/testbubble/style.css index b7c20ab17..91920e84d 100644 --- a/view/theme/testbubble/style.css +++ b/view/theme/testbubble/style.css @@ -823,7 +823,7 @@ profile-jot-banner-wrapper { /* ======== */ .tabs { - width: 500px; + min-width: 500px; list-style: none; padding: 10px; margin: 0px 0px 10px 0px; @@ -1244,6 +1244,12 @@ div[id$="wrapper"] br { clear: left; } background-color: #b20202; } +.profile-edit-side-div { + margin-top: 5px; + margin-right: 30px; + float: right; +} + #cropimage-wrapper { float:left; } #crop-image-form { clear:both; } @@ -3086,3 +3092,41 @@ ul.menu-popup { #jGrowl { z-index: 20000; } + +/* autocomplete popup */ +.acpopup { + max-height:150px; + overflow:auto; + z-index:100000; + + color: #2e3436; + border-top: 0px; + background: #eeeeee; + border-right: 1px solid #dddddd; + border-left: 1px solid #dddddd; + border-bottom: 1px solid #dddddd; + -webkit-border-radius: 0px 5px 5px 5px; + -moz-border-radius: 0px 5px 5px 5px; + border-radius: 0px 5px 5px 5px; + -moz-box-shadow: 3px 3px 4px #959494; + -webkit-box-shadow: 3px 3px 4px #959494; + box-shadow: 3px 3px 4px #959494; + +} +.acpopupitem { + color: #2e3436; padding: 4px; + clear:left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} + +.acpopupitem.selected { + color: #efefef; + background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) ); + background:-moz-linear-gradient( center top, #b20202 5%, #d60808 100% ); + filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b20202', endColorstr='#d60808'); + background-color:#b20202; + order-bottom: none; +} diff --git a/view/wall_item.tpl b/view/wall_item.tpl index cec5e5404..ef822750a 100644 --- a/view/wall_item.tpl +++ b/view/wall_item.tpl @@ -40,6 +40,7 @@ {{ if $star }} <a href="#" id="star-$id" onclick="dostar($id); return false;" class="$star.classdo" title="$star.do">$star.do</a> <a href="#" id="unstar-$id" onclick="dostar($id); return false;" class="$star.classundo" title="$star.undo">$star.undo</a> + <a href="#" id="tagger-$id" onclick="itemTag($id); return false;" class="$star.classtagger" title="$star.tagger">$star.tagger</a> {{ endif }} {{ if $vote }} diff --git a/view/xrd_person.tpl b/view/xrd_person.tpl index 2b5af3d0d..a4b921fe1 100644 --- a/view/xrd_person.tpl +++ b/view/xrd_person.tpl @@ -27,6 +27,8 @@ <Link rel="http://microformats.org/profile/hcard" type="text/html" href="$hcard_url" /> + <Link rel="http://portablecontacts.net/spec/1.0" + href="$poco_url" /> <Link rel="http://webfinger.net/rel/avatar" type="image/jpeg" href="$photo" /> |