untested menu element import, be aware that the menu api does not over-write on duplicate name - it just fails. We'll need to sort this out eventually. Also it was planned to offer a choice of whether to preserve links from the source site or change the baseurl to the local one. Currently we convert them all to local links.
This commit is contained in:
parent
df5223fe98
commit
3c82156d63
@ -58,14 +58,53 @@ function impel_init(&$a) {
|
||||
break;
|
||||
}
|
||||
if($is_menu) {
|
||||
$m = array();
|
||||
$m['menu_channel_id'] = local_channel();
|
||||
$m['menu_name'] = $j['name'];
|
||||
$m['menu_desc'] = $j['desc'];
|
||||
if($j['created'])
|
||||
$m['menu_created'] = datetime_convert($j['created']);
|
||||
if($j['edited'])
|
||||
$m['menu_edited'] = datetime_convert($j['edited']);
|
||||
|
||||
$m['menu_flags'] = 0;
|
||||
if($j['flags']) {
|
||||
if(in_array('bookmark',$j['flags']))
|
||||
$m['menu_flags'] |= MENU_BOOKMARK;
|
||||
if(in_array('system',$j['flags']))
|
||||
$m['menu_flags'] |= MENU_SYSTEM;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
$menu_id = $menu_create($m);
|
||||
if($menu_id) {
|
||||
if(is_array($j['items'])) {
|
||||
foreach($j['items'] as $it) {
|
||||
$mitem = array();
|
||||
$mitem['mitem_link'] = str_replace('[baseurl]',z_root(),$it['link']);
|
||||
$mitem['mitem_desc'] = escapetags($it['link']);
|
||||
$mitem['mitem_order'] = intval($it['order']);
|
||||
if(is_array($it['flags'])) {
|
||||
$mitem['mitem_flags'] = 0;
|
||||
if(in_array('zid',$it['flags']))
|
||||
$mitem['mitem_flags'] |= MENU_ITEM_ZID;
|
||||
if(in_array('new-window',$it['flags']))
|
||||
$mitem['mitem_flags'] |= MENU_ITEM_NEWWIN;
|
||||
if(in_array('chatroom',$it['flags']))
|
||||
$mitem['mitem_flags'] |= MENU_ITEM_CHATROOM;
|
||||
}
|
||||
menu_add_item($menu_id,local_channel(),$mitem);
|
||||
}
|
||||
if($j['edited']) {
|
||||
$x = q("update menu set menu_edited = '%s' where menu_id = %d and menu_channel_id = %d",
|
||||
dbesc(datetime_convert('UTC','UTC',$j['edited'])),
|
||||
intval($menu_id),
|
||||
intval(channel_id())
|
||||
);
|
||||
}
|
||||
}
|
||||
$ret['success'] = true;
|
||||
}
|
||||
$x = $ret;
|
||||
}
|
||||
else {
|
||||
$arr['uid'] = local_channel();
|
||||
|
Reference in New Issue
Block a user