From e1fa73eaf4e78211ba4acd30fbc8f7e06e017170 Mon Sep 17 00:00:00 2001 From: catch Date: Mon, 4 Mar 2013 15:28:39 +0000 Subject: [PATCH] Issue #1903750 by benjy: Convert menu_link() hooks to use Type-Hinting. --- core/modules/menu_link/menu_link.api.php | 8 ++++---- .../system/tests/modules/menu_test/menu_test.module | 8 +++++--- core/modules/user/user.module | 11 ++++++----- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/modules/menu_link/menu_link.api.php b/core/modules/menu_link/menu_link.api.php index 0899cbf6ebf..415b6035a06 100644 --- a/core/modules/menu_link/menu_link.api.php +++ b/core/modules/menu_link/menu_link.api.php @@ -47,7 +47,7 @@ function hook_menu_link_load($menu_links) { * * @see hook_menu_link_load() */ -function hook_menu_link_presave($menu_link) { +function hook_menu_link_presave(\Drupal\menu_link\Plugin\Core\Entity\MenuLink $menu_link) { // Make all new admin links hidden (a.k.a disabled). if (strpos($menu_link->link_path, 'admin') === 0 && $menu_link->isNew()) { $menu_link->hidden = 1; @@ -78,7 +78,7 @@ function hook_menu_link_presave($menu_link) { * @see hook_menu_link_update() * @see hook_menu_link_delete() */ -function hook_menu_link_insert($menu_link) { +function hook_menu_link_insert(\Drupal\menu_link\Plugin\Core\Entity\MenuLink $menu_link) { // In our sample case, we track menu items as editing sections // of the site. These are stored in our table as 'disabled' items. $record['mlid'] = $menu_link->id(); @@ -101,7 +101,7 @@ function hook_menu_link_insert($menu_link) { * @see hook_menu_link_insert() * @see hook_menu_link_delete() */ -function hook_menu_link_update($menu_link) { +function hook_menu_link_update(\Drupal\menu_link\Plugin\Core\Entity\MenuLink $menu_link) { // If the parent menu has changed, update our record. $menu_name = db_query("SELECT menu_name FROM {menu_example} WHERE mlid = :mlid", array(':mlid' => $menu_link->id()))->fetchField(); if ($menu_name != $menu_link->menu_name) { @@ -126,7 +126,7 @@ function hook_menu_link_update($menu_link) { * @see hook_menu_link_insert() * @see hook_menu_link_update() */ -function hook_menu_link_delete($menu_link) { +function hook_menu_link_delete(\Drupal\menu_link\Plugin\Core\Entity\MenuLink $menu_link) { // Delete the record from our table. db_delete('menu_example') ->condition('mlid', $menu_link->id()) diff --git a/core/modules/system/tests/modules/menu_test/menu_test.module b/core/modules/system/tests/modules/menu_test/menu_test.module index 1b0ada59d4e..dee9dc6ed32 100644 --- a/core/modules/system/tests/modules/menu_test/menu_test.module +++ b/core/modules/system/tests/modules/menu_test/menu_test.module @@ -5,6 +5,8 @@ * Dummy module implementing hook menu. */ +use Drupal\menu_link\Plugin\Core\Entity\MenuLink; + /** * Implements hook_menu(). */ @@ -594,7 +596,7 @@ function menu_test_menu_name($new_name = '') { * @return * A random string. */ -function menu_test_menu_link_insert($item) { +function menu_test_menu_link_insert(MenuLink $item) { menu_test_static_variable('insert'); } @@ -604,7 +606,7 @@ function menu_test_menu_link_insert($item) { * @return * A random string. */ -function menu_test_menu_link_update($item) { +function menu_test_menu_link_update(MenuLink $item) { menu_test_static_variable('update'); } @@ -614,7 +616,7 @@ function menu_test_menu_link_update($item) { * @return * A random string. */ -function menu_test_menu_link_delete($item) { +function menu_test_menu_link_delete(MenuLink $item) { menu_test_static_variable('delete'); } diff --git a/core/modules/user/user.module b/core/modules/user/user.module index 12504233f8d..fa6a291714b 100644 --- a/core/modules/user/user.module +++ b/core/modules/user/user.module @@ -9,6 +9,7 @@ use Drupal\user\Plugin\Core\Entity\User; use Drupal\user\UserRole; use Drupal\Core\Template\Attribute; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; +use Drupal\menu_link\Plugin\Core\Entity\MenuLink; /** * @file @@ -1127,19 +1128,19 @@ function user_menu_site_status_alter(&$menu_site_status, $path) { /** * Implements hook_menu_link_presave(). */ -function user_menu_link_presave($link) { +function user_menu_link_presave(MenuLink $menu_link) { // The path 'user' must be accessible for anonymous users, but only visible // for authenticated users. Authenticated users should see "My account", but // anonymous users should not see it at all. Therefore, invoke // user_menu_link_load() to conditionally hide the link. - if ($link->link_path == 'user' && $link->module == 'system') { - $link->options['alter'] = TRUE; + if ($menu_link->link_path == 'user' && $menu_link->module == 'system') { + $menu_link->options['alter'] = TRUE; } // Force the Logout link to appear on the top-level of 'account' menu by // default (i.e., unless it has been customized). - if ($link->link_path == 'user/logout' && $link->module == 'system' && empty($link->customized)) { - $link->plid = 0; + if ($menu_link->link_path == 'user/logout' && $menu_link->module == 'system' && empty($menu_link->customized)) { + $menu_link->plid = 0; } }