aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--boot.php13
-rw-r--r--images/remote-link.gifbin0 -> 357 bytes
-rw-r--r--include/items.php9
-rw-r--r--mod/dfrn_notify.php35
-rw-r--r--mod/display.php1
-rw-r--r--mod/follow.php42
-rw-r--r--mod/item.php18
-rw-r--r--mod/message.php43
-rw-r--r--mod/network.php1
-rw-r--r--mod/profile.php1
-rw-r--r--simplepie/simplepie.inc1
-rw-r--r--view/de/mail_received_eml.tpl48
-rw-r--r--view/de/mail_received_html_body_eml.tpl25
-rw-r--r--view/de/mail_received_text_body_eml.tpl11
-rw-r--r--view/de/wallwall_item.tpl1
-rw-r--r--view/en/mail_received_eml.tpl47
-rw-r--r--view/en/mail_received_html_body_eml.tpl25
-rw-r--r--view/en/mail_received_text_body_eml.tpl10
-rw-r--r--view/en/wallwall_item.tpl1
-rw-r--r--view/fr/mail_received_eml.tpl47
-rw-r--r--view/fr/mail_received_html_body_eml.tpl25
-rw-r--r--view/fr/mail_received_text_body_eml.tpl10
-rw-r--r--view/fr/wallwall_item.tpl1
-rw-r--r--view/it/mail_received_eml.tpl49
-rw-r--r--view/it/mail_received_html_body_eml.tpl25
-rw-r--r--view/it/mail_received_text_body_eml.tpl10
-rw-r--r--view/it/wallwall_item.tpl1
-rw-r--r--view/theme/duepuntozero/style.css7
-rw-r--r--view/theme/loozah/style.css7
-rw-r--r--view/wall_item.tpl1
30 files changed, 318 insertions, 197 deletions
diff --git a/boot.php b/boot.php
index 3dff39a33..322a4e307 100644
--- a/boot.php
+++ b/boot.php
@@ -2449,3 +2449,16 @@ function feed_salmonlinks($nick) {
return $salmon;
}}
+if(! function_exists('get_plink')) {
+function get_plink($item) {
+ $a = get_app();
+ $plink = (((x($item,'plink')) && (! $item['private'])) ? '<div class="wall-item-links-wrapper"><a href="'
+ . $item['plink'] . '" title="' . t('link to source') . '"><img src="' . $a->get_baseurl() . '/images/remote-link.gif" alt="' . t('link to source') . '" /></a></div>' : '');
+ return $plink;
+}}
+
+if(! function_exists('unamp')) {
+function unamp($s) {
+ return str_replace('&amp;', '&', $s);
+}}
+
diff --git a/images/remote-link.gif b/images/remote-link.gif
new file mode 100644
index 000000000..008397fe8
--- /dev/null
+++ b/images/remote-link.gif
Binary files differ
diff --git a/include/items.php b/include/items.php
index b5bdd7833..0951adbae 100644
--- a/include/items.php
+++ b/include/items.php
@@ -246,7 +246,7 @@ function get_atom_elements($feed,$item) {
$res['uri'] = unxmlify($item->get_id());
$res['title'] = unxmlify($item->get_title());
$res['body'] = unxmlify($item->get_content());
-
+ $res['plink'] = unxmlify($item->get_link(0));
// look for a photo. We should check media size and find the best one,
// but for now let's just find any author photo
@@ -350,7 +350,7 @@ function get_atom_elements($feed,$item) {
'[youtube]$1[/youtube]', $res['body']);
$res['body'] = oembed_html2bbcode($res['body']);
-
+
$config = HTMLPurifier_Config::createDefault();
$config->set('Cache.DefinitionImpl', null);
@@ -363,7 +363,7 @@ function get_atom_elements($feed,$item) {
$res['body'] = html2bbcode($res['body']);
}
-
+
$allow = $item->get_item_tags(NAMESPACE_DFRN,'comment-allow');
if($allow && $allow[0]['data'] == 1)
$res['last-child'] = 1;
@@ -591,6 +591,7 @@ function item_store($arr,$force_parent = false) {
$arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : '');
$arr['target-type'] = ((x($arr,'target-type')) ? notags(trim($arr['target-type'])) : '');
$arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : '');
+ $arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : '');
$arr['allow_cid'] = ((x($arr,'allow_cid')) ? trim($arr['allow_cid']) : '');
$arr['allow_gid'] = ((x($arr,'allow_gid')) ? trim($arr['allow_gid']) : '');
$arr['deny_cid'] = ((x($arr,'deny_cid')) ? trim($arr['deny_cid']) : '');
@@ -1418,7 +1419,7 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
$o .= '<updated>' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '</updated>' . "\r\n";
$o .= '<dfrn:env>' . base64url_encode($item['body'], true) . '</dfrn:env>' . "\r\n";
$o .= '<content type="' . $type . '" >' . xmlify(($type === 'html') ? bbcode($item['body']) : $item['body']) . '</content>' . "\r\n";
- $o .= '<link rel="alternate" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n";
+ $o .= '<link rel="alternate" type="text/html" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n";
if($comment)
$o .= '<dfrn:comment-allow>' . intval($item['last-child']) . '</dfrn:comment-allow>' . "\r\n";
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 5f91f1b1b..b8d86ad24 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -210,10 +210,23 @@ function dfrn_notify_post(&$a) {
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$msg['body']))));
// load the template for private message notifications
- $tpl = load_view_file('view/mail_received_eml.tpl');
+ $tpl = load_view_file('view/mail_received_html_body_eml.tpl');
+ $email_html_body_tpl = replace_macros($tpl,array(
+ '$siteName' => $a->config['sitename'], // name of this site
+ '$siteurl' => $a->get_baseurl(), // descriptive url of this site
+ '$thumb' => $importer['thumb'], // thumbnail url for sender icon
+ '$email' => $importer['email'], // email address to send to
+ '$url' => $importer['url'], // full url for the site
+ '$from' => $msg['from-name'], // name of the person sending the message
+ '$title' => stripslashes($msg['title']), // subject of the message
+ '$htmlversion' => $msg['htmlversion'], // html version of the message
+ '$mimeboundary' => $msg['mimeboundary'], // mime message divider
+ '$hostname' => $a->get_hostname() // name of this host
+ ));
- // import the data into the template
- $email_tpl = replace_macros($tpl, array(
+ // load the template for private message notifications
+ $tpl = load_view_file('view/mail_received_text_body_eml.tpl');
+ $email_text_body_tpl = replace_macros($tpl,array(
'$siteName' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $importer['thumb'], // thumbnail url for sender icon
@@ -222,11 +235,25 @@ function dfrn_notify_post(&$a) {
'$from' => $msg['from-name'], // name of the person sending the message
'$title' => stripslashes($msg['title']), // subject of the message
'$textversion' => $msg['textversion'], // text version of the message
- '$htmlversion' => $msg['htmlversion'], // html version of the message
'$mimeboundary' => $msg['mimeboundary'], // mime message divider
'$hostname' => $a->get_hostname() // name of this host
));
+ // load the template for private message notifications
+ $tpl = load_view_file('view/mail_received_eml.tpl');
+
+ // import the data into the template
+ $email_tpl = replace_macros($tpl, array(
+ '$siteurl' => $a->get_baseurl(), // descriptive url of this site
+ '$email' => $importer['email'], // email address to send to
+ '$from' => $msg['from-name'], // name of the person sending the message
+ '$title' => stripslashes($msg['title']), // subject of the message
+ '$mimeboundary' => $msg['mimeboundary'], // mime message divider
+ '$hostname' => $a->get_hostname(), // name of this host
+ '$htmlbody' => chunk_split(base64_encode($email_html_body_tpl)),
+ '$textbody' => chunk_split(base64_encode($email_text_body_tpl))
+ ));
+
logger("message headers: " . $msg['headers']);
logger("message body: " . $mail_tpl);
diff --git a/mod/display.php b/mod/display.php
index b07e1aee5..03003f3c0 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -272,6 +272,7 @@ function display_content(&$a) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,
diff --git a/mod/follow.php b/mod/follow.php
index eaee7d5ac..28441eae8 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -19,15 +19,15 @@ function follow_post(&$a) {
if(count($links)) {
foreach($links as $link) {
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
- $dfrn = $link['@attributes']['href'];
+ $dfrn = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'salmon')
- $notify = $link['@attributes']['href'];
+ $notify = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === NAMESPACE_FEED)
- $poll = $link['@attributes']['href'];
+ $poll = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
- $hcard = $link['@attributes']['href'];
+ $hcard = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = $link['@attributes']['href'];
+ $profile = unamp($link['@attributes']['href']);
}
@@ -43,10 +43,10 @@ function follow_post(&$a) {
if(strpos($link['@attributes']['href'],'@') === false) {
if(isset($profile)) {
if($link['@attributes']['href'] !== $profile)
- $alias = $link['@attributes']['href'];
+ $alias = unamp($link['@attributes']['href']);
}
else
- $profile = $link['@attributes']['href'];
+ $profile = unamp($link['@attributes']['href']);
}
}
}
@@ -103,7 +103,7 @@ function follow_post(&$a) {
$ret = scrape_feed($url);
if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) {
- $poll = ((x($ret,'feed_atom')) ? $ret['feed_atom'] : $ret['feed_rss']);
+ $poll = ((x($ret,'feed_atom')) ? unamp($ret['feed_atom']) : unamp($ret['feed_rss']));
$vcard = array();
require_once('simplepie/simplepie.inc');
$feed = new SimplePie();
@@ -116,27 +116,35 @@ function follow_post(&$a) {
$vcard['photo'] = $feed->get_image_url();
$author = $feed->get_author();
if($author) {
- $vcard['fn'] = trim($author->get_name());
- $vcard['nick'] = strtolower($vcard['fn']);
+ $vcard['fn'] = unxmlify(trim($author->get_name()));
+ if(! $vcard['fn'])
+ $vcard['fn'] = trim(unxmlify($author->get_email()));
+ if(strpos($vcard['fn'],'@') !== false)
+ $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
+ $vcard['nick'] = strtolower(notags(unxmlify($vcard['fn'])));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
- $email = $author->get_email();
+ $email = unxmlify($author->get_email());
}
else {
$item = $feed->get_item(0);
if($item) {
$author = $item->get_author();
if($author) {
- $vcard['fn'] = trim($author->get_name());
- $vcard['nick'] = strtolower($vcard['fn']);
+ $vcard['fn'] = trim(unxmlify($author->get_name()));
+ if(! $vcard['fn'])
+ $vcard['fn'] = trim(unxmlify($author->get_email()));
+ if(strpos($vcard['fn'],'@') !== false)
+ $vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
+ $vcard['nick'] = strtolower(unxmlify($vcard['fn']));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
- $email = $author->get_email();
+ $email = unxmlify($author->get_email());
}
if(! $vcard['photo']) {
$rawmedia = $item->get_item_tags('http://search.yahoo.com/mrss/','thumbnail');
if($rawmedia && $rawmedia[0]['attribs']['']['url'])
- $vcard['photo'] = $rawmedia[0]['attribs']['']['url'];
+ $vcard['photo'] = unxmlify($rawmedia[0]['attribs']['']['url']);
}
}
}
@@ -150,6 +158,9 @@ function follow_post(&$a) {
logger('follow: poll=' . $poll . ' notify=' . $notify . ' profile=' . $profile . ' vcard=' . print_r($vcard,true));
+ $vcard['fn'] = notags($vcard['fn']);
+ $vcard['nick'] = notags($vcard['nick']);
+
// do we have enough information?
if(! ((x($vcard['fn'])) && ($poll) && ($profile))) {
@@ -157,6 +168,7 @@ function follow_post(&$a) {
goaway($_SESSION['return_url']);
}
+
if(! $notify) {
notice( t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL);
}
diff --git a/mod/item.php b/mod/item.php
index 2cc2b9eb2..cbdd11eb9 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -35,7 +35,9 @@ function item_post(&$a) {
);
if(! count($r)) {
notice( t('Unable to locate original post.') . EOL);
- goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
$parent_item = $r[0];
if($parent_item['contact-id'] && $uid) {
@@ -53,7 +55,9 @@ function item_post(&$a) {
if(! can_write_wall($a,$profile_uid)) {
notice( t('Permission denied.') . EOL) ;
- return;
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
$user = null;
@@ -92,8 +96,9 @@ function item_post(&$a) {
if(! strlen($body)) {
notice( t('Empty post discarded.') . EOL );
- goaway($a->get_baseurl() . "/" . $_POST['return'] );
-
+ if(x($_POST,'return'))
+ goaway($a->get_baseurl() . "/" . $_POST['return'] );
+ killme();
}
// get contact info for poster
@@ -429,10 +434,11 @@ function item_post(&$a) {
}
}
- $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
+ $r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `plink` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
WHERE `id` = %d LIMIT 1",
intval($parent),
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
+ dbesc($a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id),
dbesc(datetime_convert()),
intval($post_id)
);
@@ -544,7 +550,7 @@ function item_content(&$a) {
// generate a resource-id and therefore aren't intimately linked to the item.
if(strlen($item['resource-id'])) {
- $q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
+ q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
dbesc($item['resource-id']),
intval($item['uid'])
);
diff --git a/mod/message.php b/mod/message.php
index 7615f22be..ef3be2c5e 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -2,11 +2,6 @@
require_once('include/acl_selectors.php');
-function message_init(&$a) {
-
-
-}
-
function message_post(&$a) {
if(! local_user()) {
@@ -69,6 +64,43 @@ function message_post(&$a) {
if(count($r))
$post_id = $r[0]['id'];
+ /**
+ *
+ * When a photo was uploaded into the message using the (profile wall) ajax
+ * uploader, The permissions are initially set to disallow anybody but the
+ * owner from seeing it. This is because the permissions may not yet have been
+ * set for the post. If it's private, the photo permissions should be set
+ * appropriately. But we didn't know the final permissions on the post until
+ * now. So now we'll look for links of uploaded messages that are in the
+ * post and set them to the same permissions as the post itself.
+ *
+ */
+
+ $match = null;
+
+ if(preg_match_all("/\[img\](.+?)\[\/img\]/",$body,$match)) {
+ $images = $match[1];
+ if(count($images)) {
+ foreach($images as $image) {
+ if(! stristr($image,$a->get_baseurl() . '/photo/'))
+ continue;
+ $image_uri = substr($image,strrpos($image,'/') + 1);
+ $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
+ $r = q("UPDATE `photo` SET `allow_cid` = '%s'
+ WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ",
+ dbesc('<' . $recipient . '>'),
+ dbesc($image_uri),
+ dbesc( t('Wall Photos')),
+ intval(local_user())
+ );
+ }
+ }
+ }
+
+
+
+
+
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
if($post_id) {
@@ -80,7 +112,6 @@ function message_post(&$a) {
notice( t('Message could not be sent.') . EOL );
}
return;
-
}
function message_content(&$a) {
diff --git a/mod/network.php b/mod/network.php
index f09b302e9..3658c601e 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -425,6 +425,7 @@ function network_content(&$a, $update = 0) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,
diff --git a/mod/profile.php b/mod/profile.php
index 57abc479d..0723d64fb 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -371,6 +371,7 @@ function profile_content(&$a, $update = 0) {
'$lock' => $lock,
'$location' => $location,
'$indent' => $indent,
+ '$plink' => get_plink($item),
'$drop' => $drop,
'$like' => $like,
'$vote' => $likebuttons,
diff --git a/simplepie/simplepie.inc b/simplepie/simplepie.inc
index 185e17bcc..c3ba02b7d 100644
--- a/simplepie/simplepie.inc
+++ b/simplepie/simplepie.inc
@@ -9226,6 +9226,7 @@ class SimplePie_Misc
function absolutize_url($relative, $base)
{
+return $relative;
$iri = SimplePie_IRI::absolutize(new SimplePie_IRI($base), $relative);
return $iri->get_iri();
}
diff --git a/view/de/mail_received_eml.tpl b/view/de/mail_received_eml.tpl
index bf9bb9ca9..6ddd586fc 100644
--- a/view/de/mail_received_eml.tpl
+++ b/view/de/mail_received_eml.tpl
@@ -1,47 +1,13 @@
--$mimeboundary
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
-Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.
-
-$title
-
-$textversion
-
-Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu
-beantworten.
-
-Viele Grüße,
-$siteName Administrator
+$textbody
--$mimeboundary
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
-<html>
-<head>
- <title>Friendika Nachricht</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-</head>
-<body>
-<table style="border:1px solid #ccc">
- <tbody>
- <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$hostname/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
-
- <tr><td style="padding-top:22px;" colspan="2">Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.</td></tr>
-
-
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
- <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
- <tr><td style="padding-right:22px;">$htmlversion</td></tr>
- <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu beantworten.</td></tr>
- <tr><td></td><td>Viele Grüße,</td></tr>
- <tr><td></td><td>$siteName Administrator</td></tr>
- </tbody>
-</table>
-</body>
-</html>
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
+$htmlbody
+
--$mimeboundary-- \ No newline at end of file
diff --git a/view/de/mail_received_html_body_eml.tpl b/view/de/mail_received_html_body_eml.tpl
new file mode 100644
index 000000000..32c5a651a
--- /dev/null
+++ b/view/de/mail_received_html_body_eml.tpl
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
+<html>
+<head>
+ <title>Friendika Nachricht</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<table style="border:1px solid #ccc">
+ <tbody>
+ <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
+
+ <tr><td style="padding-top:22px;" colspan="2">Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.</td></tr>
+
+
+ <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
+ <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
+ <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
+ <tr><td style="padding-right:22px;">$htmlversion</td></tr>
+ <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Bitte melde dich unter <a href="$siteurl"$siteurl</a> an um deine privaten Nachrichte zu lesen und zu beantworten.</td></tr>
+ <tr><td></td><td>Viele Grüße,</td></tr>
+ <tr><td></td><td>$siteName Administrator</td></tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/view/de/mail_received_text_body_eml.tpl b/view/de/mail_received_text_body_eml.tpl
new file mode 100644
index 000000000..f5c90cfed
--- /dev/null
+++ b/view/de/mail_received_text_body_eml.tpl
@@ -0,0 +1,11 @@
+Du hast eine neue private Nachricht von '$from' auf '$siteName' erhhalten.
+
+$title
+
+$textversion
+
+Bitte melde dich unter $siteurl an um deine privaten Nachrichte zu lesen und zu
+beantworten.
+
+Viele Gr٤e,
+$siteName Administrator
diff --git a/view/de/wallwall_item.tpl b/view/de/wallwall_item.tpl
index fd05a74ac..67b6006cf 100644
--- a/view/de/wallwall_item.tpl
+++ b/view/de/wallwall_item.tpl
@@ -21,6 +21,7 @@
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
+ $plink
$drop
</div>
<div class="wall-item-wrapper-end"></div>
diff --git a/view/en/mail_received_eml.tpl b/view/en/mail_received_eml.tpl
index 802280052..99eb14391 100644
--- a/view/en/mail_received_eml.tpl
+++ b/view/en/mail_received_eml.tpl
@@ -1,47 +1,14 @@
--$mimeboundary
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
-$from sent you a new private message at $siteName.
-
-$title
-
-$textversion
-
-Please login at $siteurl to read and reply to your private messages.
-
-Thank you,
-$siteName administrator
+$textbody
--$mimeboundary
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
-<html>
-<head>
- <title>Friendika Message</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-</head>
-<body>
-<table style="border:1px solid #ccc">
- <tbody>
- <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$hostname/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
-
- <tr><td style="padding-top:22px;" colspan="2">$from sent you a new private message at $siteName.</td></tr>
-
-
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
- <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
- <tr><td style="padding-right:22px;">$htmlversion</td></tr>
- <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login at $siteurl to read and reply to your private messages.</td></tr>
- <tr><td></td><td>Thank You,</td></tr>
- <tr><td></td><td>$siteName Administrator</td></tr>
- </tbody>
-</table>
-</body>
-</html>
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
+$htmlbody
+
--$mimeboundary--
diff --git a/view/en/mail_received_html_body_eml.tpl b/view/en/mail_received_html_body_eml.tpl
new file mode 100644
index 000000000..56cbf1d7c
--- /dev/null
+++ b/view/en/mail_received_html_body_eml.tpl
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
+<html>
+<head>
+ <title>Friendika Message</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<table style="border:1px solid #ccc">
+ <tbody>
+ <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
+
+ <tr><td style="padding-top:22px;" colspan="2">$from sent you a new private message at $siteName.</td></tr>
+
+
+ <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
+ <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
+ <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
+ <tr><td style="padding-right:22px;">$htmlversion</td></tr>
+ <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login at <a href="$siteurl">$siteurl</a> to read and reply to your private messages.</td></tr>
+ <tr><td></td><td>Thank You,</td></tr>
+ <tr><td></td><td>$siteName Administrator</td></tr>
+ </tbody>
+</table>
+</body>
+</html> \ No newline at end of file
diff --git a/view/en/mail_received_text_body_eml.tpl b/view/en/mail_received_text_body_eml.tpl
new file mode 100644
index 000000000..023867304
--- /dev/null
+++ b/view/en/mail_received_text_body_eml.tpl
@@ -0,0 +1,10 @@
+$from sent you a new private message at $siteName.
+
+$title
+
+$textversion
+
+Please login at $siteurl to read and reply to your private messages.
+
+Thank you,
+$siteName administrator
diff --git a/view/en/wallwall_item.tpl b/view/en/wallwall_item.tpl
index f8affd1c5..9c6ad6070 100644
--- a/view/en/wallwall_item.tpl
+++ b/view/en/wallwall_item.tpl
@@ -21,6 +21,7 @@
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
+ $plink
$drop
</div>
<div class="wall-item-wrapper-end"></div>
diff --git a/view/fr/mail_received_eml.tpl b/view/fr/mail_received_eml.tpl
index f872a6713..6ddd586fc 100644
--- a/view/fr/mail_received_eml.tpl
+++ b/view/fr/mail_received_eml.tpl
@@ -1,46 +1,13 @@
--$mimeboundary
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
-$from t'a envoyŽ un message ˆ $siteName.
-
-$title
-
-$textversion
-
-Ouvrez une session svp ˆ $siteurl pour lire et rŽpondre ˆ vos messages privŽs.
-
-Merci,
-$siteName Administrateur
+$textbody
--$mimeboundary
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
-<html>
-<head>
- <title>Friendika Message</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-</head>
-<body>
-<table style="border:1px solid #ccc">
- <tbody>
- <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$hostname/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
-
- <tr><td style="padding-top:22px;" colspan="2">$from t'a envoyŽ un message ˆ $siteName.</td></tr>
-
-
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
- <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
- <tr><td style="padding-right:22px;">$htmlversion</td></tr>
- <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Ouvrez une session svp ˆ $siteurl pour lire et rŽpondre ˆ vos messages privŽs.</td></tr>
- <tr><td></td><td>Merci,</td></tr>
- <tr><td></td><td>$siteName Administrateur</td></tr>
- </tbody>
-</table>
-</body>
-</html>
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
+$htmlbody
+
--$mimeboundary-- \ No newline at end of file
diff --git a/view/fr/mail_received_html_body_eml.tpl b/view/fr/mail_received_html_body_eml.tpl
new file mode 100644
index 000000000..d60bbe70c
--- /dev/null
+++ b/view/fr/mail_received_html_body_eml.tpl
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
+<html>
+<head>
+ <title>Friendika Message</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<table style="border:1px solid #ccc">
+ <tbody>
+ <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
+
+ <tr><td style="padding-top:22px;" colspan="2">$from t'a envoyŽ un message ˆ $siteName.</td></tr>
+
+
+ <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
+ <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
+ <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
+ <tr><td style="padding-right:22px;">$htmlversion</td></tr>
+ <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Ouvrez une session svp ˆ <a href="$siteurl">$siteurl</a> pour lire et rŽpondre ˆ vos messages privŽs.</td></tr>
+ <tr><td></td><td>Merci,</td></tr>
+ <tr><td></td><td>$siteName Administrateur</td></tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/view/fr/mail_received_text_body_eml.tpl b/view/fr/mail_received_text_body_eml.tpl
new file mode 100644
index 000000000..c877344e0
--- /dev/null
+++ b/view/fr/mail_received_text_body_eml.tpl
@@ -0,0 +1,10 @@
+$from t'a envoyŽ un message ˆ $siteName.
+
+$title
+
+$textversion
+
+Ouvrez une session svp ˆ $siteurl pour lire et rŽpondre ˆ vos messages privŽs.
+
+Merci,
+$siteName Administrateur
diff --git a/view/fr/wallwall_item.tpl b/view/fr/wallwall_item.tpl
index f8affd1c5..9c6ad6070 100644
--- a/view/fr/wallwall_item.tpl
+++ b/view/fr/wallwall_item.tpl
@@ -21,6 +21,7 @@
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
+ $plink
$drop
</div>
<div class="wall-item-wrapper-end"></div>
diff --git a/view/it/mail_received_eml.tpl b/view/it/mail_received_eml.tpl
index 829c0fee5..538d28e1e 100644
--- a/view/it/mail_received_eml.tpl
+++ b/view/it/mail_received_eml.tpl
@@ -1,46 +1,13 @@
--$mimeboundary
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
-Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.
-
-$title
-
-$textversion
-
-Accedi a $siteurl per leggere e rispondere ai tuoi messaggi privati.
-
-Grazie,
-L'amministratore di $siteName
+$textbody
--$mimeboundary
-Content-Type: text/html; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
-<html>
-<head>
- <title>Friendika Messsaggio</title>
- <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-</head>
-<body>
-<table style="border:1px solid #ccc">
- <tbody>
- <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$hostname/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
- <tr><td style="padding-top:22px;" colspan="2">Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.</td></tr>
-
-
- <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
- <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
- <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
- <tr><td style="padding-right:22px;">$htmlversion</td></tr>
- <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Accedi a $siteurl per leggere e rispondere ai tuoi messaggi privati.</td></tr>
- <tr><td></td><td>Grazie,</td></tr>
- <tr><td></td><td>L'amministratore di $siteName</td></tr>
- </tbody>
-</table>
-</body>
-</html>
-
---$mimeboundary-- \ No newline at end of file
+$htmlbody
+
+--$mimeboundary--
diff --git a/view/it/mail_received_html_body_eml.tpl b/view/it/mail_received_html_body_eml.tpl
new file mode 100644
index 000000000..7510f2b30
--- /dev/null
+++ b/view/it/mail_received_html_body_eml.tpl
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN">
+<html>
+<head>
+ <title>Friendika Messsaggio</title>
+ <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+</head>
+<body>
+<table style="border:1px solid #ccc">
+ <tbody>
+ <tr><td colspan="2" style="background:#3b5998; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px;" src='$siteurl/images/ff-32.jpg'><span style="padding:7px;">Friendika</span></td></tr>
+
+ <tr><td style="padding-top:22px;" colspan="2">Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.</td></tr>
+
+
+ <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="$url"><img style="border:0px;width:48px;height:48px;" src="$thumb"></a></td>
+ <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
+ <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
+ <tr><td style="padding-right:22px;">$htmlversion</td></tr>
+ <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Accedi a <a href="$siteurl">$siteurl</a> per leggere e rispondere ai tuoi messaggi privati.</td></tr>
+ <tr><td></td><td>Grazie,</td></tr>
+ <tr><td></td><td>L'amministratore di $siteName</td></tr>
+ </tbody>
+</table>
+</body>
+</html>
diff --git a/view/it/mail_received_text_body_eml.tpl b/view/it/mail_received_text_body_eml.tpl
new file mode 100644
index 000000000..c7da9533f
--- /dev/null
+++ b/view/it/mail_received_text_body_eml.tpl
@@ -0,0 +1,10 @@
+Hai ricevuto un nuovo messsaggio privato su $siteName da '$from'.
+
+$title
+
+$textversion
+
+Accedi a $siteurl per leggere e rispondere ai tuoi messaggi privati.
+
+Grazie,
+L'amministratore di $siteName
diff --git a/view/it/wallwall_item.tpl b/view/it/wallwall_item.tpl
index bc2d3f2ec..3c7883fc8 100644
--- a/view/it/wallwall_item.tpl
+++ b/view/it/wallwall_item.tpl
@@ -21,6 +21,7 @@
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
+ $plink
$drop
</div>
<div class="wall-item-wrapper-end"></div>
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index ac3562d1c..e3a5fd3e7 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -833,6 +833,13 @@ input#dfrn-url {
.wall-item-like-buttons img {
cursor: pointer;
}
+
+.wall-item-links-wrapper {
+ float: left;
+ margin-bottom: 5px;
+ margin-left: 5px;
+}
+
.wall-item-delete-wrapper {
float: right;
margin-top: 5px;
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index a87252016..d34c81a45 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -962,6 +962,13 @@ input#dfrn-url {
.wall-item-like-buttons img {
cursor: pointer;
}
+
+.wall-item-links-wrapper {
+ float: left;
+ margin-top: 100px;
+ margin-left: 10px;
+}
+
.wall-item-delete-wrapper {
float: right;
margin-top: 20px;
diff --git a/view/wall_item.tpl b/view/wall_item.tpl
index 67fce4152..b9f27ed4a 100644
--- a/view/wall_item.tpl
+++ b/view/wall_item.tpl
@@ -16,6 +16,7 @@
<div class="wall-item-title" id="wall-item-title-$id">$title</div>
<div class="wall-item-body" id="wall-item-body-$id" >$body</div>
</div>
+ $plink
$drop
</div>
<div class="wall-item-wrapper-end"></div>