Skip to content
Snippets Groups Projects
Commit 79f18df5 authored by Michael Lee's avatar Michael Lee
Browse files

Merge branch 'metatag' into lee5151

parents 8a56c59a 5bbc84f7
No related branches found
No related tags found
No related merge requests found
Showing
with 1115 additions and 212 deletions
......@@ -5642,35 +5642,38 @@
},
{
"name": "drupal/metatag",
"version": "1.16.0",
"version": "1.22.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/metatag.git",
"reference": "8.x-1.16"
"reference": "8.x-1.22"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.16.zip",
"reference": "8.x-1.16",
"shasum": "1c0028f4ff4583dc6601035657dd631c351b290c"
"url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.22.zip",
"reference": "8.x-1.22",
"shasum": "045cd6a4aa5048bfd6d47584eae1210eab9ba1fa"
},
"require": {
"drupal/core": "^8 || ^9",
"drupal/core": "^9.3 || ^10",
"drupal/token": "^1.0"
},
"require-dev": {
"drupal/devel": "^4.0",
"drupal/devel": "^4.0 || ^5.0",
"drupal/hal": "^9 || ^1 || ^2",
"drupal/metatag_dc": "*",
"drupal/metatag_open_graph": "*",
"drupal/page_manager": "4.x-dev",
"drupal/panelizer": "4.x-dev",
"drupal/redirect": "1.x-dev"
"drupal/page_manager": "^4.0",
"drupal/panelizer": "^4.0",
"drupal/redirect": "^1.0",
"drupal/webprofiler": "^9 || ^10",
"mpyw/phpunit-patch-serializable-comparison": "*"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "8.x-1.16",
"datestamp": "1615820867",
"version": "8.x-1.22",
"datestamp": "1664472988",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
......@@ -12953,16 +12956,16 @@
},
{
"name": "symfony/console",
"version": "v4.4.48",
"version": "v4.4.49",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "8e70c1cab07ac641b885ce80385b9824a293c623"
"reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/8e70c1cab07ac641b885ce80385b9824a293c623",
"reference": "8e70c1cab07ac641b885ce80385b9824a293c623",
"url": "https://api.github.com/repos/symfony/console/zipball/33fa45ffc81fdcc1ca368d4946da859c8cdb58d9",
"reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9",
"shasum": ""
},
"require": {
......@@ -13023,7 +13026,7 @@
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/console/tree/v4.4.48"
"source": "https://github.com/symfony/console/tree/v4.4.49"
},
"funding": [
{
......@@ -13039,7 +13042,7 @@
"type": "tidelift"
}
],
"time": "2022-10-26T16:02:45+00:00"
"time": "2022-11-05T17:10:16+00:00"
},
{
"name": "symfony/css-selector",
......
......@@ -5842,36 +5842,39 @@
},
{
"name": "drupal/metatag",
"version": "1.16.0",
"version_normalized": "1.16.0.0",
"version": "1.22.0",
"version_normalized": "1.22.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/metatag.git",
"reference": "8.x-1.16"
"reference": "8.x-1.22"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.16.zip",
"reference": "8.x-1.16",
"shasum": "1c0028f4ff4583dc6601035657dd631c351b290c"
"url": "https://ftp.drupal.org/files/projects/metatag-8.x-1.22.zip",
"reference": "8.x-1.22",
"shasum": "045cd6a4aa5048bfd6d47584eae1210eab9ba1fa"
},
"require": {
"drupal/core": "^8 || ^9",
"drupal/core": "^9.3 || ^10",
"drupal/token": "^1.0"
},
"require-dev": {
"drupal/devel": "^4.0",
"drupal/devel": "^4.0 || ^5.0",
"drupal/hal": "^9 || ^1 || ^2",
"drupal/metatag_dc": "*",
"drupal/metatag_open_graph": "*",
"drupal/page_manager": "4.x-dev",
"drupal/panelizer": "4.x-dev",
"drupal/redirect": "1.x-dev"
"drupal/page_manager": "^4.0",
"drupal/panelizer": "^4.0",
"drupal/redirect": "^1.0",
"drupal/webprofiler": "^9 || ^10",
"mpyw/phpunit-patch-serializable-comparison": "*"
},
"type": "drupal-module",
"extra": {
"drupal": {
"version": "8.x-1.16",
"datestamp": "1615820867",
"version": "8.x-1.22",
"datestamp": "1664472988",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
......@@ -13461,17 +13464,17 @@
},
{
"name": "symfony/console",
"version": "v4.4.48",
"version_normalized": "4.4.48.0",
"version": "v4.4.49",
"version_normalized": "4.4.49.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "8e70c1cab07ac641b885ce80385b9824a293c623"
"reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/8e70c1cab07ac641b885ce80385b9824a293c623",
"reference": "8e70c1cab07ac641b885ce80385b9824a293c623",
"url": "https://api.github.com/repos/symfony/console/zipball/33fa45ffc81fdcc1ca368d4946da859c8cdb58d9",
"reference": "33fa45ffc81fdcc1ca368d4946da859c8cdb58d9",
"shasum": ""
},
"require": {
......@@ -13506,7 +13509,7 @@
"symfony/lock": "",
"symfony/process": ""
},
"time": "2022-10-26T16:02:45+00:00",
"time": "2022-11-05T17:10:16+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
......@@ -13534,7 +13537,7 @@
"description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/console/tree/v4.4.48"
"source": "https://github.com/symfony/console/tree/v4.4.49"
},
"funding": [
{
......
......@@ -983,9 +983,9 @@
'dev_requirement' => false,
),
'drupal/metatag' => array(
'pretty_version' => '1.16.0',
'version' => '1.16.0.0',
'reference' => '8.x-1.16',
'pretty_version' => '1.22.0',
'version' => '1.22.0.0',
'reference' => '8.x-1.22',
'type' => 'drupal-module',
'install_path' => __DIR__ . '/../../web/modules/metatag',
'aliases' => array(),
......@@ -2163,9 +2163,9 @@
'dev_requirement' => false,
),
'symfony/console' => array(
'pretty_version' => 'v4.4.48',
'version' => '4.4.48.0',
'reference' => '8e70c1cab07ac641b885ce80385b9824a293c623',
'pretty_version' => 'v4.4.49',
'version' => '4.4.49.0',
'reference' => '33fa45ffc81fdcc1ca368d4946da859c8cdb58d9',
'type' => 'library',
'install_path' => __DIR__ . '/../symfony/console',
'aliases' => array(),
......
......@@ -12,7 +12,7 @@
namespace Symfony\Component\Console\Exception;
/**
* Represents an incorrect option name typed in the console.
* Represents an incorrect option name or value typed in the console.
*
* @author Jérôme Tamarelle <jerome@tamarelle.net>
*/
......
Metatag 8.x-1.22, 2022-09-29
----------------------------
#3299228 by DamienMcKenna: Refactor favicon meta tags.
#3298081 by DamienMcKenna: Deprecate Google Plus meta tags.
#3299229 by DamienMcKenna, thejimbirch: Deprecate news_keywords, standout meta
tags.
#3300806 by heddn, DamienMcKenna: hreflang_per_language not in config schema.
#3302675 by DamienMcKenna: Fix $modules definitions in tests.
#3034248 by DanielVeza, chadmandoo, DamienMcKenna, jwilson3, justin2pin, InaW,
ChandeepKhosa, thejimbirch, pianomansam, FiNeX: Promote use of Token Or
module to make tokens more flexible.
#3302685 by DamienMcKenna: Tiny changes from tests refactoring.
#3303196 by DamienMcKenna: Add extra isSOMETHING() methods to MetaNameBase.
#3304779 by luigisa, DamienMcKenna: MetatagManager::processedTokenCache() does
not respect the entity language.
#3302969 by DamienMcKenna: Refactored MetaNameBase output logic.
#3252150 by andregp, DamienMcKenna, phenaproxima, Berdir, elber, japerry,
Kristen Pol: Drupal 10 compatibility.
#3305580 by DamienMcKenna: Deprecate Panelizer integration.
#3304488 by RandalV, DamienMcKenna: metatag_get_route_entity() does not check
if the entity parameter is an actual entity.
#3306039 by DamienMcKenna: Recover lost WebProfiler test script.
#3303424 by DamienMcKenna: Android, iOS app alternate link tags don't work
correctly.
#3306085 by DamienMcKenna, Berdir: Replace "bartik" theme in tests.
#3305322 by DamienMcKenna: Remove the verbose() test methods.
#2767107 by DamienMcKenna, Antares89: Add support for the Diff module.
#3311343 by Anybody, DamienMcKenna: Metatag routes misses package name SEO in
info.yml.
#2901039 by rcodina, tsplash, DamienMcKenna, Wannes DR, mErilainen,
weekbeforenext, natemow, mpp, borisson_, AMDandy, jenniferaube, klmd302: Add
a TypedData plugin to support Search API.
#3311542 by DamienMcKenna, lostcarpark, lucassc: Add new Metatag logo files,
update tests to use them.
#3024450 by DamienMcKenna, DantonMariano, Tаo, michaellenahan, mdmanouwer,
Ahmed.Raza, lexsoft00, ndobromirov, Endika Melero: Log when there are problems
unserializing the meta tag data.
#3309850 by DamienMcKenna: Skip token processing if there are no tokens in the
value.
#3305751 by DamienMcKenna: Fix coding standards issues.
#3311891 by DamienMcKenna, GiorgosK: MaskIcon::setValue() should not set a NULL
value.
#3311911 by DamienMcKenna: TypedData logic has an error.
#3261473 by DamienMcKenna, saidatom, claudiu.cristea, heddn, Evaldas Užkuras,
Eugene Bocharov: Views cache wrapper overrides other modules cache logic.
Metatag 8.x-1.21, 2022-07-16
----------------------------
#3268439 by Dave Reid: Follow-up to fix the scroll height feature.
#3295600 by DamienMcKenna, saranchuk_hys, Eugene Bocharov, Didier Misson,
loopy1492, Maplinx, W01F, jaydub, kazah: MaskIcon doesn't work properly.
#3295757 by sleitner, DamienMcKenna: Fix regression from Google tag fix.
Metatag 8.x-1.20, 2022-07-12
----------------------------
#3257588 by Eugene Bocharov, lobodacyril, jippie1948, Kasey_MK, djween, awasson,
DamienMcKenna, Valdes14, laura.florey, stacypendell: DB update hangs at
metatag 8109 - Update mask_icon values to the new structure.
#3258978 by heddn, DamienMcKenna: tokenize not in config schema for
metatag_display_extender.
#3258346 by Eugene Bocharov, jedgar1mx, 4kant, Renrhaf, DamienMcKenna, kriboogh:
Error: Call to a member function __wakeup() on null.
#3113761 by DamienMcKenna, thalles, rokzabukovec, Diego_Mow, urvashi_vora:
Coding standards cleanup.
#3261505 by DamienMcKenna, Eugene Bocharov, Sergiu Stici: In php 8.1 the explode
function throws a notice when default value is null.
#3265679 by DamienMcKenna: Additional coding standards bugs.
#3241256 by ndf, sabina.h, idebr, DamienMcKenna: Remove redundant HTTP headers
for canonical and short_link tags.
#3262308 by YahyaAlHamad, DamienMcKenna: metatag_update_8109 fails because of
unknown column.
#3261467 by DamienMcKenna, HnLn: in php 8.1 preg_match in
metatag_get_route_entity throws notice when route is null.
#3266326 by victoria-marina, Guilherme Rabelo, DamienMcKenna: Use Dependency
Injection in MetatagManager.
#3265567 by DamienMcKenna, Anatolij Zajika, PCate: PHP8 undefined array key
"description".
#3266406 by szato, DamienMcKenna: Don't assume the 'first_row_tokens' cache key
is defined.
#3264449 by DamienMcKenna, gilles_webstanz: Trim og:description doesn't work.
#3258427 by Eugene Bocharov, mrshowerman, saranchuk_hys, phthlaap, apaderno,
Kulturmensch, DamienMcKenna, quicksketch: TypeError: preg_match_all():
Arg #2 ($subject) must be of type string, array given in preg_match_all().
#3258358 by Eugene Bocharov, sashken2, DamienMcKenna, modernrockstar: Empty
values saved in 'mask_icon' meta tag.
#3269670 by DamienMcKenna, sd123: Trimming even trims metatags shorter than the
limit.
#3269742 by DamienMcKenna, z3cka: Migrate D7 Product Display node metatag data
to D9 Drupal Commerce Product entities.
#3280904 by DamienMcKenna, 3li: Automatic conversion of false to array is
deprecated.
#3278924 by lamp5, DamienMcKenna: Translation of title metatag is limited to
128 characters.
#3271284 by Shashwat Purav: Double occurrences of word "the".
#3257520 by er.garg.karan, DamienMcKenna: Default Drupal favicon icon on core
before 9.3.
#3281987 by DamienMcKenna: Sort configuration items prior to saving.
#3284465 by DamienMcKenna, murilohp: Deprecated obsolete meta
http-equiv="content-language".
#3270951 by marciaibanez, tmaiochi, Guilherme Rabelo, chakkche, DamienMcKenna:
Coding standards improvements.
#3112509 by DamienMcKenna, ciprian.stavovei, Renrhaf, sitiveni: Convert
"author" tag to HTML 5.2 spec, deprecate Google+ Author tag.
#3280745 by DamienMcKenna, Anybody: Trimming should use multibyte functions.
#3112509 by DamienMcKenna: Fix regression in Google+ tests.
#2563655 by DamienMcKenna, waldomero: Absorb Metatag Routes module to allow
per-path/route configurations.
#3268439 by chakkche, bygeoffthompson, DamienMcKenna, Ruturaj Chaubey: Optional
overflow control on expanded Metatag field widget.
#3231981 by sanduhrs, DamienMcKenna: Add support for SIWECOS website security
scanner.
#3198100 by thejimbirch, DamienMcKenna, sriharsha.uppuluri: Two Google meta tags
conflict with each other.
#3077442 by daniel.bosen, DamienMcKenna, esdrasterrero, Vivek Panicker,
Supreetam09, rigoucr: Current language through the language manager doesn't
work (decoupled site).
#3295569 by DamienMcKenna: 8.x-1.x tests fail against PHP 7.3.
Metatag 8.x-1.19, 2022-01-06
----------------------------
#3104170 by DamienMcKenna, tobiasb, marcoliver, hosterholz, Berdir: Do not send
empty Metatag descriptions through translation.
#3255547 by Eugene Bocharov, Thomas Kaisuka, Stephen Ollman, glynster, oxy86,
Matthijs, Mahmoud Barhouma, DamienMcKenna, wells: View preview broken after
Metatag upgrade.
#3255731 by acbramley, DamienMcKenna, tim.anderson: Undefined array key errors
from metatag_update_8109.
#3256373 by DamienMcKenna, Kulturmensch: WebManifest::output() doesn't verify
output is array before adding new element.
Metatag 8.x-1.18, 2021-12-21
----------------------------
#3255342 by Eugene Bocharov, trickfun, DamienMcKenna, paulocs: Table
'db.node__field_meta_tags' doesn't exist.
Metatag 8.x-1.17, 2021-12-20
----------------------------
#3210890 by DamienMcKenna: Convert the README.txt to a markdown file.
#3210433 by DamienMcKenna, byybora: Documented a solution for when the meta tags
are not output.
#2952229 by Charlie ChX Negyesi, DamienMcKenna, joseph.olstad, solide-echt:
Allow Views meta tags to "Use replacement tokens from the first row".
#3223680 by DamienMcKenna, Eugene Bocharov: Test errors 8.x-1.x branch with
Drupal 9.2.
#3219963 by AndyThornton, DamienMcKenna: _metatag_is_entity_route_entity static
cache problematic.
#3227367 by DamienMcKenna: Replace uses of static with drupal_static().
#3228362 by narendraR, DamienMcKenna: SQL error when migrating non-UTF8 meta
tags.
#3230747 by segovia94, DamienMcKenna: Defaults UI page has malformed HTML
markup.
#3231725 by DamienMcKenna: Replace t() calls with (string) new
TranslatableMarkup().
#3158395 by Kasey_MK, geekygnr, DamienMcKenna, mherchel: Avoid similar-sounding
links with different purposes.
#3204262 by jplanginier, DamienMcKenna: PHP version declared in composer.json
isn't valid regarding current code.
#3170178 by geekygnr, dionsj, DamienMcKenna: Allow widget to use regular
container instead of details.
#3243815 by DamienMcKenna, jastraat: 401 error on Web Manifest.
#3248439 by lamp5, DamienMcKenna: Schema for icon mask is missing.
#3248361 by COBadger, DamienMcKenna: Correct README.md instruction on adding
bundle defaults.
#3189429 by Eugene Bocharov, bwaindwain, nJim, DamienMcKenna: "title" token
doesn't work as expected.
#3244106 by Nikhilesh Gupta, nJim, DamienMcKenna: New coding standards: Inline
@var declarations should use the /** */ delimiters.
#3252359 by murilohp, DamienMcKenna: Remove workarounds for Drupal 8, update
references to say "Drupal 9".
#3252354 by tijsdeboeck, DamienMcKenna: Fix small typo in
metatag_extended_perms.info.yml.
#3240989 by anagomes, DamienMcKenna, Berdir: Not marking service definitions as
public is deprecated.
#2958193 by Grevil, Anybody, DamienMcKenna, nikhileshpaul: Automatically trim
meta tag lengths.
#3247678 by esolitos, DamienMcKenna: Support migration with multiple "d7_*"
sources.
#2914998 by JeroenT, DamienMcKenna, gngn, ytsurk: Add the mask icon "color"
attribute.
#3205932 by dalin, DamienMcKenna: Add noindex to "403 access denied" defaults.
#3229004 by larisse, Rar9, DamienMcKenna: Undefined index: hreflang in
metatag_hreflang_page_attachments_alter().
#3190804 by DamienMcKenna, Wim Leers: Allow source counts to be cached:
implement ::doCount() instead of ::count().
#3252159 by DamienMcKenna, Eugene Bocharov: Fix tests compatibility with Drupal
9.3.x.
#3253736 by Dave Reid, zebda, DamienMcKenna: favicon meta tag was renamed in
Drupal 9.3.0.
#3223289 by DamienMcKenna, introfini: Added product:retailer_item_id.
#3230393 by introfini, DamienMcKenna: Added product:availability and
product:condition.
#3209938 by Sutharsan, murilohp, DamienMcKenna: Edit form title does not contain
path.
#3218647 by luisrhaas, DamienMcKenna, Anybody: Remove line breaks from meta tag
output.
#3254423 by andregp, DamienMcKenna: Replace deprecated APIs in tests.
#3254597 by DamienMcKenna: Remove Console integration.
#2761909 by roshkovanv, andrewsuth, greenSkin, plach, Boobaa, DamienMcKenna,
lmeurs, seancasey: og:image does not parse url from image field properly when
there is a comma in the alt field.
Metatag 8.x-1.16, 2021-03-15
----------------------------
#3186893 by DamienMcKenna: Document how to update from Metatag Access to Metatag
......
......@@ -22,13 +22,16 @@
"docs": "https://www.drupal.org/docs/8/modules/metatag"
},
"require": {
"drupal/core": "^8 || ^9",
"drupal/core": "^9.3 || ^10",
"drupal/token": "^1.0"
},
"require-dev": {
"drupal/devel": "^4.0",
"drupal/redirect": "1.x-dev",
"drupal/page_manager": "4.x-dev",
"drupal/panelizer": "4.x-dev"
"drupal/devel": "^4.0 || ^5.0",
"drupal/hal": "^9 || ^1 || ^2",
"drupal/redirect": "^1.0",
"drupal/page_manager": "^4.0",
"drupal/panelizer": "^4.0",
"drupal/webprofiler": "^9 || ^10",
"mpyw/phpunit-patch-serializable-comparison": "*"
}
}
......@@ -4,5 +4,6 @@ dependencies: { }
id: '403'
label: '403 access denied'
tags:
robots: noindex
canonical_url: '[site:url]'
shortlink: '[site:url]'
......@@ -69,7 +69,7 @@ metatag.metatag_tag.standout:
type: label
label: 'Standout'
metatag.metatag_tag.title:
type: label
type: text
label: 'Page title'
metatag.metatag_tag.icbm:
type: label
......@@ -89,3 +89,6 @@ metatag.metatag_tag.set_cookie:
metatag.metatag_tag.google:
type: label
label: 'Google'
metatag.metatag_tag.author:
type: label
label: 'Author'
......@@ -14,3 +14,6 @@ field.widget.settings.metatag_firehose:
sidebar:
type: boolean
label: 'Place field in sidebar'
use_details:
type: boolean
label: 'Place field in collapsed details container'
......@@ -14,3 +14,15 @@ metatag.settings:
sequence:
type: string
label: 'Group'
tag_trim_method:
type: string
label: 'Trim method for trimmable tags.'
tag_trim_maxlength:
type: sequence
label: 'Tag-specific maximum length'
sequence:
type: integer
label: 'Tag maximum length in characters'
tag_scroll_max_height:
type: string
label: 'Add max height value'
services:
metatag.generate_tag:
class: Drupal\metatag\Command\GenerateTagCommand
arguments: ['@metatag.manager', '@metatag.tag_generator', '@?console.extension_manager', '@?console.string_converter', '@?console.chain_queue', '@console.validator']
tags:
- { name: drupal.command }
metatag.generate_group:
class: Drupal\metatag\Command\GenerateGroupCommand
arguments: ['@metatag.group_generator', '@?console.extension_manager', '@?console.chain_queue', '@console.validator']
tags:
- { name: drupal.command }
metatag.tag_generator:
class: Drupal\metatag\Generator\MetatagTagGenerator
arguments: ['@?console.extension_manager', '@?console.renderer']
tags:
- { name: drupal.generator }
metatag.group_generator:
class: Drupal\metatag\Generator\MetatagGroupGenerator
arguments: ['@?console.extension_manager', '@?console.renderer']
tags:
- { name: drupal.generator }
/**
* @file
* Custom CSS for the Firehose widget.
*/
.metatags {
max-height: 500px;
overflow-y: overlay;
}
web/modules/metatag/metatag-logo.png

