]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'friendika-master/master' into iconpopup
authorFabio Comuni <fabrix.xm@gmail.com>
Mon, 4 Apr 2011 07:31:12 +0000 (09:31 +0200)
committerFabio Comuni <fabrix.xm@gmail.com>
Mon, 4 Apr 2011 07:31:12 +0000 (09:31 +0200)
boot.php
mod/message.php
mod/network.php
mod/profile.php
mod/search.php
view/search_item.tpl
view/theme/duepuntozero/photo-menu.jpg [new file with mode: 0644]
view/theme/duepuntozero/style.css
view/theme/loozah/photo-menu.jpg [new file with mode: 0644]
view/theme/loozah/style.css
view/wall_item.tpl

index 94699a2730a7d9699c28c80fa84f70e4f5df0ed4..334f0a742feb5a525254a5bc4eecad5554401a9e 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -2668,6 +2668,57 @@ 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="";
+
+       $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'])) {
+                       $profile_link = $redirect_url;
+                       $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']])) {
+                       $profile_link = $a->get_baseurl() . '/redir/' . $a->authors[$item['author-link']]['id'];
+                       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 profile") => $profile_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 .= "<li><a href='$v'>$k</a></li>\n";
+       }
+       return $o;
+}}
+
 if(! function_exists('lang_selector')) {
 function lang_selector() {
        global $lang;
index 7978ecaf2bc6864df50a91050bebc8bba7fd9ecd..7f17a362b3cb518770fd5a2ac3994bc11d8825a0 100644 (file)
@@ -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'),
index a304c211fe91eb47528c1e23b321066b4e85d636..42c6c0c29e56e4ef971e8d5839c093d236a862ef 100644 (file)
@@ -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 = '<div class="wall-item-lock"></div>';
-
+                               
                                $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
+}
index 17f6a2d4515b72f822b6a4d4db6f7bf8c7c01dfc..ab1e8f738455653e3ef8308095fcb28b3b91caa9 100644 (file)
@@ -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,
index db7279fb5609987846fdf34656cf8328deeb15cf..64281dfcfb371e448eac7abefb00c0669526ee17 100644 (file)
@@ -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,
index f890bdee5eaab5f8ad6cc49ff9220c2983f6ff71..02c31fe14163789093caaf7d946d24276cbaadfb 100644 (file)
@@ -1,9 +1,17 @@
 <div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
        <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" >
                <span class="wall-item-info" id="wall-item-info-$id">
-                       <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
+                       <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" 
+                                onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" 
+                                onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)">
                                <a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id">
                                <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
+                               <span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span>
+                               <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id">
+                                       <ul>
+                                               $item_photo_menu
+                                       </ul>
+                               </div>
                        </div>
                        <div class="wall-item-photo-end"></div> 
                        <div class="wall-item-wrapper" id="wall-item-wrapper-$id" >
diff --git a/view/theme/duepuntozero/photo-menu.jpg b/view/theme/duepuntozero/photo-menu.jpg
new file mode 100644 (file)
index 0000000..fde5eb5
Binary files /dev/null and b/view/theme/duepuntozero/photo-menu.jpg differ
index 0d59b65900745e51ffa0a5bd5281cdaf024c7c0f..bfa004a6599f965643656471cc3492a518bfa618 100644 (file)
@@ -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 (file)
index 0000000..bd39696
Binary files /dev/null and b/view/theme/loozah/photo-menu.jpg differ
index 5662207115f24bab93953e9bb1e29049e153515c..d6ddb26dd0fe4fffc01f29a1ea5299a647c91b9e 100644 (file)
@@ -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;
index 4c2a3fbf42b39d1204cb9c60c8b259297303e988..8934832590f38e434bfba6aab67bb43f0f0c1aed 100644 (file)
@@ -1,9 +1,18 @@
 <div class="wall-item-outside-wrapper$indent" id="wall-item-outside-wrapper-$id" >
        <div class="wall-item-content-wrapper$indent" id="wall-item-content-wrapper-$id" >
                <span class="wall-item-info" id="wall-item-info-$id">
-                       <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" >
+                       <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$id" 
+                                onmouseover="if (typeof t$id != 'undefined') clearTimeout(t$id); openMenu('wall-item-photo-menu-button-$id')" 
+                                onmouseout="t$id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$id\'); closeMenu(\'wall-item-photo-menu-$id\');',200)">
                                <a href="$profile_url" title="$linktitle" class="wall-item-photo-link" id="wall-item-photo-link-$id">
-                               <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" height="80" width="80" alt="$name" /></a>
+                                       <img src="$thumb" class="wall-item-photo$sparkle" id="wall-item-photo-$id" height="80" width="80" alt="$name" />
+                               </a>
+                               <span onclick="openClose('wall-item-photo-menu-$id');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-$id">menu</span>
+                               <div class="wall-item-photo-menu" id="wall-item-photo-menu-$id">
+                                       <ul>
+                                               $item_photo_menu
+                                       </ul>
+                               </div>
                        </div>
                        <div class="wall-item-photo-end"></div>
                        <div class="wall-item-wrapper" id="wall-item-wrapper-$id" >