add sync packets for menus

This commit is contained in:
redmatrix 2015-09-08 18:40:19 -07:00
parent 1ebaacfd5e
commit 50d7554ccd
3 changed files with 19 additions and 1 deletions

View File

@ -388,3 +388,14 @@ function menu_del_item($menu_id,$uid,$item_id) {
return $r; return $r;
} }
function menu_sync_packet($uid,$observer_hash,$menu_id,$delete = false) {
$r = menu_fetch_id($menu_id,$uid);
if($r) {
$m = menu_fetch($r['menu_name'],$uid,$observer_hash);
if($m) {
if($delete)
$m['menu_delete'] = 1;
build_sync_packet($uid,array('menu' => array(menu_element($m))));
}
}
}

View File

@ -37,6 +37,7 @@ function menu_post(&$a) {
$_REQUEST['menu_id'] = intval(argv(1)); $_REQUEST['menu_id'] = intval(argv(1));
$r = menu_edit($_REQUEST); $r = menu_edit($_REQUEST);
if($r) { if($r) {
menu_sync_packet($uid,get_observer_hash(),$menu_id);
//info( t('Menu updated.') . EOL); //info( t('Menu updated.') . EOL);
goaway(z_root() . '/mitem/' . $menu_id . (($a->is_sys) ? '?f=&sys=1' : '')); goaway(z_root() . '/mitem/' . $menu_id . (($a->is_sys) ? '?f=&sys=1' : ''));
} }
@ -45,7 +46,9 @@ function menu_post(&$a) {
} }
else { else {
$r = menu_create($_REQUEST); $r = menu_create($_REQUEST);
if($r) { if($r) {
menu_sync_packet($uid,get_observer_hash(),$menu_id);
//info( t('Menu created.') . EOL); //info( t('Menu created.') . EOL);
goaway(z_root() . '/mitem/' . $r . (($a->is_sys) ? '?f=&sys=1' : '')); goaway(z_root() . '/mitem/' . $r . (($a->is_sys) ? '?f=&sys=1' : ''));
} }
@ -121,6 +124,7 @@ function menu_content(&$a) {
if(intval(argv(1))) { if(intval(argv(1))) {
if(argc() == 3 && argv(2) == 'drop') { if(argc() == 3 && argv(2) == 'drop') {
menu_sync_packet($uid,get_observer_hash(),intval(argv(1)),true);
$r = menu_delete_id(intval(argv(1)),$uid); $r = menu_delete_id(intval(argv(1)),$uid);
if(!$r) if(!$r)
notice( t('Menu could not be deleted.'). EOL); notice( t('Menu could not be deleted.'). EOL);

View File

@ -64,6 +64,7 @@ function mitem_post(&$a) {
$_REQUEST['mitem_id'] = $mitem_id; $_REQUEST['mitem_id'] = $mitem_id;
$r = menu_edit_item($_REQUEST['menu_id'],$uid,$_REQUEST); $r = menu_edit_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) { if($r) {
menu_sync_packet($uid,get_observer_hash(),$_REQUEST['menu_id']);
//info( t('Menu element updated.') . EOL); //info( t('Menu element updated.') . EOL);
goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : '')); goaway(z_root() . '/mitem/' . $_REQUEST['menu_id'] . (($a->is_sys) ? '?f=&sys=1' : ''));
} }
@ -74,6 +75,7 @@ function mitem_post(&$a) {
else { else {
$r = menu_add_item($_REQUEST['menu_id'],$uid,$_REQUEST); $r = menu_add_item($_REQUEST['menu_id'],$uid,$_REQUEST);
if($r) { if($r) {
menu_sync_packet($uid,get_observer_hash(),$menu_id);
//info( t('Menu element added.') . EOL); //info( t('Menu element added.') . EOL);
if($_REQUEST['submit']) { if($_REQUEST['submit']) {
goaway(z_root() . '/menu' . (($a->is_sys) ? '?f=&sys=1' : '')); goaway(z_root() . '/menu' . (($a->is_sys) ? '?f=&sys=1' : ''));
@ -207,6 +209,7 @@ function mitem_content(&$a) {
$lockstate = (($mitem['allow_cid'] || $mitem['allow_gid'] || $mitem['deny_cid'] || $mitem['deny_gid']) ? 'lock' : 'unlock'); $lockstate = (($mitem['allow_cid'] || $mitem['allow_gid'] || $mitem['deny_cid'] || $mitem['deny_gid']) ? 'lock' : 'unlock');
if(argc() == 4 && argv(3) == 'drop') { if(argc() == 4 && argv(3) == 'drop') {
menu_sync_packet($uid,get_observer_hash(),$mitem['mitem_menu_id']);
$r = menu_del_item($mitem['mitem_menu_id'], $uid, intval(argv(2))); $r = menu_del_item($mitem['mitem_menu_id'], $uid, intval(argv(2)));
if($r) if($r)
info( t('Menu item deleted.') . EOL); info( t('Menu item deleted.') . EOL);