App\Http\Controllers\MenuController::moveItem PHP Méthode

moveItem() public méthode

moveItem
public moveItem ( MenuHandler $handler ) : Xpressengine\Presenter\RendererInterface
$handler Xpressengine\Menu\MenuHandler menu handler
Résultat Xpressengine\Presenter\RendererInterface
    public function moveItem(MenuHandler $handler)
    {
        $ordering = Input::get('ordering');
        $itemId = Input::get('itemId');
        $parentId = Input::get('parent');
        XeDB::beginTransaction();
        try {
            $item = $handler->getItem($itemId);
            /** @var Menu $menu */
            if (!($parent = $handler->getItem($parentId))) {
                $menu = $handler->get($parentId);
            } else {
                $menu = $parent->menu;
            }
            $old = clone $item;
            // 이동되기 전 상태의 객체를 구성하기 위해 relation 을 사전에 load
            $old->ancestors;
            $item = $handler->moveItem($menu, $item, $parent);
            $handler->setOrder($item, $ordering);
            $handler->moveItemConfig($old, $item);
            $toKey = $handler->permKeyString($item);
            $toKey = substr($toKey, 0, strrpos($toKey, '.'));
            $this->permissionMove($handler->permKeyString($old), $toKey);
        } catch (\Exception $e) {
            XeDB::rollback();
            throw $e;
        }
        XeDB::commit();
        return XePresenter::makeApi(Input::all());
    }