diff options
author | Thomas Willingham <founder@kakste.com> | 2012-03-26 20:17:01 +0100 |
---|---|---|
committer | Thomas Willingham <founder@kakste.com> | 2012-03-26 20:17:01 +0100 |
commit | 286c230fa858b7b1fead9c3ff722f6b1b9478d01 (patch) | |
tree | 463f0d075f9593a4d513aa91e08ebc896b00779a /view/theme/dispy | |
parent | 64a2b00cdc97e40ac8e9dc8f0b9cdc5d78cdf2c2 (diff) | |
parent | 0a3f2bdd5bc51d7fc642f431843a5b13287ae94e (diff) | |
download | volse-hubzilla-286c230fa858b7b1fead9c3ff722f6b1b9478d01.tar.gz volse-hubzilla-286c230fa858b7b1fead9c3ff722f6b1b9478d01.tar.bz2 volse-hubzilla-286c230fa858b7b1fead9c3ff722f6b1b9478d01.zip |
Merge remote-tracking branch 'main/master'
Diffstat (limited to 'view/theme/dispy')
-rw-r--r-- | view/theme/dispy/communityhome.tpl | 4 | ||||
-rw-r--r-- | view/theme/dispy/fpostit/README | 8 | ||||
-rwxr-xr-x | view/theme/dispy/fpostit/fpostit.js | 14 | ||||
-rw-r--r-- | view/theme/dispy/fpostit/fpostit.php | 134 | ||||
-rw-r--r-- | view/theme/dispy/fpostit/friendica-32.png | bin | 0 -> 1593 bytes | |||
-rw-r--r-- | view/theme/dispy/fpostit/friendika-32.png | bin | 0 -> 1593 bytes | |||
-rw-r--r-- | view/theme/dispy/icons.png | bin | 18998 -> 29977 bytes | |||
-rw-r--r-- | view/theme/dispy/icons.svg | 22 | ||||
-rw-r--r-- | view/theme/dispy/nav.tpl | 16 | ||||
-rw-r--r-- | view/theme/dispy/photo_view.tpl | 13 | ||||
-rw-r--r-- | view/theme/dispy/screenshot.jpg | bin | 0 -> 60400 bytes | |||
-rw-r--r-- | view/theme/dispy/style.css | 141 | ||||
-rw-r--r-- | view/theme/dispy/theme.php | 30 | ||||
-rw-r--r-- | view/theme/dispy/wall_item.tpl | 9 | ||||
-rw-r--r-- | view/theme/dispy/wallwall_item.tpl | 5 |
15 files changed, 369 insertions, 27 deletions
diff --git a/view/theme/dispy/communityhome.tpl b/view/theme/dispy/communityhome.tpl new file mode 100644 index 000000000..0838fc757 --- /dev/null +++ b/view/theme/dispy/communityhome.tpl @@ -0,0 +1,4 @@ +{{ if $page }} +<h3>PostIt to Friendica</h3> +<div style="padding-left: 8px;"><span >Post to Friendica from anywhere by bookmarking this <a href="$fostitJS" title="PostIt">Link</a>.</span></div> +{{ endif }} diff --git a/view/theme/dispy/fpostit/README b/view/theme/dispy/fpostit/README new file mode 100644 index 000000000..39b7c5761 --- /dev/null +++ b/view/theme/dispy/fpostit/README @@ -0,0 +1,8 @@ +fpostit + +original author: Devlon Duthied + +see his blog posting: +http://blog.duthied.com/2011/09/13/node-agnostic-friendika-bookmarklet/ + +original published at github https://github.com/duthied/Friendika-Bookmarklet diff --git a/view/theme/dispy/fpostit/fpostit.js b/view/theme/dispy/fpostit/fpostit.js new file mode 100755 index 000000000..d18f5d345 --- /dev/null +++ b/view/theme/dispy/fpostit/fpostit.js @@ -0,0 +1,14 @@ +javascript: (function() { + the_url = 'view/theme/dispy/fpostit/fpostit.php?url=' + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? + document.getSelection() : document.selection.createRange().text)); + a_funct = function() { + if (!window.open(the_url, 'fpostit','location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) { + location.href = the_url + }; + if (/Firefox/.test(navigator.userAgent)) { + setTimeout(a_funct, 0) + } else { + a_funct(); + } + })();" diff --git a/view/theme/dispy/fpostit/fpostit.php b/view/theme/dispy/fpostit/fpostit.php new file mode 100644 index 000000000..d00182946 --- /dev/null +++ b/view/theme/dispy/fpostit/fpostit.php @@ -0,0 +1,134 @@ +<?php +if (!isset($_POST["friendica_acct_name"])) $_POST["friendica_acct_name"] = ''; +if (!isset($_COOKIE['username'])) $_COOKIE['username'] = ''; +if (!isset($_COOKIE['password'])) $_COOKIE['password'] = ''; +if (!isset($hostname)) $hostname = ''; +if (!isset($username)) $username = ''; + + +if (($_POST["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) { + setcookie("username", $_POST["friendica_acct_name"], time()+60*60*24*300); + setcookie("password", $_POST["friendica_password"], time()+60*60*24*300); +} + +?> +<html> +<head> + <style> + body { + font-family: sans-serif; + margin: 0px; + } + .wrap1 { + padding: 2px 5px; + background-color: #000; + margin-bottom: 10px; + } + .wrap2 { + margin-left: 10px; + font-size: 12px; + } + .logo { + margin-left: 3px; + margin-right: 5px; + float: left; + } + h2 { + color: #ffffff; + } + .error { + background-color: #FFFF66; + font-size: 12px; + margin-left: 10px; + } + </style> +</head> + +<body> +<?php + +if (isset($_GET['title'])) { + $title = $_GET['title']; +} +if (isset($_GET['text'])) { + $text = $_GET['text']; +} +if (isset($_GET['url'])) { + $url = $_GET['url']; +} + +if ((isset($title)) && (isset($text)) && (isset($url))) { + $content = "$title\nsource:$url\n\n$text"; +} else { + $content = $_POST['content']; +} + +if (isset($_POST['submit'])) { + + if (($_POST["friendica_acct_name"] != '') && ($_POST["friendica_password"] != '')) { + $acctname = $_POST["friendica_acct_name"]; + $tmp_account_array = explode("@", $acctname); + if (isset($tmp_account_array[1])) { + $username = $tmp_account_array[0]; + $hostname = $tmp_account_array[1]; + } + $password = $_POST["friendica_password"]; + $content = $_POST["content"]; + + $url = "http://" . $hostname . '/api/statuses/update'; + $data = array('status' => $content); + + // echo "posting to: $url<br/>"; + + $c = curl_init(); + curl_setopt($c, CURLOPT_URL, $url); + curl_setopt($c, CURLOPT_USERPWD, "$username:$password"); + curl_setopt($c, CURLOPT_POSTFIELDS, $data); + curl_setopt($c, CURLOPT_RETURNTRANSFER, true); + curl_setopt($c, CURLOPT_FOLLOWLOCATION, true); + $c_result = curl_exec($c); + if(curl_errno($c)){ + $error = curl_error($c); + showForm($error, $content); + } + + curl_close($c); + if (!isset($error)) { + echo '<script language="javascript" type="text/javascript">window.close();</script>'; + } + + } else { + $error = "Missing account name and/or password. Please try again."; + showForm($error, $content); + } + +} else { + showForm(null, $content); +} + +function showForm($error, $content) { + $username_cookie = $_COOKIE['username']; + $password_cookie = $_COOKIE['password']; + + echo <<<EOF + <div class="wrap1"> + <h2><img class="logo" src="friendica-32.png" align="middle" />Friendica Bookmarklet</h2> + </div> + + <div class="wrap2"> + <form method="post" action="{$_SERVER['PHP_SELF']}"> + Enter the email address of the Friendica Account that you want to cross-post to: (example: user@friendica.org)<br /><br /> + Account ID: <input type="text" name="friendica_acct_name" value="{$username_cookie}" size="50" /><br /> + Password: <input type="password" name="friendica_password" value="{$password_cookie}" size="50" /><br /> + <textarea name="content" id="content" rows="6" cols="70">{$content}</textarea><br /> + <input type="submit" value="PostIt!" name="submit" />  <span class="error">$error</span> + </form> + <p></p> + </div> +EOF; + +} +?> + +</body> +</html> diff --git a/view/theme/dispy/fpostit/friendica-32.png b/view/theme/dispy/fpostit/friendica-32.png Binary files differnew file mode 100644 index 000000000..61764bf20 --- /dev/null +++ b/view/theme/dispy/fpostit/friendica-32.png diff --git a/view/theme/dispy/fpostit/friendika-32.png b/view/theme/dispy/fpostit/friendika-32.png Binary files differnew file mode 100644 index 000000000..61764bf20 --- /dev/null +++ b/view/theme/dispy/fpostit/friendika-32.png diff --git a/view/theme/dispy/icons.png b/view/theme/dispy/icons.png Binary files differindex 2f0459bd3..f42330d65 100644 --- a/view/theme/dispy/icons.png +++ b/view/theme/dispy/icons.png diff --git a/view/theme/dispy/icons.svg b/view/theme/dispy/icons.svg index 998e2641f..7b82b94ea 100644 --- a/view/theme/dispy/icons.svg +++ b/view/theme/dispy/icons.svg @@ -52,7 +52,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="1.9403009" - inkscape:cx="73.744486" + inkscape:cx="64.725266" inkscape:cy="108.36719" inkscape:document-units="px" inkscape:current-layer="layer1" @@ -63,7 +63,7 @@ inkscape:window-width="1065" inkscape:window-height="742" inkscape:window-x="40" - inkscape:window-y="61" + inkscape:window-y="50" inkscape:window-maximized="0"> <inkscape:grid type="xygrid" @@ -2168,5 +2168,23 @@ transform="translate(22,0)" width="250" height="200" /> + <g + transform="translate(-2.0523e-4,-5e-4)" + id="g4823"> + <path + style="fill:#e6e6e6" + d="m 12,16 -12.00914477,0 0,-13.6988082 2.83893857,-2.12898488 11.8211932,0 0,14.04031008 z" + id="path4821" + inkscape:connector-curvature="0" + transform="translate(232.52235,913.88168)" + sodipodi:nodetypes="ccccccc" /> + <path + sodipodi:nodetypes="cccccccccccccszscc" + transform="translate(232.52235,913.88168)" + inkscape:connector-curvature="0" + id="path4819" + d="m -0.00914477,2.3011918 2.83893857,-2.12898488 11.8211932,0 0,14.04031008 L 13.73679,14.984131 13.640962,1.0093271 3.4856425,0.91349949 1.1272469,2.7572384 12,2.7572384 12,16 -0.00914477,16 z M 8.2958276,12.045759 c -1.8631354,-1.086398 0.045759,-2.6807932 0.045759,-3.6707932 0,-0.99 -0.6423808,-2.2112618 -2.2457592,-2.1833105 C 4.4924492,6.2196066 3.8500685,7.0875 3.8500685,8.4166667 c 0,1.3291666 2.1768916,1.6857063 -0.1958961,3.6876733 z" + style="fill:#1a1a1a" /> + </g> </g> </svg> diff --git a/view/theme/dispy/nav.tpl b/view/theme/dispy/nav.tpl index 11469dc66..589d68352 100644 --- a/view/theme/dispy/nav.tpl +++ b/view/theme/dispy/nav.tpl @@ -5,7 +5,7 @@ <!-- yes, they're going the other way. seems that's how the template renderer works --> - <div id="nav-floater"> +<div id="nav-floater"> <div id="nav-buttons"> {{ if $nav.help }} <a id="nav-help-link" class="nav-link $nav.help.2" href="$nav.help.0" title="$nav.help.1">$nav.help.1</a> @@ -33,17 +33,23 @@ works --> {{ endif }} {{ if $nav.network }} <a id="nav-network-link" class="nav-link $nav.network.2" - href="$nav.network.0" title="$nav.network.1">$nav.network.1</a> + href="$nav.network.0" title="$nav.network.1">$nav.network.1</a> {{ endif }} {{ if $nav.home }} <a id="nav-home-link" class="nav-link $nav.home.2" - href="$nav.home.0" title="$nav.home.1">$nav.home.1</a> + href="$nav.home.0" title="$nav.home.1">$nav.home.1</a> {{ endif }} {{ if $nav.login }} <a id="nav-login-link" class="nav-login-link $nav.login.2" - href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> + href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }} - </div> + </div> + + <div class="search-box"> + <form method="get" action="$nav.search.0"> + <input id="search-text" class="nav-menu-search" type="search" placeholder="Search" value="" id="search" name="search" /> + </form> + </div> <div id="user-menu"> <a id="user-menu-label" onclick="openClose('user-menu-popup'); return false" href="$nav.home.0">$sitelocation</a> diff --git a/view/theme/dispy/photo_view.tpl b/view/theme/dispy/photo_view.tpl index f1209ec58..732caf690 100644 --- a/view/theme/dispy/photo_view.tpl +++ b/view/theme/dispy/photo_view.tpl @@ -4,18 +4,15 @@ <div id="photo-edit-link-wrap"> {{ if $tools }} <a id="photo-edit-link" href="$tools.edit.0">$tools.edit.1</a> -- +| <a id="photo-toprofile-link" href="$tools.profile.0">$tools.profile.1</a> {{ endif }} -{{ if $lock }} - <img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,'photo$id');" /> {{ endif }} -</div> - -<div id="photo-photo"> - {{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }} - <a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a> - {{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }} +{{ if $lock }} | <img src="images/lock_icon.gif" class="lockview" alt="$lock" onclick="lockview(event,'photo/$id');" /> {{ endif }} </div> +{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0">$prevlink.1</a></div>{{ endif }} +<div id="photo-photo"><a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a></div> +{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0">$nextlink.1</a></div>{{ endif }} <div id="photo-photo-end"></div> <div id="photo-caption">$desc</div> {{ if $tags }} diff --git a/view/theme/dispy/screenshot.jpg b/view/theme/dispy/screenshot.jpg Binary files differnew file mode 100644 index 000000000..81ee35afb --- /dev/null +++ b/view/theme/dispy/screenshot.jpg diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 812c5ee2e..c591152c2 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -48,7 +48,7 @@ body { body, button, input, select, textarea { font-family: sans-serif; color: #222; - background-color: rgb(254,254,254); + background-color: #efefef; } select { border: 1px #555 dotted; @@ -152,10 +152,11 @@ a:hover { color: #729fcf; } input[type=submit] { + background-color: #555753; + color: #eeeeec; + font-weight: bold; margin-top: 10px; height: 22px; - background-color: #555753; - color: #eeeeec; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; @@ -198,6 +199,10 @@ input[type=submit] { .action { margin: 5px 0; } +.tool { + margin: 5px 0; + list-style: none; +} /** @@ -212,7 +217,7 @@ input[type=submit] { * nav */ nav { - height: 60px; + height: 80px; display: block; background-color: #2e3436; color: #eeeeec; @@ -481,6 +486,20 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link margin: 0px; background: transparent url(icons.png) -190px -60px no-repeat; } +.search-box { + display: inline-block; + height: 40px; + margin: 12px 0 0 -3px; + position: relative; + right: -12px; + top: 17px; + width: 0; +} +#search-text { + border: 1px #eec solid; + background: #2e3436; + color: #eec; +} .nav-ajax-update, .nav-ajax-left { width: 30px; height: 19px; @@ -1494,6 +1513,8 @@ div[id$="wrapper"] br { } #prvmail-subject { width: 100%; + color: #eec; + background: #444; } #prvmail-submit-wrapper { margin-top: 10px; @@ -1859,6 +1880,71 @@ div[id$="wrapper"] br { clear:both; } + +/** + * intros + */ +.intro-wrapper { + margin-top: 20px; +} + +.intro-fullname { + font-size: 1.1em; + font-weight: bold; + +} +.intro-desc { + margin-bottom: 20px; + font-weight: bold; +} + +.intro-note { + padding: 10px; +} + +.intro-end { + padding: 30px; +} + +.intro-form { + float: left; +} +.intro-approve-form { + clear: both; +} +.intro-approve-as-friend-end { + clear: both; +} +.intro-submit-approve, .intro-submit-ignore { + margin-right: 20px; +} +.intro-submit-approve { + margin-top: 15px; +} + +.intro-approve-as-friend-label, .intro-approve-as-fan-label { + float: left; +} +.intro-approve-as-friend, .intro-approve-as-fan { + float: left; +} +.intro-form-end { + clear: both; + margin-bottom: 10px; +} +.intro-approve-as-friend-desc { + margin-top: 10px; +} +.intro-approve-as-end { + clear: both; + margin-bottom: 10px; +} + +.intro-end { + clear: both; +} + + /** * events **/ @@ -1955,6 +2041,16 @@ div[id$="wrapper"] br { opacity: 1.0 !important; filter:alpha(opacity=100) !important; } +.filesavetags { + margin: 20px 0; + opacity: 0.5; + filter:alpha(opacity=50); +} +.filesavetags:hover { + margin: 20px 0; + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} .item-select { opacity: 0.1; filter:alpha(opacity=10); @@ -2008,13 +2104,13 @@ div[id$="wrapper"] br { #group-sidebar { margin-bottom: 10px; } -.group-selected, .nets-selected { +.group-selected, .nets-selected, .fileas-selected { padding: 3px; color: #111; background: #f8f8f8; font-weight: bold; } -.group-selected:hover, .nets-selected:hover { +.group-selected:hover, .nets-selected:hover, .fileas-selected:hover { color: #111; } .groupsideedit { @@ -2162,11 +2258,16 @@ div[id$="wrapper"] br { width: 16px; height: 16px; } #adminpage table tr:hover { - background-color:#bbc7d7; +/* color: ;*/ + background-color: #bbc7d7; } #adminpage .selectall { text-align: right; } +#adminpage #users a { +/* color: #;*/ + text-decoration: underline; +} /** * Form fields @@ -2401,6 +2502,9 @@ div[id$="wrapper"] br { .dislike { background-position: -190px 0; } +.file-as { + background-position: -230px -60px; +} .like { background-position: -211px 0; } @@ -2698,6 +2802,29 @@ footer { .network-star.icon.starred { display: inline-block; } +#fileas-sidebar { + +} +.fileas-ul { + padding: 0; +} + + + +/* + * ADDONS THEMING + */ + +#sidebar-page-list { + +} +#sidebar-page-list ul { + padding: 0; + margin: 5px 0; +} +#sidebar-page-list li { + list-style: none; +} @media handheld { diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index 26e07b1f7..9db77d7f3 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -3,9 +3,10 @@ /* * Name: Dispy * Description: Dispy, Friendica theme - * Version: 0.9 + * Version: 1.0 * Author: unknown * Maintainer: Simon <http://simon.kisikew.org/> + * Screenshot: <a href="screenshot.png">Screenshot</a> */ @@ -126,3 +127,30 @@ $(document).ready(function() { </script> EOT; +function dispy_community_info() { + $a = get_app(); + + $fostitJS = "javascript: (function() { + the_url = '".$a->get_baseurl($ssl_state)."/view/theme/dispy/fpostit/fpostit.php?url=' + + encodeURIComponent(window.location.href) + '&title=' + encodeURIComponent(document.title) + '&text=' + + encodeURIComponent(''+(window.getSelection ? window.getSelection() : document.getSelection ? + document.getSelection() : document.selection.createRange().text)); + a_funct = function() { + if (!window.open(the_url, 'fpostit', 'location=yes,links=no,scrollbars=no,toolbar=no,width=600,height=300')) { + location.href = the_url; + } + if (/Firefox/.test(navigator.userAgent)) { + setTimeout(a_funct, 0) + } else { + a_funct(); + } + })();" ; + + $aside['$fostitJS'] = $fostitJS; + $url = $a->get_baseurl($ssl_state); + $aside['$url'] = $url; + + $tpl = file_get_contents(dirname(__file__).'/communityhome.tpl'); + $a->page['aside'] = replace_macros($tpl, $aside); +} + diff --git a/view/theme/dispy/wall_item.tpl b/view/theme/dispy/wall_item.tpl index c67a88635..c9ac20c89 100644 --- a/view/theme/dispy/wall_item.tpl +++ b/view/theme/dispy/wall_item.tpl @@ -4,9 +4,7 @@ <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" 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> + <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" 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> @@ -37,6 +35,11 @@ <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.filer }} + <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a> + {{ 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"></a></div> {{ endif }} diff --git a/view/theme/dispy/wallwall_item.tpl b/view/theme/dispy/wallwall_item.tpl index f251d7352..b25d13409 100644 --- a/view/theme/dispy/wallwall_item.tpl +++ b/view/theme/dispy/wallwall_item.tpl @@ -38,11 +38,14 @@ <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a> {{ if $item.vote.share }} - <a href="#" id="share-$item.id" + <a href="#" id="share-$item.id" 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.filer }} + <div class="wall-item-filer-wrapper"><a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item icon file-as" title="$item.star.filer"></a></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"></a></div> {{ endif }} |