$resp['obj']['type'] = $type; // write new object to file $pages[$path]['objects'][$objectId] = $resp['obj']; \Meta\Builder::write('pages', $pages); } echo json_encode($resp); }); route_add('builder/object-clone/*/*', function ($page_name, $object_id) { $resp = array(); $resp['errors'] = array(); if (is_demo()) { $resp['errors'][] = \Meta\Builder::demoMsg(); } if (!$resp['errors']) { $pages = \Meta\Builder::read('pages'); $new_id = \Meta\Builder::generateObjectId($pages[$page_name]); $resp['new_obj'] = $pages[$page_name]['objects'][$object_id]; $resp['new_obj']['id'] = $new_id; $resp['new_obj']['label'] .= ' (new)'; // rewrite new duplicated object, changing the id $pages[$page_name]['objects'][$new_id] = $resp['new_obj']; \Meta\Builder::write('pages', $pages); } echo json_encode($resp); }); route_add('builder/page/object-delete/*/*', function ($page_name, $id = null) { $resp = array(); $resp['errors'] = array(); if (is_demo()) { $resp['errors'][] = \Meta\Builder::demoMsg(); }