Account created on 25 February 2012, over 13 years ago
#

Merge Requests

Recent comments

🇵🇹Portugal jrochate

Found it. The module userprotect was causing this behaviour only on image fields, go figure.

All fine here. Closing.

🇵🇹Portugal jrochate

Hi @daniel_j. It would be cool if you could credit people that you think have helped in solving this issue.

🇵🇹Portugal jrochate

There is a change in Drupal 11.2 on the namespace of the Form.

I'm sending a patch that make is work again on Drupal 11.2.

I'm not sending a MR because the maintainers need to make a decision on how to make it available.

🇵🇹Portugal jrochate

@batigolix what about not having a default country selected, even if we have one or more countries in priority?

There should be a default country selected only if we choose the default value on field config.

Do you agree?

🇵🇹Portugal jrochate

I was also using this Navigation Extra Tools module.

Can you add that to your test bed?

🇵🇹Portugal jrochate

Well, I do not intent to keep discussing this, because I can see you are a long term Drupal developer (much more than I), so I will just detail a little more my first reply, and I hope I can contribute to anything. If not, we're ok anyway :)

Rabbit Hole is primarily about controlling what happens if a user visits the canonical entity route. It is not true access control: entities remain accessible to code and APIs unless you add custom restrictions.
- Typical technical use: Override EntityViewController, subscribe to route events.

Private Content modifies the Drupal access system at the entity level, including Views, APIs, and entity queries.
- Typical technical use: Implements hook_node_access() or custom AccessCheck classes for robust access control.

That's what I referred to when I said about "an access module".

Rabbit Hole Primary API Usage
- Entity API, Route Subscriber, Entity View Controller, Event Subscribers

Private Content Primary API Usage
- Entity Access API, Permissions API, Node Grants API, Route Access Subscribers

On my point of view, Rabbit Hole:
- Purpose: Controls what happens when someone tries to access an entity (like a node, user, or taxonomy term) directly by URL.
- Common Uses: Prevents direct viewing, redirects users, or returns 404/403 responses for certain content types or entities. It’s often used for content that’s not meant to be viewed as a standalone page (e.g., referenced content, system content).
- Visibility Control: Indirect. It doesn’t manage content privacy but rather controls how entities are displayed (or not displayed) at their URLs.

And Private Content
- Purpose: Restricts access to specific content for certain users or roles.
- Common Uses: Hides content from anonymous or unauthorized users, allowing only specified users/roles to view it. Useful for members-only content, confidential documents, etc.
- Visibility Control: Direct. It manages who can or cannot view the content based on permissions.

Cheers.

🇵🇹Portugal jrochate

I also think the widget approach works better.

I would like to add a request:

- respect the default value defined on the field

I mean, when there is no default value and the field is not mandatory, the fact that we use the widget to get priority countries shouldn't make the selection list pre-select the first priority country.
This is happening now, and it looks like a bug.

For me, the expected behaviour is only auto-fill the select box when the field has a pre-defined country selected, no mater has priority countries or not.

🇵🇹Portugal jrochate

I'm afraid you have misunderstood one or both modules:

Rabbit Hole is not an access module as Private Content.

For that reason they could never be similar or even merged.

🇵🇹Portugal jrochate

Drupal 11.2.2, just after installing term_merge got this PHP error.

Installed the MR!29 and now doesn't crash and merged terms successfully.

Thanks @Scott_euser

🇵🇹Portugal jrochate

Sure, no prob. I think is make a lot of sense, because it's normal to have a "most used" countries, but you don't want to loose the opportunity to know the rest of them.

For example: select all european countries first, and then the rest of the world if your use case is primarily targeted to Europe.
Or your own country first, because it will be 90% of the income users.

Thank you for your efforts on this.

🇵🇹Portugal jrochate

Works as expected, but when is on first use, there are some warnings about undefined variables.

- Edit a country field just after installing the patch:

Warning: Undefined array key "priority_countries" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 142 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

Warning: Undefined array key "show_priority_separator" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 152 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

