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:
@@ -58,14 +58,53 @@ function impel_init(&$a) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if($is_menu) {
|
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 {
|
else {
|
||||||
$arr['uid'] = local_channel();
|
$arr['uid'] = local_channel();
|
||||||
|
|||||||
Reference in New Issue
Block a user