$menuBuilder->buildTree(); } break; case 'OnDocFormSave': // menubuilder.fireOnDocFormSave System Setting: if ($modx->getOption('menubuilder.rebuildOnDocFormSave', null, true)) { $new_parent = $resource->get('parent'); $new_menuindex = $resource->get('menuindex'); $sequence = $modx->getObject('MbSequence', array('resource_id' => $resource->get('id'))); if (!is_object($sequence)) { //$menuBuilder->setDebug(); $menuBuilder->buildTree(); } else { $org_parent = $org_menuindex = null; if (is_object($sequence)) { $org_parent = $sequence->get('org_parent'); $org_menuindex = $sequence->get('org_menuindex'); } if ($new_parent != $org_parent) { // rebuild all @TODO context_key only $menuBuilder->buildTree(); } else { if ($new_menuindex != $org_menuindex) { // just rebuild the branch with the change: $menuBuilder->buildBranch($new_parent, array('context_key' => $sequence->get('context_key'))); } } } } break; }