Warning: Undefined array key "priority_separator_text" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 159 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

Warning: Undefined array key "priority_countries" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 142 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

Warning: Undefined array key "show_priority_separator" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 152 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

Warning: Undefined array key "priority_separator_text" in Drupal\country\Plugin\Field\FieldType\CountryItem->fieldSettingsForm() (line 159 of modules/contrib/country/src/Plugin/Field/FieldType/CountryItem.php) 

- After saving that specific country field definitions, the variables are set, so no more warnings.

🇵🇹Portugal jrochate

Hi @xjm.

Like reported above, I had this error appearing and needed to patch with #49.

But now I have removed the patch and applied the MR!12440 and it works as expected.
I'm not having the error on the operations I was having before.

Thanks you @all for the effort is solving this.

🇵🇹Portugal jrochate

Yep, there is a a path component missing.

🇵🇹Portugal jrochate

+1 RTBC. It solved this problem using Drupal 11 and the the module as the OP referenced.

🇵🇹Portugal jrochate

I'm having the same problem on Drupal 11.2 and #49 solved it.

Anyway, the solution doesn't look definitive.

🇵🇹Portugal jrochate

#8 is still a great way to solve this.

Thanks.

🇵🇹Portugal jrochate

Awesome. Please don't forget to credit who you think might have contributed to this issue.

🇵🇹Portugal jrochate

This patch solved the problem when the image field has max dimensions set.
Drupal 10.4 and stable exif_orientation 1.5 and also using imagick 1.12

Sorry, @adamps but your combo fix didn't solved the problem, so setting this as RTBC

🇵🇹Portugal jrochate

On my case this patch didn't solve the problem.

The patch applies OK, but the error still persist. The only way to clear the error was to install the stable version 2.0.8 instead of dev version.

🇵🇹Portugal jrochate

I'm testing against 3-beta3 and so far so good. no errors. marking RTBC

🇵🇹Portugal jrochate

It looks good to me.

I have patched, enabled the module on the same installation that the error occurred before, and cache can be cleaned without any warning nor error.

Thanks.

🇵🇹Portugal jrochate

Thanks. That solved the error I was having, even after uninstalling the module

🇵🇹Portugal jrochate

Thanks.

I was getting this fatal error, and the #5 solved it.

🇵🇹Portugal jrochate

This MR is setting charts requirements to 5.1.6 but the module is still on 5.1.3

diff --git a/composer.json b/composer.json
index e4d087cf381d9ccac41fb7a9d9a1632b179f02a4..6017dd455582b55385463a5502a857abb7cdf7a5 100644
--- a/composer.json
+++ b/composer.json
@@ -18,6 +18,6 @@
   },
   "license": "GPL-2.0-or-later",
   "require": {
-      "drupal/charts": "^5.0.3"
+      "drupal/charts": "^5.1.6"
   }
 }
🇵🇹Portugal jrochate

Solved on the related issue

🇵🇹Portugal jrochate

There are no more PHP warnings when editing ECA model, and the select box with Entities still show the flat list with all of them.

Thanks!

🇵🇹Portugal jrochate

I have edited the Plugin EntityFinder, on line 386 and invalidated the PHP with an implode() function on getLabel.

With that, the warning about Array to String on editing ECA models, disappeared.

🇵🇹Portugal jrochate

I think you should improve that issue and try to explain a little more why you think an ECA error message is related to tamper :)

🇵🇹Portugal jrochate

I think the problem is near,. because if I invalidate the getLabel with a forced PHP error, por exemple using implode(), then the warnings go away.

To get more deep on this, I will join my colleague on Monday to trace the code and be sure about it.

🇵🇹Portugal jrochate

In my case, the $entity_type->getLabel() does return a string.

Maybe there something else on the structure. I will take a look on Monday.

🇵🇹Portugal jrochate

Drupal 10.4 + pathauto 1.13 + upgrade to rh 2, and the patch was still needed.

The error was the same as post title:

[error] The "" plugin does not exist. Valid plugin IDs for Drupal\rabbit_hole\Plugin\RabbitHoleBehaviorPluginManager are: access_denied, page_not_found, display_page, page_redirect

