fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [12237] more on menu


From: Sigurd Nes
Subject: [Fmsystem-commits] [12237] more on menu
Date: Mon, 27 Oct 2014 17:13:58 +0000

Revision: 12237
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=12237
Author:   sigurdne
Date:     2014-10-27 17:13:57 +0000 (Mon, 27 Oct 2014)
Log Message:
-----------
more on menu

Modified Paths:
--------------
    branches/dev-syncromind/phpgwapi/inc/class.menu.inc.php
    branches/dev-syncromind/phpgwapi/templates/pure/css/demo_mmenu.css
    branches/dev-syncromind/phpgwapi/templates/pure/js/mmenu.js
    branches/dev-syncromind/phpgwapi/templates/pure/navbar.inc.php

Modified: branches/dev-syncromind/phpgwapi/inc/class.menu.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/inc/class.menu.inc.php     2014-10-26 
20:36:25 UTC (rev 12236)
+++ branches/dev-syncromind/phpgwapi/inc/class.menu.inc.php     2014-10-27 
17:13:57 UTC (rev 12237)
@@ -35,7 +35,8 @@
        {
                var $public_functions = array
                (
-                       'get_local_menu_ajax' => true
+                       'get_local_menu_ajax'   => true,
+                       'update_bookmark_menu'  => true
                );
                
                /**
@@ -505,4 +506,35 @@
 
                        return $menu;
                }
+
+               public function update_bookmark_menu()
+               {
+                       $bookmark_candidate = 
phpgw::get_var('bookmark_candidate', 'string');
+                       $user_id = $GLOBALS['phpgw_info']['user']['account_id'];
+
+                       $bookmarks = phpgwapi_cache::user_get('phpgwapi', 
"bookmark_menu", $user_id);
+                       if($bookmarks && is_array($bookmarks) && 
isset($bookmarks[$bookmark_candidate]))
+                       {
+                               unset($bookmarks[$bookmark_candidate]);
+                               $status = lang('deleted');
+                       }
+                       else
+                       {
+                               if(! is_array($bookmarks))
+                               {
+                                       $bookmarks = array();
+                               }
+
+                               $bookmarks[$bookmark_candidate] = true;
+                               $status = lang('added');
+                       }
+
+                       phpgwapi_cache::user_set('phpgwapi', "bookmark_menu", 
$bookmarks, $user_id);
+
+                       return array
+                       (
+                               'status' => $status
+                       );
+               }
+
        }

Modified: branches/dev-syncromind/phpgwapi/templates/pure/css/demo_mmenu.css
===================================================================
--- branches/dev-syncromind/phpgwapi/templates/pure/css/demo_mmenu.css  
2014-10-26 20:36:25 UTC (rev 12236)
+++ branches/dev-syncromind/phpgwapi/templates/pure/css/demo_mmenu.css  
2014-10-27 17:13:57 UTC (rev 12237)
@@ -70,8 +70,7 @@
 .header a
 {
        background: center center no-repeat transparent;
-/*     background-image: url( 
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNpi/P//PwOtARMDHQBdLGFBYtMq3BiHT3DRPU4YR4NrNAmPJuHRJDyahEeT8Ii3BCDAAF0WBj5Er5idAAAAAElFTkSuQmCC
 );
-*/
+       background-image: url( 
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNpi/P//PwOtARMDHQBdLGFBYtMq3BiHT3DRPU4YR4NrNAmPJuHRJDyahEeT8Ii3BCDAAF0WBj5Er5idAAAAAElFTkSuQmCC
 );
        display: block;
        width: 40px;
        height: 40px;
@@ -89,6 +88,7 @@
 /*
        LAYOUT
 */
+
 #hamburger
 {
        display: block;
@@ -101,10 +101,10 @@
        z-index: 2;
 }
 #hamburger:before,
-#hamburger:after,
-#hamburger span
+#hamburger:after/*,
+#hamburger span*/
 {
-       background: #fff;
+       /*background: #fff;*/
        content: '';
        display: block;
        width: 30px;
@@ -120,12 +120,13 @@
 {
        bottom: 5px;
 }
+/*
 #hamburger span
 {
        top: 50%;
        margin-top: -3px;
 }
-
+*/
 @media all and (min-width: 1430px)
 {
        #hamburger {
@@ -134,6 +135,8 @@
 }
 
 /* Hamburger animation */
+/*Sigurd: Don't work in IE - even for 10 +'*/
+/*
 #hamburger:before,
 #hamburger:after,
 #hamburger span
@@ -156,12 +159,12 @@
        transform: rotate( -45deg );
        bottom: 15px;
 }
-
+*/
 /* topmenu*/
 div.username {
        /* side link container */
        position: absolute;
-       left: 0px;
+       left: 10px;
     top: 40px;
        height: 30px;
        width: 200px;

Modified: branches/dev-syncromind/phpgwapi/templates/pure/js/mmenu.js
===================================================================
--- branches/dev-syncromind/phpgwapi/templates/pure/js/mmenu.js 2014-10-26 
20:36:25 UTC (rev 12236)
+++ branches/dev-syncromind/phpgwapi/templates/pure/js/mmenu.js 2014-10-27 
17:13:57 UTC (rev 12237)
@@ -50,3 +50,20 @@
                );
 
 });    
