Skip to content

Instantly share code, notes, and snippets.

View imcbride's full-sized avatar

Ian McBride imcbride

View GitHub Profile
@imcbride
imcbride / drupal-admin-permissions.patch
Last active March 1, 2024 17:34
Static copy of working admin-permissions patch
diff --git a/core/modules/system/src/Access/SystemAdminMenuBlockAccessCheck.php b/core/modules/system/src/Access/SystemAdminMenuBlockAccessCheck.php
index a527605ea7..ebc880bd2d 100644
--- a/core/modules/system/src/Access/SystemAdminMenuBlockAccessCheck.php
+++ b/core/modules/system/src/Access/SystemAdminMenuBlockAccessCheck.php
@@ -84,12 +84,9 @@ protected function hasAccessToChildMenuItems(MenuLinkInterface $link, AccountInt
$tree = $this->menuLinkTree->load(NULL, $parameters);
- if (empty($tree)) {
- $route = $this->router->getRouteCollection()->get($link->getRouteName());
@imcbride
imcbride / media_entity_file_redirect.patch
Last active November 1, 2023 19:08
media_entity_file_redirect.patch
diff --git a/src/Controller/MediaEntityFileRedirectController.php b/src/Controller/MediaEntityFileRedirectController.php
index 9e9c31d..b112b8f 100644
--- a/src/Controller/MediaEntityFileRedirectController.php
+++ b/src/Controller/MediaEntityFileRedirectController.php
@@ -55,6 +55,12 @@ class MediaEntityFileRedirectController implements ContainerInjectionInterface {
if ($mediaType && $mediaType->getSource() instanceof File && $mediaType->getThirdPartySetting('media_entity_file_redirect', 'enabled', FALSE)) {
// Now load the file and return a redirect response to the file URL.
$fid = $media->getSource()->getSourceFieldValue($media);
+ if (empty($fid) && !is_null($media->field_document)) {
+ $fid = $media->field_document->target_id;
diff --git a/config/schema/jsonapi_reference.schema.yml b/config/schema/jsonapi_reference.schema.yml
index 98a8eca..5a18a2c 100644
--- a/config/schema/jsonapi_reference.schema.yml
+++ b/config/schema/jsonapi_reference.schema.yml
@@ -2,13 +2,19 @@ field.storage_settings.typed_resource_object:
type: mapping
label: 'Typed resource object storage settings'
mapping:
+ jsonapi_reference_entity:
+ type: string
diff --git a/src/Element/LayoutBuilderUX.php b/src/Element/LayoutBuilderUX.php
index 19ad7dd..664a6ef 100644
--- a/src/Element/LayoutBuilderUX.php
+++ b/src/Element/LayoutBuilderUX.php
@@ -27,7 +27,7 @@ class LayoutBuilderUX implements TrustedCallbackInterface {
$section_label = $build['#attributes']['aria-label'];
$build['configure']['#title'] = t('<span class="visually-hidden">Configure @section</span>', ['@section' => $section_label]);
- $build['configure']['#url'] = Url::fromRoute('layout_builder.configure_section_form', $build['configure']['#url']->getRouteParameters());
+ $build['configure']['#url'] = empty($build['configure']['#url']) ? NULL : Url::fromRoute('layout_builder.configure_section_form', $build['configure']['#url']->getRouteParameters());
diff --git a/src/Utils/DrupalApi.php b/src/Utils/DrupalApi.php
index 57a97d1a5..f39308be8 100644
--- a/src/Utils/DrupalApi.php
+++ b/src/Utils/DrupalApi.php
@@ -263,7 +263,8 @@ public function drupal_rebuild($class_loader, \Symfony\Component\HttpFoundation\
$kernel->invalidateContainer();
// Prepare a NULL request.
- $kernel->prepareLegacyRequest($request);
+ $kernel->boot();
diff --git a/migrate_api.info.yml b/migrate_api.info.yml
index 53e7a5c..623e7ac 100644
--- a/migrate_api.info.yml
+++ b/migrate_api.info.yml
@@ -1,11 +1,10 @@
name: Migrate API
description: Migrate API provodes additional functionality on-top of cores Migrate.
type: module
-# core: 8.x
+core_version_requirement: ^8 || ^9
diff --git a/file_version.info.yml b/file_version.info.yml
index 2ff4eb5..03add15 100644
--- a/file_version.info.yml
+++ b/file_version.info.yml
@@ -1,5 +1,5 @@
name: File Version
-# core: 8.x
+core_version_requirement: ^8.8 || ^9
description: Add simple token in files urls based on file modified time to ease cache files in CDNs.
type: module
@imcbride
imcbride / 3138698-13.patch
Last active July 15, 2021 15:16
Drupal 9 compatibility patch for lb_ux
diff --git a/lb_ux.info.yml b/lb_ux.info.yml
index 1ef0206..71de730 100644
--- a/lb_ux.info.yml
+++ b/lb_ux.info.yml
@@ -2,6 +2,6 @@ name: 'Layout Builder UX'
type: module
description: 'Alters the Layout Builder UI for better usability'
package: Layout Builder
-core: 8.x
+core_version_requirement: ^8.7.7 || ^9
diff --git a/olark.module b/olark.module
index d56db12..290e848 100644
--- a/olark.module
+++ b/olark.module
@@ -25,6 +25,22 @@ function olark_page_bottom(array &$page_bottom) {
return;
}
+ $page_bottom['olark'] = olark_render_array();
+
@imcbride
imcbride / tvi-views-access.patch
Created July 2, 2021 16:51
tvi-views-access.patch
diff --git a/src/Service/TaxonomyViewsIntegratorManager.php b/src/Service/TaxonomyViewsIntegratorManager.php
index 23f6dd9..fd2f47e 100644
--- a/src/Service/TaxonomyViewsIntegratorManager.php
+++ b/src/Service/TaxonomyViewsIntegratorManager.php
@@ -153,6 +153,13 @@ class TaxonomyViewsIntegratorManager implements TaxonomyViewsIntegratorManagerIn
->view($taxonomy_term, 'full');
}
+ // @todo: Access-control, is it worth addressing?
+ if (!$build['#view'] || !$build['#view']->access($build['#view']->current_display)) {