Thanks manish.upadhyay

🇵🇹Portugal jrochate

hi @megachriz

Yep, that nails it. Thanks.

🇵🇹Portugal jrochate

Same as #112, using Drupal 10.4 and PHP 8.4.

When editing Media, the image it's no there, but it can be seen on files and on the related node.

🇵🇹Portugal jrochate

We're almost there... With ver 2.1 custom_tag module, we can achieve rel=alternate and href=link. It just misses the type tag.

🇵🇹Portugal jrochate

We are on Drupal 11.0.5 and yet this message still marks the Drupal 10.3 as Outdated

If we have 4.0.3 that is still supported, on Drupal 10.3, the installation should not be marked as outdated.

🇵🇹Portugal jrochate

Oh, now I can add that secondary axis, but in very specific conditions.

It would be good if:

1. I could had several columns, and just the last one into the secondary.
At the moment it's mandatory to have just two columns, where the first goes to axis1 and the second goes to axis2

2. I cloud have a distinct chart type for the secondary axis, e.g., bars for the axis1 and line for the axis2
At the moment, it's the same chart type for both axis

Anyway, thank you very much for your kind reply.

Do you think it will be possible to achieve the previous 1. or 2. good-to-have stuff?

thanks.

🇵🇹Portugal jrochate

After some digging we found out that it was a very specific use case in token_or that was not having consequences until we used ECA.

So it's has nothing to do with ECA, but it has to be improved in token_or side when using a specific duplicated token that we had.

Thanks anyway.

🇵🇹Portugal jrochate

When rejecting cookies, or not saving cookies, the SESSIONID is non existent. The SQL tries to save a new line using null value on the Sid column, and if there is already another non-cookie saved, the primary key error occurs.

🇵🇹Portugal jrochate

Patch works great on dev. Thanks.

🇵🇹Portugal jrochate

I got the same situation using BEF 6.0.6, and I have reroll the patch for BEF 6.x version.

It really make difference when using chosen search input. Please review.

🇵🇹Portugal jrochate

This is getting a little messy.

The #12 works fine on module's 1.5 and 1.6 version.

🇵🇹Portugal jrochate

Thanks @jan! For me it doesn't break now, when listing users and in other places where I was having memcache's WSOD.

I'm sending a simple patch just to keep speed up people who would like to test it also.

🇵🇹Portugal jrochate

Same here with #11. It works with ECA2, and also the problem of not being able to use a locally defined token with an e-mail as value.

For now I can hardcode the e-mail address, but it would be great to use a local token instead of hardcode of an entity token.

🇵🇹Portugal jrochate

Same here. Version 1.6 has the problem with special chars. Patch in #15 for the 1.5 version works fine.

🇵🇹Portugal jrochate

I was having this same problem.

Even forcing to update records on every run, this error always poped-up.

I found out that when a referenced entity did not exists, instead of feeds reporting that (as usual) it would break.

I solved it by guarantying that the referenced entity always exists before running the feed that was rising the error.

Maybe this can be helpful to anyone who comes here with the same problem: be sure that referenced entities (nodes) already exists.

🇵🇹Portugal jrochate

Does not work with current DEV branch.

🇵🇹Portugal jrochate

I'm also having this problem:

webform 6.2.x
drupal 10.3

    data_evento_inicio:
      '#type': datetime
      '#title': 'Data do Evento'
      '#title_display': inline
      '#required': true
      '#format': simple_datetime_alt
      '#date_year_range': ''
    data_evento_fim:
      '#type': datetime
      '#title': Fim
      '#title_display': inline
      '#required': true
      '#date_min': '[webform_submission:values:data_evento_inicio:raw]'
      '#format': simple_datetime_alt
      '#date_year_range': ''

I think the best is to use raw as should result in an UNIXTIMESTAMP.

But I'm getting the error:

Unable to render elements, please view the below message(s) and the error log.

The timestamp must be numeric.

Is it impossible to reference previous submissions fields on this validation rule?

