Patch #4 cannot work: in GroupContentPermissionProvider::getPermission() a "case 'view all revisions'" is still missing.
I Added this in patch #5.
Even if I can live well with a 404 - the status is called "failed" and unfortunately this does not exist in the status codes.
Wouldn't something like 999 be a good idea? Or the user can enter the desired code himself in a setting?
PLEASE PLEASE
add this small change to LinkcheckerLinkPageEntityLabel.php
even in the Drupal-10 Version
########################
Yes endless_wander, this would be nice.. ->hasCategory()
In my case even the patch will not work with a Media-Element where the image-field is required but not translatable.
I found a bug in eu_cookie_compliance_page_attachments() [Version 8.x-1.24]
In line 295 you prepend a relative path with '/' and compare this with the user-given paths:
if (strpos($src, 'http') !== 0 && strpos($src, '//') !== 0) {
$src = '/' . $src;
}
if (in_array($src, $disabled_javascripts)) {
$variables['#attached']['html_head'][$index][0]['#access'] = FALSE;
}
But $form['javascripts']['disabled_javascripts']['#description'] says "should be written as root relative paths without the leading slash" - so this never works for relative paths - or am I wrong ?
My proposed solution was wrong... - workaround was adding the link via field-setting to /node/{nid} (something like that).
Real Solution:
If I set the field output PLAIN with Option "Link to content" this happens in
public function renderText($alter) {
if ($this->options['settings']['link_to_entity'] === TRUE) {
$alter['rendered']['#title']['#context']['value'] = $this->htmlTitleFilter->decodeToMarkup($alter['rendered']['#title']['#context']['value']);
$this->last_render = $this->renderer->render($alter['rendered']);
}
else {
$rendered = $this->renderer->render($alter['rendered']);
$this->last_render = $this->htmlTitleFilter->decodeToMarkup($rendered);
}
return parent::renderText($alter);
}
$this->options['settings']['link_to_entity']
has value 1 (not TRUE) so the else-part runs. Thats bad.
Just change === to ==
Its even more better to add some more check in line 51 - result is:
if ($this->options['settings']['link_to_entity'] == TRUE && is_array($alter["rendered"]["#title"])) {
In combination with scheduled_transitions.module the problem is not solved.
Route /node/{node}/scheduled-transitions throws err in Line 183.
Reason:
Line 136 if (!empty($flags) && isset($flags[0])
cannot work, because indices of $flags are keys - not numbers. So it will never return here.
My solution seems to work:
if (!empty($flags)) {
$first_flag = reset($flags);
if ($first_flag instanceof FlagInterface && !$first_flag->getFlagTypePlugin()->isAddEditForm($object->getOperation())) {
return;
}
}