diff --git a/boot.php b/boot.php
index 94699a273..708d90901 100644
--- a/boot.php
+++ b/boot.php
@@ -2668,6 +2668,70 @@ function extract_item_authors($arr,$uid) {
return array();
}}
+if(! function_exists('item_photo_menu')){
+function item_photo_menu($item){
+ $a = get_app();
+
+ if (!isset($a->authors)){
+ $rr = q("SELECT id, network, url FROM contact WHERE uid=%d AND self!=1", intval(local_user()));
+ $authors = array();
+ foreach($rr as $r) $authors[$r['url']]= $r;
+ $a->authors = $authors;
+ }
+
+ $contact_url="";
+ $pm_url="";
+
+ $status_link="";
+ $photo_link="";
+ $profile_link = ((strlen($item['author-link'])) ? $item['author-link'] : $item['url']);
+ $redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ;
+
+
+
+ if(strlen($item['author-link'])) {
+ if(link_compare($item['author-link'],$item['url']) && ($item['network'] === 'dfrn') && (! $item['self'])) {
+ $status_link = $redirect_url."?url=status";
+ $profile_link = $redirect_url."?url=profile";
+ $photos_link = $redirect_url."?url=photos";
+ $pm_url = $a->get_baseurl() . '/message/new/' . $item['cid'] ;
+ $contact_url = $item['self']?"":$a->get_baseurl() . '/contacts/' . $item['cid'] ;
+ }
+ elseif(isset($a->authors[$item['author-link']])) {
+ $redirect_url = $a->get_baseurl() . '/redir/' . $a->authors[$item['author-link']]['id'];
+ $status_link = $redirect_url."?url=status";
+ $profile_link = $redirect_url."?url=profile";
+ $photos_link = $redirect_url."?url=photos";
+
+ if ($a->authors[$item['author-link']]['network']==='dfrn'){
+ $pm_url = $a->get_baseurl() . '/message/new/' . $a->authors[$item['author-link']]['id'];
+ }
+ $contact_url = $item['self']?"":$a->get_baseurl() . '/contacts/' . $a->authors[$item['author-link']]['id'] ;
+
+ }
+ }
+
+
+ $menu = Array(
+ t("View status") => $status_link,
+ t("View profile") => $profile_link,
+ t("View photos") => $photos_link,
+ t("Edit contact") => $contact_url,
+ t("Send PM") => $pm_url,
+ );
+
+
+ $args = array($item, &$menu);
+
+ call_hooks('item_photo_menu', $args);
+
+ $o = "";
+ foreach($menu as $k=>$v){
+ if ($v!="") $o .= "
$k\n";
+ }
+ return $o;
+}}
+
if(! function_exists('lang_selector')) {
function lang_selector() {
global $lang;
diff --git a/mod/dfrn_poll.php b/mod/dfrn_poll.php
index 4b25efe41..77beabf90 100644
--- a/mod/dfrn_poll.php
+++ b/mod/dfrn_poll.php
@@ -445,7 +445,7 @@ function dfrn_poll_content(&$a) {
'sec' => $sec
));
}
-
+
$profile = $r[0]['nickname'];
switch($destination_url) {
@@ -489,6 +489,10 @@ function dfrn_poll_content(&$a) {
dbesc($session_id)
);
}
+<<<<<<< HEAD
+=======
+
+>>>>>>> 890753e5b545ca5777c6c9084e99cacf42a3b485
goaway($dest);
}
diff --git a/mod/message.php b/mod/message.php
index 7978ecaf2..7f17a362b 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -172,7 +172,9 @@ function message_content(&$a) {
'$linkurl' => t('Please enter a link URL:')
));
- $select = contact_select('messageto','message-to-select', false, 4, true);
+ $preselect = (isset($a->argv[2])?array($a->argv[2]):false);
+
+ $select = contact_select('messageto','message-to-select', $preselect, 4, true);
$tpl = load_view_file('view/prv_message.tpl');
$o .= replace_macros($tpl,array(
'$header' => t('Send Private Message'),
diff --git a/mod/network.php b/mod/network.php
index a304c211f..42c6c0c29 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -217,6 +217,7 @@ function network_content(&$a, $update = 0) {
intval($a->pager['start']),
intval($a->pager['itemspage'])
);
+
}
else {
@@ -323,11 +324,12 @@ function network_content(&$a, $update = 0) {
$drop = replace_macros($droptpl,array('$id' => $item['id']));
$lock = '';
-
+
$o .= replace_macros($tpl,array(
'$id' => $item['item_id'],
'$linktitle' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
+ '$item_photo_menu' => item_photo_menu($item),
'$name' => $profile_name,
'$sparkle' => $sparkle,
'$lock' => $lock,
@@ -551,6 +553,7 @@ function network_content(&$a, $update = 0) {
$indent .= ' shiny';
+
// Build the HTML
$tmp_item = replace_macros($template,array(
@@ -561,6 +564,7 @@ function network_content(&$a, $update = 0) {
'$wall' => t('Wall-to-Wall'),
'$vwall' => t('via Wall-To-Wall:'),
'$profile_url' => $profile_link,
+ '$item_photo_menu' => item_photo_menu($item),
'$name' => $profile_name,
'$thumb' => $profile_avatar,
'$osparkle' => $osparkle,
@@ -604,4 +608,4 @@ function network_content(&$a, $update = 0) {
}
return $o;
-}
\ No newline at end of file
+}
diff --git a/mod/profile.php b/mod/profile.php
index 17f6a2d45..ab1e8f738 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -454,10 +454,12 @@ function profile_content(&$a, $update = 0) {
if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC','now - 12 hours')) > 0)
$indent .= ' shiny';
+
$tmp_item = replace_macros($template,array(
'$id' => $item['item_id'],
'$linktitle' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
+ '$item_photo_menu' => item_photo_menu($item),
'$name' => $profile_name,
'$thumb' => $profile_avatar,
'$sparkle' => $sparkle,
diff --git a/mod/search.php b/mod/search.php
index db7279fb5..64281dfcf 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -115,6 +115,7 @@ function search_content(&$a) {
'$id' => $item['item_id'],
'$linktitle' => t('View $name\'s profile'),
'$profile_url' => $profile_link,
+ '$item_photo_menu' => item_photo_menu($item),
'$name' => $profile_name,
'$sparkle' => $sparkle,
'$lock' => $lock,
diff --git a/view/search_item.tpl b/view/search_item.tpl
index f890bdee5..02c31fe14 100644
--- a/view/search_item.tpl
+++ b/view/search_item.tpl
@@ -1,9 +1,17 @@
-
+
+
+
diff --git a/view/theme/duepuntozero/photo-menu.jpg b/view/theme/duepuntozero/photo-menu.jpg
new file mode 100644
index 000000000..fde5eb535
Binary files /dev/null and b/view/theme/duepuntozero/photo-menu.jpg differ
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index 0d59b6590..bfa004a65 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -866,6 +866,37 @@ input#dfrn-url {
margin-bottom: 10px;
width: 100px;
}
+.wall-item-photo-menu-button {
+ display: block;
+ position: absolute;
+ background-image: url("photo-menu.jpg");
+ background-position: top left;
+ background-repeat: no-repeat;
+ margin: 0px; padding: 0px;
+ width: 16px;
+ height: 16px;
+ top: 74px; left:10px;
+ overflow: hidden;
+ text-indent: 40px;
+ display: none;
+
+}
+.wall-item-photo-menu {
+ width: auto;
+ border: 2px solid #444444;
+ background: #FFFFFF;
+ position: absolute;
+ left: 10px; top: 90px;
+ display: none;
+ z-index: 10000;
+}
+.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none }
+.wall-item-photo-menu li a { display: block; padding: 2px; }
+.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
+
+
+.comment .wall-item-photo-menu-button { top: 44px;}
+.comment .wall-item-photo-menu { top: 60px; }
.wallwall .wwto {
left: 50px;
@@ -878,6 +909,7 @@ input#dfrn-url {
width: 30px;
height: 30px;
}
+
.wallwall .wall-item-photo-end {
clear: both;
}
diff --git a/view/theme/loozah/photo-menu.jpg b/view/theme/loozah/photo-menu.jpg
new file mode 100644
index 000000000..bd39696a2
Binary files /dev/null and b/view/theme/loozah/photo-menu.jpg differ
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index 566220711..d6ddb26dd 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -959,6 +959,7 @@ input#dfrn-url {
.wall-item-content-wrapper {
margin-top: 10px;
border: 1px solid #CCC;
+ position: relative;
}
.wall-item-content-wrapper.comment {
@@ -973,6 +974,35 @@ input#dfrn-url {
width: 100px;
float: left;
}
+
+.wall-item-photo-menu-button {
+ display: block;
+ position: absolute;
+ background-image: url("photo-menu.jpg");
+ background-position: top left;
+ background-repeat: no-repeat;
+ margin: 0px; padding: 0px;
+ width: 16px;
+ height: 16px;
+ top: 74px; left:10px;
+ overflow: hidden;
+ text-indent: 40px;
+ display: none;
+}
+.wall-item-photo-menu {
+ width: auto;
+ border: 2px solid #444444;
+ background: #FFFFFF;
+ position: absolute;
+ left: 10px; top: 90px;
+ display: none;
+ z-index: 10000;
+}
+.wall-item-photo-menu ul { margin:0px; padding: 0px; list-style: none }
+.wall-item-photo-menu li a { display: block; padding: 2px; }
+.wall-item-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
+
+
.wall-item-arrowphoto-wrapper {
margin-top: 40px;
margin-right: 20px;
diff --git a/view/wall_item.tpl b/view/wall_item.tpl
index 4c2a3fbf4..893483259 100644
--- a/view/wall_item.tpl
+++ b/view/wall_item.tpl
@@ -1,9 +1,18 @@
-
+
-
+
+
+
+