Can't find out the limitation. TIA

🇵🇹Portugal jrochate

same here... This message keeps the drupal installation in an outdated state.

The Linkit module had a similar problem, that we could patch it like 💬 Update module erroneously recommends conflicting update to 6.1.x for sites on Drupal 10.0.x or lower Closed: works as designed

🇵🇹Portugal jrochate

Still the same problem using Drupal 10.3 and latest IMCE

🇵🇹Portugal jrochate

Same here, but not multi-site.

🇵🇹Portugal jrochate

Currently none of the patches above works: 1.11

🇵🇹Portugal jrochate

Thanks for the commit. It would be nice to give credit to lolgm since he has made the MR.

🇵🇹Portugal jrochate

Hey @ThuleNB, try this one 🐛 TypeError: Illegal offset type in isset or empty Needs review , I think it will fix your error.

🇵🇹Portugal jrochate

What about this issue 🐛 Compability issue with BEF 6.0.3 Needs review ? The patch it's similar but a few more instructions.

🇵🇹Portugal jrochate

I am not using site studio and I got the same problem:
- when cloning a node with Layout Paragraphs, we can see that we got a duplication of IDs

Clones node

     "x-default" => array:27 [▼
        0 => array:2 [▼
          "target_id" => "5747"
          "target_revision_id" => "111694"
        ]
        1 => array:2 [▼
          "target_id" => "5748"
          "target_revision_id" => "111695"
        ]
        2 => array:2 [▼
          "target_id" => "5749"
          "target_revision_id" => "111696"
        ]
        3 => array:2 [▼
          "target_id" => "5750"
          "target_revision_id" => "111697"
        ]
        4 => array:2 [▼
          "target_id" => "5751"
          "target_revision_id" => "111698"
        ]
        5 => array:2 [▼
          "target_id" => "5752"
          "target_revision_id" => "111699"
        ]
        6 => array:2 [▼
          "target_id" => "5765"
          "target_revision_id" => "111700"
        ]
        7 => array:2 [▼
          "target_id" => "5766"
          "target_revision_id" => "111701"
        ]
        8 => array:2 [▼
          "target_id" => "5767"
          "target_revision_id" => "111702"
        ]
        9 => array:2 [▼
          "target_id" => "5753"
          "target_revision_id" => "111703"
        ]
        10 => array:2 [▼
          "target_id" => "5754"
          "target_revision_id" => "111704"
        ]
        11 => array:2 [▼
          "target_id" => "5755"
          "target_revision_id" => "111705"
        ]
        12 => array:2 [▼
          "target_id" => "5756"
          "target_revision_id" => "111706"
        ]
        13 => array:2 [▼
          "target_id" => "5757"
          "target_revision_id" => "111707"
        ]
        14 => array:2 [▼
          "target_id" => "5758"
          "target_revision_id" => "111708"
        ]
        15 => array:2 [▼
          "target_id" => "5759"
          "target_revision_id" => "111709"
        ]
        16 => array:2 [▼
          "target_id" => "5760"
          "target_revision_id" => "111710"
        ]
        17 => array:2 [▼
          "target_id" => "5761"
          "target_revision_id" => "111711"
        ]
        18 => array:2 [▼
          "target_id" => "5762"
          "target_revision_id" => "111712"
        ]
        19 => array:2 [▼
          "target_id" => "5763"
          "target_revision_id" => "111713"
        ]
        20 => array:2 [▼
          "target_id" => "5764"
          "target_revision_id" => "111714"
        ]
        21 => array:2 [▼
          "target_id" => "5768"
          "target_revision_id" => "111715"
        ]
        22 => array:2 [▼
          "target_id" => "5769"
          "target_revision_id" => "111716"
        ]
        23 => array:2 [▼
          "target_id" => "5770"
          "target_revision_id" => "111717"
        ]
        24 => array:2 [▶]
        25 => array:2 [▶]
        26 => array:2 [▶]

Original node, now with the clone paragraphs back to it:

      "x-default" => array:42 [▼
        0 => array:2 [▼
          "target_id" => "5716"
          "target_revision_id" => "112067"
        ]
        1 => array:2 [▼
          "target_id" => "5717"
          "target_revision_id" => "112068"
        ]
        2 => array:2 [▶]
        3 => array:2 [▶]
        4 => array:2 [▶]
        5 => array:2 [▶]
        6 => array:2 [▶]
        7 => array:2 [▶]
        8 => array:2 [▶]
        9 => array:2 [▶]
        10 => array:2 [▶]
        11 => array:2 [▶]
        12 => array:2 [▶]
        13 => array:2 [▶]
        14 => array:2 [▶]
        15 => array:2 [▶]
        16 => array:2 [▶]
        17 => array:2 [▶]
        18 => array:2 [▶]
        19 => array:2 [▶]
        20 => array:2 [▼
          "target_id" => "5741"
          "target_revision_id" => "112087"
        ]
        21 => array:2 [▼
          "target_id" => "5747"
          "target_revision_id" => "112088"
        ]
        22 => array:2 [▼
          "target_id" => "5748"
          "target_revision_id" => "112089"
        ]
        23 => array:2 [▼
          "target_id" => "5749"
          "target_revision_id" => "112090"
        ]
        24 => array:2 [▼
          "target_id" => "5750"
          "target_revision_id" => "112091"
        ]
        25 => array:2 [▼
          "target_id" => "5751"
          "target_revision_id" => "112092"
        ]
        26 => array:2 [▼
          "target_id" => "5752"
          "target_revision_id" => "112093"
        ]
        27 => array:2 [▼
          "target_id" => "5753"
          "target_revision_id" => "112094"
        ]
        28 => array:2 [▼
          "target_id" => "5754"
          "target_revision_id" => "112095"
        ]
        29 => array:2 [▼
          "target_id" => "5755"
          "target_revision_id" => "112096"
        ]
        30 => array:2 [▼
          "target_id" => "5756"
          "target_revision_id" => "112097"
        ]
        31 => array:2 [▼
          "target_id" => "5757"
          "target_revision_id" => "112098"
        ]
        32 => array:2 [▼
          "target_id" => "5758"
          "target_revision_id" => "112099"
        ]
        33 => array:2 [▼
          "target_id" => "5759"
          "target_revision_id" => "112100"
        ]
        34 => array:2 [▼
          "target_id" => "5760"
          "target_revision_id" => "112101"
        ]
        35 => array:2 [▼
          "target_id" => "5761"
          "target_revision_id" => "112102"
        ]
        36 => array:2 [▼
          "target_id" => "5762"
          "target_revision_id" => "112103"
        ]
        37 => array:2 [▼
          "target_id" => "5763"
          "target_revision_id" => "112104"
        ]
        38 => array:2 [▼
          "target_id" => "5764"
          "target_revision_id" => "112105"
        ]
        39 => array:2 [▼
          "target_id" => "5765"
          "target_revision_id" => "112106"
        ]
        40 => array:2 [▼
          "target_id" => "5766"
          "target_revision_id" => "112107"
        ]
        41 => array:2 [▼
          "target_id" => "5767"
          "target_revision_id" => "112108"
        ]
      ]
🇵🇹Portugal jrochate

At the moment, the MR!416 is working fine on 1.1.x.

I can't firmly test it on 2.0.x-dev for now.

🇵🇹Portugal jrochate

I'm sorry, but I think that's not the solution.

You would have a warning about the non existing dimension of the array.

Also I don't the real implications of having the $field_target_bundles empty processed, instead of just skipping the code when empty.

I think we must wait for someone with a better knowledge about PbT. This is an access module, we shouldn't patch it to solve basic PHP errors without knowing the implications of some patch decisions.

🇵🇹Portugal jrochate

If there is no suggestion from someone more used to PbT, I will post my own patch in a couple of days.

🇵🇹Portugal jrochate

Hi @joseph.olstad

I think @pianomansam should get credit on this fix, that would be good for him and his organization.

Production build 0.71.5 2024