/** * Get setting page url by menu item * * @param MenuItem $item menu item instance * @return string|null */ public function getInstanceSettingURI(MenuItem $item) { $menuType = $this->modules->getModuleObject($item->type); return $menuType::getInstanceSettingURI($item->getKey()); }
/** * Delete menu item * * @param MenuItem $item menu item instance * @return bool */ public function deleteItem(MenuItem $item) { $key = $this->getItemCacheKey($item->getKey()); $this->cache->forget($key); return $this->repo->deleteItem($item); }
protected function registerItemImage(MenuItem $item, $name) { $columnKeyName = $name . 'Id'; if ($uploadImg = Input::file($name)) { $image = XeMedia::make(XeStorage::upload($uploadImg, 'public/menu')); XeStorage::bind($item->getKey(), $image); if ($item->{$columnKeyName} !== null) { XeStorage::unBind($item->getKey(), $item->{$name}); } $item->{$columnKeyName} = $image->getKey(); } else { $key = 'remove' . ucfirst($name); if (Input::get($key) && $item->{$columnKeyName} !== null) { XeStorage::unBind($item->getKey(), $item->{$name}); $item->{$columnKeyName} = null; } } }
/** * Delete menu item * * @param MenuItem $item menu item instance * @return bool */ public function deleteItem(MenuItem $item) { unset($this->itemBag[$item->getKey()]); return $this->repo->deleteItem($item); }