6.86 KiB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="500"
height="500"
viewBox="0 0 132.29166 132.29167"
version="1.1"
id="svg5"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs2" />
<g
id="g5128"
style="display:inline">
<rect
style="fill:#0074c1;fill-opacity:1;stroke:#808080;stroke-width:0.00265549;stop-color:#000000"
id="rect5126"
width="132.28902"
height="132.28902"
x="0.001327745"
y="0.001327745"
ry="0" />
</g>
<g
id="layer5"
style="display:inline">
<g
aria-label="&lt;"
id="text2881"
style="font-size:50.8px;line-height:1.25;stroke-width:0.264583"
transform="matrix(1.3818704,0,0,2.0292938,-16.028486,18.559421)">
<path
d="M 16.178928,27.465594 V 22.380633 L 40.859592,12.012274 v 3.819922 l -21.282422,9.078515 21.282422,9.10332 v 3.795117 z"
style="font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#ffffff"
id="path2933" />
</g>
<g
aria-label="&lt;"
id="g2940"
style="font-size:50.8px;line-height:1.25;stroke-width:0.264583"
transform="matrix(-1.3818704,0,0,-2.0292938,149.38323,119.34111)">
<path
d="M 16.178928,27.465594 V 22.380633 L 40.859592,12.012274 v 3.819922 l -21.282422,9.078515 21.282422,9.10332 v 3.795117 z"
style="font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#ffffff"
id="path2938" />
</g>
</g>
<g
id="layer4"
style="display:inline">
<path
fill="#00598e"
d="m 78.79926,49.558731 c -2.852021,-1.77714 -5.532063,-2.47223 -8.226436,-4.242204 -1.662486,-1.132209 -3.977066,-3.81225 -5.911855,-6.126831 -0.372626,3.711928 -1.504836,5.216764 -2.794696,6.291647 -2.737368,2.149765 -4.45718,2.794694 -6.821922,4.084555 -1.992116,1.017555 -12.791104,7.466851 -12.791104,21.332838 0,13.865989 11.66606,24.077375 24.614814,24.077375 12.948753,0 24.184861,-9.401643 24.184861,-23.647422 0,-14.245778 -10.53385,-20.695075 -12.253662,-21.769958 z"
id="path2978-6"
style="display:inline;fill:#ffffff;fill-opacity:1;stroke-width:0.0716587" />
</g>
<g
id="g6607"
style="display:inline">
<path
fill="#ffffff"
d="m 74.523644,82.860035 c 0.879084,0 1.816774,0.05861 2.476089,0.498147 0.659313,0.439543 1.040252,1.428515 1.260023,1.977942 0.219771,0.549429 0,0.879084 -0.439542,1.098855 -0.380939,0.219772 -0.439544,0.109888 -0.820481,-0.600706 -0.380937,-0.710595 -0.717919,-1.428513 -2.637254,-1.428513 -1.919337,0 -2.527371,0.659315 -3.457736,1.428513 -0.930366,0.769201 -1.260023,1.04025 -1.597005,0.600706 -0.336983,-0.439542 -0.219772,-0.879084 0.380936,-1.428512 0.600709,-0.549429 1.597006,-1.428514 2.527371,-1.816777 0.930364,-0.388261 1.428514,-0.329655 2.307599,-0.329655 z"
id="path6589"
style="fill:#0074c1;fill-opacity:1;stroke-width:0.073257" />
<path
fill="#ffffff"
d="m 65.410461,89.123516 c 1.098855,0.879085 2.74714,1.597006 6.263481,1.597006 3.516342,0 5.985104,-0.996296 7.083961,-1.816777 0.498149,-0.380936 0.71792,-0.05861 0.7692,0.161167 0.05128,0.219772 0.161166,0.549427 -0.219771,0.937689 -0.278378,0.278378 -2.79842,2.036549 -5.77266,2.307601 -2.974239,0.271052 -6.974076,0.439542 -9.39156,-1.758171 -0.380937,-0.380939 -0.278377,-0.937692 0,-1.157463 0.278377,-0.219772 0.498148,-0.380936 0.82048,-0.380936 0.322331,0 0.278376,0 0.446869,0.109884 z"
id="path6591"
style="fill:#0074c1;fill-opacity:1;stroke-width:0.073257" />
<path
fill="#ffffff"
d="m 52.443953,79.123922 c 0.05861,-4.285541 4.065769,-8.292704 9.120509,-8.351309 6.431974,-0.05861 10.87868,6.373367 14.123968,6.314762 2.747143,-0.05861 8.021655,-5.435677 10.60763,-5.435677 2.74714,0 3.516341,2.857027 3.516341,4.556591 0,1.699565 -0.54943,4.776364 -1.868057,6.703027 -1.318629,1.926661 -2.139108,2.637256 -3.677507,2.527369 -1.977941,-0.161166 -5.933825,-6.314763 -8.461194,-6.431974 -3.186684,-0.109886 -10.10948,6.651745 -15.545157,6.651745 -3.296571,0 -4.285541,-0.49815 -5.384397,-1.20874 -1.670263,-1.150139 -2.490741,-2.908309 -2.432136,-5.325794 z"
id="path6601"
style="fill:#0074c1;fill-opacity:1;stroke-width:0.073257" />
</g>
</svg>
name: Metatag
type: module
description: Manage meta tags for all entities.
core_version_requirement: '^8.7.7 || ^9'
core_version_requirement: '^9.3 || ^10'
package: SEO
configure: entity.metatag_defaults.collection
dependencies:
......@@ -10,7 +10,7 @@ dependencies:
test_dependencies:
- devel:devel
# Information added by Drupal.org packaging script on 2021-03-15
version: '8.x-1.16'
# Information added by Drupal.org packaging script on 2022-09-29
version: '8.x-1.22'
project: 'metatag'
datestamp: 1615820871
datestamp: 1664472821
......@@ -5,6 +5,8 @@
* Requirements and update functions for the Metatag module.
*/
use Drupal\Core\StringTranslation\TranslatableMarkup;
/**
* Implements hook_requirements().
*/
......@@ -18,8 +20,8 @@ function metatag_requirements($phase) {
$requirements['metatag_maintenance_mode'] = [
'severity' => REQUIREMENT_WARNING,
'title' => 'Metatag',
'value' => t('Not enabled while in maintenance mode'),
'description' => t('Please note that while the site is in maintenance mode none of the usual meta tags will be output.'),
'value' => new TranslatableMarkup('Not enabled while in maintenance mode'),
'description' => new TranslatableMarkup('Please note that while the site is in maintenance mode none of the usual meta tags will be output.'),
];
}
......@@ -28,8 +30,8 @@ function metatag_requirements($phase) {
$requirements['metatag_schema'] = [
'severity' => REQUIREMENT_INFO,
'title' => 'Metatag',
'value' => t('Schema.org Metatag is recommended'),
'description' => t('The <a href="@module">Schema.org Metatag</a> module is highly recommended to add <a href="@jsonld">JSON-LD</a> -formatted <a href="@schema">schema.org</a> compatible data structures to the site.', [
'value' => new TranslatableMarkup('Schema.org Metatag is recommended'),
'description' => new TranslatableMarkup('The <a href="@module">Schema.org Metatag</a> module is highly recommended to add <a href="@jsonld">JSON-LD</a> -formatted <a href="@schema">schema.org</a> compatible data structures to the site.', [
'@module' => 'https://www.drupal.org/project/schema_metatag',
'@jsonld' => 'https://json-ld.org',
'@schema' => 'https://schema.org',
......@@ -40,12 +42,24 @@ function metatag_requirements($phase) {
$requirements['metatag_schema'] = [
'severity' => REQUIREMENT_OK,
'title' => 'Metatag',
'value' => t('Schema.org Metatag is installed'),
'description' => t('The <a href="@module">Schema.org Metatag</a> module is installed.', [
'value' => new TranslatableMarkup('Schema.org Metatag is installed'),
'description' => new TranslatableMarkup('The <a href="@module">Schema.org Metatag</a> module is installed.', [
'@module' => 'https://www.drupal.org/project/schema_metatag',
]),
];
}
// Suggest the Token OR module.
if (!\Drupal::moduleHandler()->moduleExists('token_or')) {
$requirements['metatag_token_or'] = [
'severity' => REQUIREMENT_INFO,
'title' => 'Metatag',
'value' => new TranslatableMarkup('Token Or'),
'description' => new TranslatableMarkup('The <a href="@module">Token OR module</a> is suggested for when the basic content tokens are not flexible enough, e.g. to make a meta tag show the contents of one field if it is filled in or another if the first one is empty.', [
'@module' => 'https://www.drupal.org/project/token_or',
]),
];
}
}
return $requirements;
......@@ -63,12 +77,156 @@ function metatag_update_last_removed() {
*/
function metatag_update_8107() {
\Drupal::service('module_installer')->install(['metatag_open_graph']);
return (string) t("The new Metatag: Open Graph module has been enabled.");
return (string) new TranslatableMarkup("The new Metatag: Open Graph module has been enabled.");
}
/**
* Need to clear caches after updating from 8.x-1.12.
*/
function metatag_update_8108() {
return (string) t("The sites's caches will need to be rebuild to ensure Metatag works as intended.");
return (string) new TranslatableMarkup("The sites's caches will need to be rebuild to ensure Metatag works as intended.");
}
/**
* Update mask_icon values to the new structure.
*/
function metatag_update_8109(&$sandbox) {
// This whole top section only needs to be done the first time.
if (!isset($sandbox['records_processed'])) {
$sandbox['records_processed'] = 0;
$sandbox['total_records'] = 0;
$sandbox['current_field'] = 0;
$sandbox['current_record'] = 0;
// Counter to enumerate the fields so we can access them in the array
// by number rather than name.
$field_counter = 0;
// Get all of the field storage entities of type metatag.
/** @var \Drupal\field\FieldStorageConfigInterface[] $field_storage_configs */
$field_storage_configs = \Drupal::entityTypeManager()
->getStorage('field_storage_config')
->loadByProperties(['type' => 'metatag']);
foreach ($field_storage_configs as $field_storage) {
$field_name = $field_storage->getName();
// Get the individual fields (field instances) associated with bundles.
$fields = \Drupal::entityTypeManager()
->getStorage('field_config')
->loadByProperties([
'field_name' => $field_name,
'entity_type' => $field_storage->getTargetEntityTypeId(),
]);
foreach ($fields as $field) {
// Get the bundle this field is attached to.
$bundle = $field->getTargetBundle();
// Determine the table and "value" field names.
// @todo The class path to getTableMapping() seems to be invalid?
$table_mapping = Drupal::entityTypeManager()
->getStorage($field->getTargetEntityTypeId())
->getTableMapping();
$field_table = $table_mapping->getFieldTableName($field_name);
$field_value_field = $table_mapping->getFieldColumnName($field_storage, 'value');
// Get all records where the field data does not match the default.
$query = \Drupal::database()->select($field_table);
$query->addField($field_table, 'entity_id');
$query->addField($field_table, 'revision_id');
$query->addField($field_table, 'langcode');
$query->addField($field_table, $field_value_field);
$query->condition('bundle', $bundle, '=');
$result = $query->execute();
$records = $result->fetchAll();
if (empty($records)) {
continue;
}
// Fill in all the sandbox information so we can batch the individual
// record comparing and updating.
$sandbox['fields'][$field_counter]['field_table'] = $field_table;
$sandbox['fields'][$field_counter]['field_value_field'] = $field_value_field;
$sandbox['fields'][$field_counter]['records'] = $records;
$sandbox['total_records'] += count($sandbox['fields'][$field_counter]['records'] = $records);
$field_counter++;
}
}
}
if ($sandbox['total_records'] == 0) {
// No partially overridden fields so we can skip the whole batch process.
$sandbox['#finished'] = 1;
}
else {
// Begin the batch processing of individual field records.
$max_per_batch = 10;
$counter = 1;
$current_field = $sandbox['current_field'];
$current_field_records = $sandbox['fields'][$current_field]['records'];
$current_record = $sandbox['current_record'];
$field_table = $sandbox['fields'][$current_field]['field_table'];
$field_value_field = $sandbox['fields'][$current_field]['field_value_field'];
// Loop through the field(s) and update the mask_icon values if necessary.
while ($counter <= $max_per_batch && isset($current_field_records[$current_record])) {
$record = $current_field_records[$current_record];
// Strip any empty tags or ones matching the field's defaults and leave
// only the overridden tags in $new_tags.
$tags = unserialize($record->$field_value_field, ['allowed_classes' => FALSE]);
if (isset($tags['mask-icon'])) {
$tags['mask_icon'] = [
'href' => $tags['mask-icon'],
];
$tags_string = serialize($tags);
\Drupal::database()->update($field_table)
->fields([
$field_value_field => $tags_string,
])
->condition('entity_id', $record->entity_id)
->condition('revision_id', $record->revision_id)
->condition('langcode', $record->langcode)
->execute();
}
$counter++;
$current_record++;
}
// We ran out of records for the field so start the next batch out with the
// next field.
if (!isset($current_field_records[$current_record])) {
$current_field++;
$current_record = 0;
}
// We have finished all the fields. All done.
if (!isset($sandbox['fields'][$current_field])) {
$sandbox['records_processed'] += $counter - 1;
$sandbox['#finished'] = 1;
}
// Update the sandbox values to prepare for the next round.
else {
$sandbox['current_field'] = $current_field;
$sandbox['current_record'] = $current_record;
$sandbox['records_processed'] += $counter - 1;
$sandbox['#finished'] = $sandbox['records_processed'] / $sandbox['total_records'];
}
}
if ($sandbox['total_records'] > 0) {
return (string) t('Processed @processed of @total overridden Metatag records.', [
'@processed' => $sandbox['records_processed'],
'@total' => $sandbox['total_records'],
]);
}
else {
return (string) t("There were no overridden Metatag records.");
}
}
# Custom libraries for the Metatag module.
firehose_widget:
css:
theme:
css/firehose_widget.css: {}
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment