From ef450b09e5a01665531736ffcda760fbba54f278 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 24 Aug 2011 08:39:52 +0000 Subject: [PATCH] issue 70 admin menu move developement git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8864 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/tpl/js/menu_setup.js | 2 +- modules/admin/tpl/menu_setup.html | 19 +++++-------- modules/menu/conf/module.xml | 1 + modules/menu/menu.admin.controller.php | 37 ++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/modules/admin/tpl/js/menu_setup.js b/modules/admin/tpl/js/menu_setup.js index b29c97e33..26fef91e6 100644 --- a/modules/admin/tpl/js/menu_setup.js +++ b/modules/admin/tpl/js/menu_setup.js @@ -40,7 +40,7 @@ jQuery(function($){ }); $('a._child_delete').click(function() { - var menu_item_srl = $(this).parents('li').prevAll('._child_key').val(); + var menu_item_srl = $(this).parents('li').find('._child_key').val(); listForm.find('input[name=menu_item_srl]').val(menu_item_srl); listForm.submit(); }); diff --git a/modules/admin/tpl/menu_setup.html b/modules/admin/tpl/menu_setup.html index 69daced0a..f73c9339c 100644 --- a/modules/admin/tpl/menu_setup.html +++ b/modules/admin/tpl/menu_setup.html @@ -4,7 +4,7 @@

{$XE_VALIDATOR_MESSAGE}

-
+ @@ -13,21 +13,16 @@

    - -
  • - +
  • + + {$value['text']} Add - -
      - - -
    • {$value2['text']}Delete
    • - + - -
    +

diff --git a/modules/menu/conf/module.xml b/modules/menu/conf/module.xml index 5b89b8f74..a52b596e6 100644 --- a/modules/menu/conf/module.xml +++ b/modules/menu/conf/module.xml @@ -18,6 +18,7 @@ + diff --git a/modules/menu/menu.admin.controller.php b/modules/menu/menu.admin.controller.php index 2c7aeb49f..f98e4965a 100644 --- a/modules/menu/menu.admin.controller.php +++ b/modules/menu/menu.admin.controller.php @@ -224,6 +224,43 @@ $this->moveMenuItem($menu_srl,$parent_srl,$source_srl,$target_srl,$mode); } + /** + * @brief Arrange menu items + **/ + function procMenuAdminArrangeItem() + { + $menuSrl = Context::get('menu_srl'); + $childKeyList = Context::get('child_key'); + + if(is_array($childKeyList)) + { + $menuList = array(); + foreach($childKeyList AS $key=>$value) + { + preg_match('/BEGIN_([0-9]*.)/is', $value, $m); + if($m) + { + $menuList[$m[1]] = array(); + $parentSrl = $m[1]; + } + else $menuList[$parentSrl][$value] = true; + } + + foreach($menuList AS $key=>$value) + { + if(count($value) > 0) + { + $sourceSrl = 0; + foreach($value AS $key2=>$value2) + { + $this->moveMenuItem($menuSrl, $key, $sourceSrl, $key2, 'move'); + $sourceSrl = $key2; + } + } + } + } + } + function moveMenuItem($menu_srl,$parent_srl,$source_srl,$target_srl,$mode){ // Get the original menus $oMenuAdminModel = &getAdminModel('menu');