diff --git a/public/main/inc/lib/link.lib.php b/public/main/inc/lib/link.lib.php index 3e89ebb68c..38bdad917d 100644 --- a/public/main/inc/lib/link.lib.php +++ b/public/main/inc/lib/link.lib.php @@ -492,13 +492,22 @@ class Link extends Model ->setTarget($values['target']) ; - if (!empty($values['category_id'])) { + $courseEntity = api_get_course_entity($course_id); + + if ($categoryId) { $repoCategory = Container::getLinkCategoryRepository(); /** @var CLinkCategory $category */ $category = $repoCategory->find($categoryId); - $link->setCategory($category); + $link + ->setCategory($category) + ->setParent($category); + } else { + $link + ->setCategory(null) + ->setParent($courseEntity); } + $repo->updateNodeForResource($link); $repo->update($link); // Update search enchine and its values table if enabled. @@ -1523,7 +1532,7 @@ Do you really want to delete this category and its links ?')."')) return false;\ $title = $linkInfo['title']; $description = $linkInfo['description']; $category = $linkInfo['category_id']; - if (0 != $linkInfo['on_homepage']) { + if (isset($linkInfo['on_homepage']) && 0 != $linkInfo['on_homepage']) { $onhomepage = 1; } $target_link = $linkInfo['target']; diff --git a/public/main/link/link.php b/public/main/link/link.php index 4f2af06539..78da491737 100644 --- a/public/main/link/link.php +++ b/public/main/link/link.php @@ -72,7 +72,7 @@ Event::event_access_tool(TOOL_LINK); /* Action Handling */ $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : null; $scope = isset($_REQUEST['scope']) ? $_REQUEST['scope'] : null; -$show = isset($_REQUEST['show']) && in_array(trim($_REQUEST['show']), ['all', 'none']) ? $_REQUEST['show'] : ''; +$show = isset($_REQUEST['show']) && in_array(trim($_REQUEST['show']), ['all', 'none']) ? $_REQUEST['show'] : 'all'; $categoryId = isset($_REQUEST['category_id']) ? (int) $_REQUEST['category_id'] : ''; $linkListUrl = api_get_self().'?'.api_get_cidreq().'&category_id='.$categoryId.'&show='.$show; $content = ''; diff --git a/src/CoreBundle/Entity/Listener/ResourceListener.php b/src/CoreBundle/Entity/Listener/ResourceListener.php index 8aa60eda76..07aee2adf2 100644 --- a/src/CoreBundle/Entity/Listener/ResourceListener.php +++ b/src/CoreBundle/Entity/Listener/ResourceListener.php @@ -248,6 +248,13 @@ class ResourceListener */ public function preUpdate(AbstractResource $resource, PreUpdateEventArgs $eventArgs): void { + $resourceNode = $resource->getResourceNode(); + $parentResourceNode = $resource->getParent()?->resourceNode; + + if ($parentResourceNode) { + $resourceNode->setParent($parentResourceNode); + } + //error_log('Resource listener preUpdate'); //$this->setLinks($resource, $eventArgs->getEntityManager()); }