+
+function update_bookmark_menu(bookmark_candidate){
+       var oArgs = {menuaction:'phpgwapi.menu.update_bookmark_menu', 
bookmark_candidate:bookmark_candidate};
+       var requestUrl = phpGWLink('index.php', oArgs, true);
+
+       $.ajax({
+                 type: 'POST',
+                 url: requestUrl,
+                 dataType: 'json',
+                 success: function(data) {
+                         if(data)
+                         {
+                                 alert(data.status);
+                         }
+                 }
+          });
+}

Modified: branches/dev-syncromind/phpgwapi/templates/pure/navbar.inc.php
===================================================================
--- branches/dev-syncromind/phpgwapi/templates/pure/navbar.inc.php      
2014-10-26 20:36:25 UTC (rev 12236)
+++ branches/dev-syncromind/phpgwapi/templates/pure/navbar.inc.php      
2014-10-27 17:13:57 UTC (rev 12237)
@@ -151,14 +151,17 @@
 
                if (!$nonavbar)
                {
+                       $bookmarks = phpgwapi_cache::user_get('phpgwapi', 
"bookmark_menu", $GLOBALS['phpgw_info']['user']['id']);
+//             _debug_array($bookmarks);die();
+
                        $navigation = execMethod('phpgwapi.menu.get', 
'navigation');
                        $treemenu = '';
                        foreach($navbar as $app => $app_data)
                        {
                                if(!in_array($app, array('logout', 'about', 
'preferences')))
                                {
-                                       $submenu = isset($navigation[$app]) ? 
render_submenu($app, $navigation[$app]) : '';
-                                       $treemenu .= render_item($app_data, 
"navbar::{$app}", $submenu);
+                                       $submenu = isset($navigation[$app]) ? 
render_submenu($app, $navigation[$app], $bookmarks) : '';
+                                       $treemenu .= render_item($app_data, 
"navbar::{$app}", $submenu, $bookmarks);
                                }
                        }
                        $var['treemenu'] = <<<HTML
@@ -231,7 +234,7 @@
                return isset( $navbar_state[ $id ]);
        }
 
-       function render_item($item, $id='', $children='')
+       function render_item($item, $id='', $children='', $bookmarks = array())
        {
                $current_class = '';
 
@@ -240,8 +243,23 @@
                        $current_class = 'Selected';
                }
 
-               if(preg_match("/(^{$id})/i", 
"navbar::{$GLOBALS['phpgw_info']['flags']['menu_selection']}")) // need it for 
MySQL and Oracle
+               $bookmark = '';
+               if(preg_match("/(^navbar::)/i", $id)) // bookmarks
                {
+       //              $_bookmark_candidate = $item;
+       //              $_bookmark_candidate['id'] = $id;
+       //              $_bookmark_candidate = 
json_encode($_bookmark_candidate);
+                       $_bookmark_checked = '';
+                       if(is_array($bookmarks) && isset($bookmarks[$id]))
+                       {
+                               $_bookmark_checked = "checked = 'checked'";
+                       }
+
+//                     $bookmark = "<input type='checkbox' 
name='bookmark_menu' value=''  
onchange='javascript:update_bookmark_menu(\"{$id}\");' {$_bookmark_checked}/>";
+               }
+
+               if(preg_match("/(^{$id})/i", 
"navbar::{$GLOBALS['phpgw_info']['flags']['menu_selection']}"))
+               {
 //                     $current_class = 'Selected';
                        $item['text'] = "<b>[ {$item['text']} ]</b>";
                }
@@ -263,20 +281,20 @@
 
                return <<<HTML
 $out
-                                       <a href="{$item['url']}" id="{$id}" 
{$target}>{$item['text']}</a>
+                                       {$bookmark} <a href="{$item['url']}" 
id="{$id}" {$target}>{$item['text']}</a>
 {$children}
                                </li>
 
 HTML;
        }
 
-       function render_submenu($parent, $menu)
+       function render_submenu($parent, $menu, $bookmarks = array())
        {
                $out = '';
                foreach ( $menu as $key => $item )
                {
-                       $children = isset($item['children']) ? render_submenu(  
"{$parent}::{$key}", $item['children']) : '';
-                       $out .= render_item($item, "navbar::{$parent}::{$key}", 
$children);
+                       $children = isset($item['children']) ? render_submenu(  
"{$parent}::{$key}", $item['children'], $bookmarks) : '';
+                       $out .= render_item($item, "navbar::{$parent}::{$key}", 
$children, $bookmarks);
                        //$debug .= "{$parent}::{$key}<br>";
                }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]