Networking\InitCmsBundle\Controller\MenuItemAdminController::updateNodes PHP Method

updateNodes() public method

public updateNodes ( ) : array
return array
    public function updateNodes()
    {
        /** @var Request $request */
        $request = $this->container->get('request_stack')->getCurrentRequest();
        $nodes = $request->get('nodes') ? $request->get('nodes') : array();
        try {
            foreach ($nodes as $node) {
                /** @var $menuItem MenuItem */
                $menuItem = $this->admin->getObject($node['item_id']);
                if ($node['parent_id']) {
                    $parent = $this->admin->getObject($node['parent_id']);
                    $menuItem->setParent($parent);
                } else {
                    $menuItem->setParent($menuItem->getParentByLevel(0));
                }
                $menuItem->setLft($node['left']);
                $menuItem->setRgt($node['right']);
                $menuItem->setLvl($node['depth']);
                $this->admin->update($menuItem);
            }
            $response = array('status' => 'ok', 'message' => $this->admin->trans('info.menu_sorted'));
        } catch (\Exception $e) {
            $response = array('status' => 'error', 'message' => $this->admin->trans('info.menu_sorted_error'));
        }
        return $response;
    }